Bootstrap particle filter for Python

Welcome to the pypfilt documentation. This package implements a bootstrap particle filter that can be used for recursive Bayesian estimation and forecasting.

If there is a system or process that can be:

  • Described (modelled) with mathematical equations; and
  • Measured repeatedly in some (noisy) way.

Then you can use pypfilt to estimate the state (and parameters) of this system.


Example forecasts of the prey population \(x(t)\) and the predator population \(y(t)\), generated at different times and using noisy observations of both populations.

Depending on your preferred learning style, start with any of the following:

The Getting Started tutorial
Shows how to estimate the size of prey and predator species populations, and how to generate forecasts that predict the future sizes of these populations (see the example forecasts, above).
The Key Concepts guide

Introduces the various pypfilt components and how they fit together.


This guide is currently incomplete.

The How-to Guides

Demonstrates how to solve particular problems.


These guides are currently incomplete.

The API documentation
Presents the details of each pypfilt component and is likely only of interest if you need to develop your own components.


The code is distributed under the terms of the BSD 3-Clause license (see LICENSE), and the documentation is distributed under the terms of the Creative Commons BY-SA 4.0 license.