Kalman or Particle Filter¶
A recursive estimation method — instantiates Model-Guided Signal Separation
Recursively estimates a hidden state over time by combining a model of how the state evolves with each noisy measurement, carrying an explicit, updated uncertainty at every step.
A Kalman or Particle Filter separates the true trajectory of a hidden state from measurement noise as data arrives in time. It alternates two moves: predict — roll the state forward with a model of how it evolves — and update — correct that prediction with each new measurement, weighting the two by how much each is trusted. What makes it this mechanism and not its siblings is that the estimation is recursive and temporal, and that uncertainty is a first-class output: a covariance (Kalman) or a cloud of weighted samples (particle filter) travels alongside the estimate and is updated at every step. The particle filter is the same idea freed from the linear-Gaussian assumptions, at the cost of running many hypotheses at once.
Example¶
A vehicle's position is tracked by fusing a motion model — heading and speed predict where it will be a moment later — with noisy GPS fixes. On open road the two agree and the estimate is tight. When the car enters a tunnel and GPS drops out or degrades, the filter leans on the motion model and widens its uncertainty to reflect the loss; when a clean fix returns, it snaps the estimate back and tightens again. The output at every instant is not just a position but a position and a confidence ellipse, so a downstream controller knows not only where the car probably is but how much to trust that guess.
How it works¶
The predict step propagates both the state and its uncertainty through the dynamics model; the update step blends the prediction with the new measurement by a gain set from their relative variances — trust the measurement more when it is precise, the model more when it is not. The recursion needs only the previous estimate, so it runs online in constant memory. A particle filter carries the same logic for nonlinear or non-Gaussian systems by representing the posterior as a swarm of weighted samples. A telling diagnostic falls out for free: if the model is right, the sequence of innovations — measurement minus prediction — should be white.
Tuning parameters¶
- Process- vs. measurement-noise ratio (Q/R) — whether to trust the model or the data; too much trust in measurements makes the track jittery, too little makes it sluggish and biased.
- Dynamics-model fidelity — linear (Kalman) versus nonlinear (extended or unscented) versus sample-based (particle); richer models track harder motion but cost compute and can diverge if mis-specified.
- Particle count — for particle filters, more particles capture multimodal posteriors but cost linearly and still suffer sample depletion.
- Initialization — the starting state and covariance; an overconfident, wrong start can take many steps to recover from.
When it helps, and when it misleads¶
It is the right tool for streaming, online estimation where a decent dynamics model exists — it pulls the true trajectory out of noisy measurements in real time and reports how sure it is. It misleads when the noise covariances are wrong (the estimate becomes over- or under-confident, and can even diverge) or when the dynamics are unmodeled (the track lags or biases through maneuvers the model doesn't know about). The classic misuse is shrinking the measurement-noise term until the track hugs the data — which throws away the very model that was supposed to smooth it. The discipline is to set Q and R from the real noise rather than for a pretty track, and to check that the innovations are actually white.[1]
How it implements the components¶
observation_mixture_model— the measurement model mapping the hidden state to what the sensor reports.nuisance_and_noise_model— the process- and measurement-noise covariances (Q, R) that set how far to trust the model versus each measurement.uncertainty_model— its defining output: a recursively propagated posterior covariance, or particle spread, on every estimate.separation_operator_specification— the recursive predict–update rule (the gain) is the operator that separates state from noise.
It does not supply the underlying dynamics-and-measurement equations it runs on — those are a State-Space Model — and it holds no template of a target waveform, which is Matched Filtering's.
Related¶
- Instantiates: Model-Guided Signal Separation — the online, uncertainty-carrying separator.
- Consumes: State-Space Model — the state-evolution and measurement equations the filter estimates over.
- Sibling mechanisms: State-Space Model · Residual Leakage and Whiteness Check · Moving Average Smoother · Deconvolution and Inverse Filtering · Matched Filtering · Signal Injection–Recovery Test
Notes¶
The filter is the estimator, not the model. It consumes a State-Space Model — the state-evolution and measurement equations — and produces the running estimate from it. Keeping the two separate is what lets you swap estimators (plain Kalman, extended or unscented, or a particle filter) as the system turns nonlinear or non-Gaussian, without rewriting the model itself. The innovation-whiteness diagnostic it produces is exactly the input a Residual Leakage and Whiteness Check evaluates.
References¶
[1] For a correctly specified linear-Gaussian model the Kalman filter is the optimal (minimum-mean-square-error) estimator, and its innovation sequence — the running measurement-minus-prediction residuals — is white. A colored or biased innovation sequence is direct evidence the model or its noise covariances are wrong, which is why innovation whiteness is the filter's standard consistency check. ↩