Skip to content

AbstractMCMC/Turing integration #67

Description

@THargreaves

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:

  • Conditional-SMC: sample a trajectory conditioned on the current parameters θ, the observations, and a reference trajectory (this is called particle Gibbs in AdvancedPS)
  • Parameter update: sample new parameters θ, given the reference trajectory and observations

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions