pyfilter
is a package designed for joint parameter and state inference in (mainly) non-linear state space models using
Sequential Monte Carlo and variational inference. It is similar to pomp
, but implemented in Python
leveraging
pytorch
. The interface is heavily inspired by pymc3
.
Install the package by typing the following in a git shell
or similar
pip install git+https://github.com/tingiskhan/pyfilter.git
Below is a list of implemented algorithms/filters.
The currently implemented filters are
- SISR
- APF
- UKF
For filters 1. and 2. there exist different proposals, s.a.
- Optimal proposal when observations are linear combinations of states, and normally distributed.
- Locally linearized observation density, mainly used for models having log-concave observation density.
- Unscented proposal of van der Merwe et al.
The currently implemented algorithms are
- NESS
- SMC2 (see here for one of the original authors' implementation)
- A preliminary version of Iterated Filter (IF2) by Ionides et al.
- Variational Bayes - currently only
MeanField
is implemented
Please note that this is a project I work on in my spare time, as such there might be errors in the implementations and sub-optimal performance. You are more than welcome to report bugs should you try out the library.