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.
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.
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 documentation
- Presents the details of each pypfilt component and is likely only of interest if you need to develop your own components.
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.
- Home
- 1. Installation
- 2. Getting Started
- 3. Key Concepts
- 3.1. Scenario definitions
- 3.2. Simulation models
- 3.3. Prior distributions
- 3.4. Observations
- 3.5. Observation models
- 3.6. Particle filter
- 3.7. Particle filter events
- 3.8. Time scales
- 3.9. Lookup (input) tables
- 3.10. Summary (output) tables
- 3.11. Summary monitors
- 3.12. Particle filter settings
- 3.13. Other simulation settings
- 3.14. Simulation contexts
- 3.15. Generating reproducible results
- 3.16. Plotting
- 3.17. HDF5
- 4. How-to Guides
- 4.1. Creating your own model
- 4.2. Creating your own observation model
- 4.3. Defining prior distributions
- 4.4. Reading prior samples from external data files
- 4.5. Provide models with lookup tables
- 4.6. Provide observation models with lookup tables
- 4.7. Using lookup tables in your own models
- 4.8. Using lookup tables in your own observation models
- 4.9. Defining and using parameters
- 4.10. Particle filter: resampling
- 4.11. Particle filter: post-regularisation
- 4.12. Creating summary tables
- 4.13. Creating summary monitors
- 4.14. Load summary tables as Pandas data frames
- 4.15. Implement a continuous-time Markov chain (CTMC) model
- 4.16. Implement a discrete-time Markov chain (CTMC) model
- 4.17. Implement an ordinary differential equation (ODE) model
- 4.18. Implement a stochastic differential equation (SDE) model
- 4.19. Implement an observation model that relies on past state
- 4.20. Record only a subset of simulation model time-steps
- 5. Scenario Settings
- 6. API documentation
- 6.1. pypfilt
- 6.2. pypfilt.scenario
- 6.3. pypfilt.model
- 6.4. pypfilt.obs
- 6.5. pypfilt.time
- 6.6. pypfilt.summary
- 6.7. pypfilt.plot
- 6.8. pypfilt.io
- 6.9. pypfilt.crps
- 6.10. pypfilt.examples
- 6.11. pypfilt.build
- 6.12. pypfilt.cache
- 6.13. pypfilt.pfilter
- 6.14. pypfilt.resample
- 6.15. pypfilt.sampler
- 6.16. pypfilt.state
- 6.17. pypfilt.stats
- Contributing to pypfilt
- Testing with tox
- Release process
- Unicode and byte strings
- Editable installs
- Change Log
- 0.7.1 (2022-05-26)
- 0.7.0 (2022-04-20)
- 0.6.1 (2022-01-05)
- 0.6.0 (2020-08-12)
- 0.5.5 (2019-11-25)
- 0.5.4 (2017-10-26)
- 0.5.3 (2017-10-26)
- 0.5.2 (2017-05-05)
- 0.5.1 (2017-04-28)
- 0.5.0 (2017-04-26)
- 0.4.3 (2016-09-16)
- 0.4.2 (2016-06-16)
- 0.4.1 (2016-04-26)
- 0.4.0 (2016-04-22)
- 0.3.0 (2016-02-23)
- 0.2.0 (2015-11-16)
- 0.1.2 (2015-06-08)
- 0.1.1 (2015-06-01)
- 0.1.0 (2015-05-29)