5 ms·
It looks very similar to Bayesian estimation. I wonder what is really the difference. Does any of you know, or have a link that explains it?
by superjan 8y ago
It looks very similar to Bayesian estimation. I wonder what is really the difference. Does any of you know, or have a link that explains it?
- tgb 8y agoYes it is a special case of Bayesian inference under the assumptions that the system is linear and that the priors and likelihoods are Gaussian.
- tgb 8y agoI should have added that there's a very good reason for making these assumptions: they let you represent the system with extremely little data! In general for a system with a continuous state space (like position) then to represent a general Bayesian prior you need to store one data point for each of the infinitely many possible states. Obviously this is impossible so you might instead discretize the space into a grid and store the probability that it is at each that point in the grid. (Think of an image where each pixel's brightness tells you how likely you are to be there - you can store any shape of probability distributions this way but it's of limited resolution). Same for the likelihood and posterior distribution - this uses a ton of memory and is slow and limits your resolution. Instead, if you assume that the priors are Gaussian, then you can store that information as just two numbers: the mean and the variance (or a matrix of numbers for higher dimensional state spaces). And Guassian's have the remarkable property that if you start with Gaussians and perform a Bayesian update, then you end up with a Gaussian that can also be represented with this same amount of data. Assuming that the system is linear means that you can also represent it's update from one time to the next as a matrix. Moreover, both of these approximations are pretty good for a large class of real-world problems. There are other sophisticated ways to get around the downsides of the general approach. Namely, there's particle filters which discretize your distributions by a sample of points, but unlike the grid discretization above, the points aren't at specific fixed locations. They're allowed to move around and are constantly being resampled from the distribution you have. This allows lots of the points to get very close together and accurately represent the most interesting (most likely) parts of the state space without wasting tons of memory on extremely unlikely points in the state space. It's very clever and fun to watch in practice!
- n3ur0n 8y agoThere is really no difference. You can frame the Kalman filter as a Bayesian posterior inference problem. For example, for a stationary linear Gaussian model, you have a transition model of the form: z_t = Az_{t-1} + Bu_t + e where e ~ Gaussian(0,Q) and an observation model of the form: x_t = Cz_{t} + Du_t + d, where, d ~ Gaussian (0,R) Since, z_t and x_t are both multivariate gaussians in this model, you can compute the posterior distribution on z_t's, which will also be a Gaussian. That is basically the Kalman filter. As the writeup mentions, you might choose a non-Gaussian noise model, in which case the posterior distribution is not a Gaussian and then you employ something like a unscented Kalman filter or extended Kalman filter.
- jvanderbot 8y agoIn the event of Gsussian noise, linear state transition and linear measurement, KF yields the exact posterior. Both unscented and extended refer to non-linear measurement or state transition equations. Neither are designed for non gaussian noise. Though the KF and it's variants are one of the simplest, well-performing estimation methods out there, so it wouldn't suprise me if it's used for everything, appropriate or not.
- jvanderbot 8y agoThat's exactly where it came from.
- Toenex 8y agoI wrote this [http://www.tina-vision.net/docs/memos/1996-002.pdf http://www.tina-vision.net/docs/memos/1996-002.pdf] many years ago which derives the Kalman filter from a state space perspective and then as chi-squared merit function. Certainly helped me as an engineer appreciate the statistical underpinnings.
- sidr 8y agoAs all the other replies have mentioned, it is the same thing if you assume linear dynamics and Gaussian noise in the KF. Besides non-linearity and non-Gaussianity, there are a few other extensions that make super useful - one is that you can add an external obervable/controllable control signal. Thinking of this as an "independent" variable that you can observe or manipulate to get your desired observed value of y. This will take you into the realm of control systems engineering. Also, it's trivial (computationally) to let the dynamics be a changing function of time (i.e. instead of the fixed matrix A, let it be A(t)) - this allows you to model some pretty sophisticated dynamical systems.