Particle filters for Python#
Welcome to the pypfilt documentation. This package implements several particle filter methods 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/or parameters of this system, and generate probabilistic forecasts.
This package also supports other workflows for simulation models, such as scenario modelling.
Contents#
Depending on your preferred learning style, start with any of the following:
- The Getting Started tutorial
Shows how to build a simulation model, generate simulated observations from this model, fit the model to these observations, and generate the example forecasts, above.
- The Key Concepts guide
Introduces the various pypfilt components and how they fit together.
Note
This guide is currently incomplete.
- The How-to Guides
Demonstrates how to solve particular problems.
Note
These guides are currently incomplete.
- The Scenario Settings guide
Explains the settings that can be defined in a scenario file.
- The API
Presents the details of each pypfilt component and is likely only of interest if you need to develop your own components.
- The Development guide
Explains how pypfilt is developed and how to contribute to this project.
License#
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.
Citation#
If you use pypfilt
, please cite our JOSS article and an archived release of the software (see CITATION.cff
).
@article{pypfilt,
author = {Moss, Robert},
title = {pypfilt: a particle filter for {Python}},
journal = {Journal of Open Source Software},
volume = {9},
issue = {96},
pages = {6276},
year = {2024},
doi = {10.21105/joss.06276},
note = {Please cite this article and an archived release (see CITATION.cff)},
}