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

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

Open
matt-graham opened this issue May 19, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@matt-graham
Copy link
Member

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.

@matt-graham matt-graham added the enhancement New feature or request label May 19, 2023
@matt-graham matt-graham self-assigned this May 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant