A cloud that follows the state
A particle filter keeps the belief about the hidden state as a cloud of particles. Each particle is one possible value of the state, and it carries a weight that says how plausible it is. No bell curve is assumed, so the cloud can take any shape. Each day goes through the same cycle. Propagate: move every particle forward with the model's own random motion. Weight: give each particle a weight equal to the likelihood of today's observation given that particle. Estimate: the filtered mean is the weighted average of the particles. Resample: draw a fresh cloud in which good particles are copied and poor ones disappear.
This is called the bootstrap filter because the proposal is the simplest one: the model's own transition. That makes the weight of a particle exactly the likelihood. The recipe works for any model that you can simulate forward and whose observation likelihood you can evaluate, so it handles non-linear states, fat tails and hidden volatility, where the Kalman filter has no exact answer. The price is randomness. Two runs with different random numbers give slightly different answers, and the error shrinks like . In practice you fix the random seed so that a run can be reproduced.
- Four steps a day: propagate, weight, estimate, resample.
- Weight = likelihood: only the weighting step looks at today's observation.
- Any model you can simulate: it handles non-linear and non-Gaussian cases at the price of random error of order .
Lab · what's graded
- A particle's weight15 pts
- The filtered mean15 pts
- Likelihood of the observation15 pts
- After resampling10 pts
- Which step uses the data10 pts
- The daily cycle10 pts
- Match the vocabulary10 pts
- Why particles beat Kalman here15 pts