Skip to content

Particle filtering and sequential parameter inference in Python

License

Notifications You must be signed in to change notification settings

HaoWen470/pyfilter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyfilter

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.

Installation

Install the package by typing the following in a git shell or similar

pip install git+https://github.com/tingiskhan/pyfilter.git

Implementations

Below is a list of implemented algorithms/filters.

Filters

The currently implemented filters are

  1. SISR
  2. APF
  3. UKF

For filters 1. and 2. there exist different proposals, s.a.

  1. Optimal proposal when observations are linear combinations of states, and normally distributed.
  2. Locally linearized observation density, mainly used for models having log-concave observation density.
  3. Unscented proposal of van der Merwe et al.

Algorithms

The currently implemented algorithms are

  1. NESS
  2. SMC2 (see here for one of the original authors' implementation)
  3. Variational Bayes
  4. SMC2FW
  5. PMMH

Caveats

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.

About

Particle filtering and sequential parameter inference in Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%