Skip to content

Add option to change order of resampling and proposal steps for locally optimal proposal #242

@matt-graham

Description

@matt-graham

Something I've been meaning to follow up on for a while but keep forgetting to document: currently we always resample particles using importance weights after sampling new values from proposal distributions, given particles from previous time step. For the locally optimal proposal the particle weights do not depend on the newly sampled particle values only the previous particle values. We can therefore compute the importance weights before we sample the proposals. Further we can actually perform the resampling step before sampling the new proposals while still maintaining the validity of the algorithm in terms of consistency of the filtering estimates - the algorithm then corresponds to a fully adapted auxiliary particle filter (originally introduced in this article). Resampling before proposing values will always reduce the variance of the filtering estimates (see for example this article) - intuitively while resampling after proposals may result in an ensemble with duplicates of some particles, resampling before proposals ensures (providing proposal distributions are non-atomic) all particles in ensemble will be unique. We also avoid sampling proposals which we will then straight away discard in the resampling step.

Implementationally this would require decoupling the proposal sampling and weight computation operations currently performed in sample_proposal_and_compute_log_weights which would be involve changing the documented interface for defining a filter but shouldn't require changes on the model definition side.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions