Particle Filter
Last updated
Last updated
Particle filter is a non-parametric filter. The main idea is to use "particles" to represent the distribution. The algorithm involves sampling data from a given distribution. To some extent, we can view it as a mini simulation.
Before presenting the pseudo code, let's first see an example. Suppose we have a state graph where a node represents a state and an edge represents the station transition. Each edge has a weight which corresponds to the probability of the transition from the source state to the destination state.
For example, the first state is the start state, there is a 80% chance it will go to the A1 state and another 20% chance to the A2 state. Now, the question is how we can figure our the distribution of states in the third level (i.e. B1, ..., B5). If the transition graph is simple, we may be able to manually calculate the distribution of states. As things are often complicated in real world, it can be challenging to come with the closed-form of the distribution. An alternative is to simulate the state transition. At a given state, we generate a sample of next state according to the transition probability. We repeat this process until we have sufficient data to approximate the real distribution.