-
Notifications
You must be signed in to change notification settings - Fork 141
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 Multi-model and Rao-Blackwellised versions of particle filter #719
Conversation
This is a squash and clean up of commits from pull request #271, adapted to work with changes on the `main` branch.
Codecov ReportBase: 94.66% // Head: 94.82% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #719 +/- ##
==========================================
+ Coverage 94.66% 94.82% +0.16%
==========================================
Files 171 168 -3
Lines 8773 8333 -440
Branches 1707 1241 -466
==========================================
- Hits 8305 7902 -403
+ Misses 342 319 -23
+ Partials 126 112 -14
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
This returns a new ParticleState, only containing relevant particles
This also modifies use of measurement model covariance to transition model covariance in Rao Blackwellised update step. New states for multi-model and Rao Blackwellised have also been created to enable capture of the overall state. Test has been improved for Rao Blackwellised to ensure behaviour is as expected, increasing probability for transition models that align with measurements. Custom resamplers for these filters have also been removed as standard one can now be used.
As both testing form of multi model test, the files have been combined, so they can share fixtures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've attempted implementing the Multi-model and Rao-Blackwellised particle filters in the following notebook:
https://gist.github.com/hpritchett-dstl/a42124667bb4fe10e734d5c57c6db3d8
These filters are a great addition to Stone Soup. I only ran into a couple problems (assuming i'm using it correctly!) when making the notebook. Those problems are at the bottom of the notebook, I will also mention them at the relevant points in this PR. 😃
Also improve documentation to explain usage better
This avoids use of Probability type which isn't designed for use in large array calculations.
This is a squash and clean up of commits from pull request #271, adapted to work with changes on the
main
branch.TODO:
from_state
method)Add example(to be done in separate PR)