Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate SSMProblems & GeneralisedFilters with Turing.jl #2428

Open
Tracked by #2420
mhauru opened this issue Dec 5, 2024 · 1 comment
Open
Tracked by #2420

Integrate SSMProblems & GeneralisedFilters with Turing.jl #2428

mhauru opened this issue Dec 5, 2024 · 1 comment
Assignees
Labels
Milestone

Comments

@mhauru
Copy link
Member

mhauru commented Dec 5, 2024

SSMProblems.jl establishes interfaces to define and represent state-space models. By limiting the classes of models that can be represented, SSMProblems.jl provides more specific interface and has the potential to be more computationally efficient.

State-space models are probabilistic models, and major classes of them can be seen as distributions that can be both sampled and scored. Through this lens, we can integrate SSMProblems models through the same interface DynamicPPL.jl currently uses to support "submodels".

to_samplable is implemented in TuringLang/DynamicPPL.jl#696, while to_distribution is tracked at TuringLang/DynamicPPL.jl#802. (Please refer to the comment below for more idea of using these interfaces).

@mhauru mhauru added this to the Turing v1.0.0 milestone Dec 5, 2024
@yebai
Copy link
Member

yebai commented Dec 9, 2024

We can likely use to_distribution(m::SSMProblem) to support linear Gaussian state-space models. For more general SSMs, we can look into to_sampleable(m::SSMProblem), which samples the latent states using a sampler in GeneralisedFilters—which can be viewed as a "submodel" but has its inference outsourced to GenerasedFilters instead of relying on MCMC on the tracing data structure VarInfo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants