dstl / Stone-Soup

A software project to provide the target tracking community with a framework for the development and testing of tracking algorithms.
https://stonesoup.rtfd.io
MIT License
406 stars 134 forks source link

Implementation of Non-Gaussian transition models #1043

Open zhenyuen opened 3 months ago

zhenyuen commented 3 months ago

@hpritchett-dstl

Still W.I.P.

Features:

  1. Introduce a new family of transition models that generalise transition models driven by white noise to the Levy process.
  2. Provides support for normal sigma-mean and normal variance-mean mixture processes.
  3. Users can inject the desired driving processes into the selected transition model
  4. Introduce marginalised particle filtering for inferencing the newly-introduced class of models.

Things to do:

  1. Update tutorial notebook for the new class of models and marginalised particle filter
  2. Writing unit tests, still figuring out how to test every possible combination of the driving process and transition model pair without bloat, suggestions are welcome.
  3. Implementation of PDF and log PDF functions, certain Levy distributions have non-trivial PDFs/CDFs, currently looking into inverse FFT methods involving characteristic functions.
  4. Provide support for more models, e.g. Singer

Additional comments:

I believe the current design is a good compromise between speed and compatibility with the existing stone soup framework to avoid introducing any breaking changes. The newly introduced models decouple the deterministic (transition model) and non-deterministic (noise driver) components. That being said, suggestions are welcome and highly appreciated.