TuringLang / SSMProblems.jl

Common abstractions for state-space models
http://turinglang.org/SSMProblems.jl/
MIT License
2 stars 2 forks source link

AbstractMCMC/Turing integration #51

Open THargreaves opened 1 month ago

THargreaves commented 1 month ago

I wanted to open this issue to have a place to discuss the ways in which SSMProblems must be designed to integrate effectively with AbstractMCMC/Turing.

A few notes on the PMCMC side of things:

PMMH

For PMMH the only requirement is that our filtering algorithm returns an unbiased estimate of the marginal likelihood.

PMMH is also commonly used to jointly infer parameters and trajectories in which case it makes sense for the filtering algorithm to also return a sampled trajectory along with the likelihood.

We could use the AbstractMCMC interface here, but it seems a bit strange since each sample is independent of the last.

PG

The terminology for particle Gibbs is a bit inconsistent between publications. I think the terminology that is most convenient for us is that the particle Gibbs algorithm is split up into too alternating steps:

The parameter update step is fiddly. Sometimes there is a closed form, often one uses MH within Gibbs. Chopin's particles here, let's the user define an update_theta function to do this.

It makes sense to use AbstractMCMC for the C-SMC samples since these form a Markov chain

yebai commented 1 month ago

We are adding (abstract) Gibbs sampling to AbstractMCMC, so we might be able to use it for both the C-SMC step and the update_theta step.

cc @sunxd3 @torfjelde