What is Particle Filter?

A Particle Filter is a Sequential Monte Carlo algorithm that approximates the filtering distribution of a state-space model with weighted particles updated as each observation arrives.

Quick Facts

SpecificationOfficial Specification

How It Works

Propagate and weight under a state-space model

For transition density p(x_t | x_t-1) and observation density p(y_t | x_t), the bootstrap Particle Filter samples each new particle from the transition and multiplies its previous weight by the observation likelihood. More general proposals require the correction p(y_t | x_t) p(x_t | x_t-1) / q(x_t | x_t-1, y_t); omitting it changes the target.

Gordon, Salmond, and Smith's bootstrap-filter paper established the resampling formulation for nonlinear and non-Gaussian tracking. Initial-state, transition, observation, and proposal distributions must all match the model being evaluated.

Resample when normalized weights collapse

Normalize log weights with log-sum-exp, then monitor ESS_w = 1 / sum(w_i^2). Multinomial, stratified, residual, and systematic resampling are different unbiased schemes with different variance and implementation details. Resampling at every step is simple; resampling below a declared ESS threshold can preserve diversity when weights remain balanced.

Resampling does not create information. It duplicates high-weight particles and removes low-weight ones, so repeated resampling causes ancestral paths to coalesce. Roughening, better proposals, auxiliary filters, rejuvenation moves, or more particles may help, but each changes cost and sometimes the algorithmic target.

Separate filtering accuracy from smoothing claims

The filtering distribution conditions on observations through the current time; smoothing conditions on later observations too and requires stored ancestry or a dedicated backward method. A visually plausible trajectory is not evidence that either distribution is accurate.

Report particle count, proposal, resampling method and threshold, weight ESS over time, unique ancestors, repeated-seed variability, runtime, and predictive calibration. On a linear Gaussian model, compare filtered means and variances with a Kalman Filter. For likelihood estimation, also monitor variance of the estimated log likelihood because it directly affects Particle MCMC efficiency.

Key Characteristics

  • Represents a time-indexed filtering distribution with weighted particles
  • Propagates particles through a state transition or corrected proposal
  • Updates weights using each newly observed likelihood contribution
  • Uses resampling to control weight degeneracy
  • Supports nonlinear and non-Gaussian state-space models
  • Suffers ancestral collapse and dimensionality-related particle demand

Common Use Cases

  1. Online tracking of nonlinear dynamic systems
  2. Bayesian filtering for sensor-fusion pipelines
  3. Latent-state inference in non-Gaussian time series
  4. Likelihood estimation inside Particle MCMC
  5. Sequential prediction with streaming observations

Example

loading...
Loading code...

Frequently Asked Questions

What problem does a Particle Filter solve?

It approximates the distribution of a hidden state given observations available up to the current time. This online filtering problem differs from forecasting future states and smoothing past states with future observations.

When should a Particle Filter resample?

A common policy resamples when normalized-weight ESS falls below a documented fraction of the particle count. Always-resample is simpler but can accelerate ancestry loss when weights are already balanced.

How many particles does a Particle Filter need?

There is no universal count. Required particles depend on state dimension, observation informativeness, proposal quality, time horizon, and error tolerance. Increase counts across repeated seeds and check whether relevant estimates stabilize.

Is a Particle Filter the same as a Kalman Filter?

No. A Kalman Filter is exact for a specified linear Gaussian state-space model, while a Particle Filter uses Monte Carlo samples and can handle broader models. The Kalman result is a useful implementation check in the shared special case.

Does resampling remove particle degeneracy?

It reduces immediate weight degeneracy but introduces duplication and ancestral degeneracy. Long-horizon smoothing may still retain very few distinct ancestors, requiring dedicated smoothers, rejuvenation, or different proposals.

Related Terms

Related Articles