# rlabbe/filterpy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rlabbe-filterpy).**

3,772 stars · 671 forks · Python · mit

## Links

- GitHub: https://github.com/rlabbe/filterpy
- awesome-repositories: https://awesome-repositories.com/repository/rlabbe-filterpy.md

## Description

filterpy is a toolkit for Bayesian state estimation, Gaussian statistical analysis, and time-series noise reduction. It provides a library of linear and non-linear Kalman filters, as well as routines for non-Gaussian state estimation and signal smoothing.

The project implements a variety of estimation methods, including particle filtering using Markov Chain Monte Carlo and resampling, and discrete Bayes filtering. It also includes a suite of algorithms for refining historical state estimates through backward and fixed-lag smoothing.

Additional capabilities cover multivariate Gaussian analysis using Mahalanobis distance and covariance ellipses, as well as system modeling utilities for generating noise matrices and discretizing differential equations.

## Tags

### Scientific & Mathematical Computing

- [Recursive Bayesian Updates](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/probability-distributions/recursive-bayesian-updates.md) — Implements the recursive prediction and update cycle fundamental to Bayesian state estimation.
- [Dynamic System Modeling](https://awesome-repositories.com/f/scientific-mathematical-computing/dynamic-system-modeling.md) — Merges noisy measurements with mathematical evolution models to track the state of dynamic systems. ([source](http://filterpy.readthedocs.org/_sources/index.rst.txt))
- [Hidden State Estimation](https://awesome-repositories.com/f/scientific-mathematical-computing/hidden-state-estimation.md) — Implements Bayesian methods to estimate the internal states of dynamic systems using behavioral models and noisy data. ([source](http://filterpy.readthedocs.org/genindex.html))
- [Non-Gaussian State Estimation](https://awesome-repositories.com/f/scientific-mathematical-computing/non-gaussian-state-estimation.md) — Implements routines using Markov Chain Monte Carlo and resampling to estimate states in non-Gaussian environments.
- [Non-Linear State Estimation](https://awesome-repositories.com/f/scientific-mathematical-computing/non-linear-state-estimation.md) — Tracks systems with non-linear dynamics using particle filters and Markov Chain Monte Carlo methods.
- [Particle Filter Sampling](https://awesome-repositories.com/f/scientific-mathematical-computing/particle-filter-sampling.md) — Implements particle filtering using discrete samples and resampling to handle non-Gaussian state distributions.
- [State Covariance Modeling](https://awesome-repositories.com/f/scientific-mathematical-computing/state-covariance-modeling.md) — Uses linear algebra and covariance matrices to track the mean and uncertainty of a system state over time.
- [Fixed-Lag Smoothing Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/fixed-lag-smoothing-algorithms.md) — Implements fixed-lag smoothing to refine historical state estimates using a window of future data.
- [Least Squares Estimators](https://awesome-repositories.com/f/scientific-mathematical-computing/hidden-state-estimation/least-squares-estimators.md) — The project derives the most probable state of a system using least squares and fading memory filters. ([source](https://cdn.jsdelivr.net/gh/rlabbe/filterpy@master/README.md))
- [Dynamic System Simulators](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/scientific-computing-and-simulation/dynamic-system-simulators.md) — Generates noise matrices and simulates uncertainty within physical systems for algorithm validation.
- [Statistical Analysis Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/statistical-analysis-libraries.md) — Provides a framework for Gaussian analysis using Mahalanobis distance, log-likelihood, and covariance ellipses.
- [Likelihood Evaluation](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/statistical-estimation/maximum-likelihood-estimators/likelihood-evaluation.md) — Evaluates the quality of state estimates by calculating the log-likelihood of observed measurements.
- [Time Series Signal Smoothing](https://awesome-repositories.com/f/scientific-mathematical-computing/time-series-signal-smoothing.md) — Reduces noise in sensor data using backward smoothing and fading memory filters to refine state estimates.
- [Time Series Smoothing](https://awesome-repositories.com/f/scientific-mathematical-computing/time-series-smoothing.md) — Refines previous state estimates through fixed-lag and backward smoothing techniques. ([source](http://filterpy.readthedocs.org/))
- [Time Series Smoothing Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/time-series-smoothing-libraries.md) — Ships a suite of algorithms for noise reduction via fixed-lag and backward smoothing.

### Software Engineering & Architecture

- [Kalman Filter Implementations](https://awesome-repositories.com/f/software-engineering-architecture/kalman-filter-localization/kalman-filter-implementations.md) — Provides a comprehensive library of linear and non-linear Kalman filter implementations for dynamic system state estimation. ([source](https://cdn.jsdelivr.net/gh/rlabbe/filterpy@master/README.md))
- [Particle Filtering](https://awesome-repositories.com/f/software-engineering-architecture/particle-filtering.md) — Estimates states in non-Gaussian environments using Markov Chain Monte Carlo routines and resampling. ([source](http://filterpy.readthedocs.org/))

### Hardware & IoT

- [State Estimation Libraries](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/state-estimation-libraries.md) — Computes probability distributions of system states using discrete Bayes and generalized filters. ([source](https://cdn.jsdelivr.net/gh/rlabbe/filterpy@master/README.md))
- [Probabilistic Estimation Toolkits](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/state-estimation-libraries/probabilistic-estimation-toolkits.md) — Provides a toolkit for calculating probability distributions and hidden states using discrete Bayes and generalized filters.
- [Sensor Noise Filtering](https://awesome-repositories.com/f/hardware-iot/sensor-noise-filtering.md) — Implements generalized structures for reducing noise and providing critical damping in raw sensor signals. ([source](http://filterpy.readthedocs.org/))

### Artificial Intelligence & ML

- [Discrete Bayes Filtering](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/architectures/sequence-models/selective-state-space-models/discrete-state-space-models/discrete-bayes-filtering.md) — Calculates probability distributions over a discrete set of states to identify the most likely current state. ([source](http://filterpy.readthedocs.org/))
- [Taylor Series Approximations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/machine-learning-concepts/training-and-optimization/approximate-training-methods/quadratic-function-approximations/taylor-series-approximations.md) — Approximates non-linear system dynamics using Taylor series expansions to maintain Gaussian state distributions.
