5 ms·
Maybe it's just because I'm not the target audience for this paper, but I'm finding this very tough going. I'm a PhD student in a mathematical field (operations
by Tarrosion 10y ago
Maybe it's just because I'm not the target audience for this paper, but I'm finding this very tough going. I'm a PhD student in a mathematical field (operations research) but have only the faintest idea about Kalman filters - something about updating beliefs based on noisy measurements in a way that feels intuitively similar to Bayes' Rule. I'm not a tutor intending to teach Kalman filters to anyone in the near future, fair, but I should have the mathematical background to get through this. Not sure why it feels like a slog. Maybe it's because the measurement and prediction and update equations appear before any intuition about what a Kalman filter is, what the stages of the algorithm are, etc.?
Edit: all the way through now. Certainly this would be much more useful as an intro to Kalman filters (rather than an introduction to introducing Kalman filters) had some intuition been given.
- jtolmar 10y agoHere's the intuitive explanation I usually use. Sequential Bayesian Filtering is how you apply repeated evidence to a moving target. There are three steps: 1. Predict: Using some Markov process, move your prior distribution forward in time so it's compatible with your new evidence. (Intuitively, everything becomes less certain as it's free to move around. Mathematically, doing this with continuous probabilities tends to mean an incredibly gross integral.) 2. Update: Using Bayes' Rule, update your probabilities with the new evidence. (Intuitively, this bunches the distribution back up. If the predict/update don't vary in time/quality, this tends to asymptotically reach some sort of balance. Mathematically, this tends to also be gross.) 3. Notreallyastep: Recycle your results as the priors in step 1 next time. (Note this means your result needs to be in the same format as your old priors if you don't want to re-solve all the math every update.) If you get around the gross math by doing everything in finite space and brute forcing it (integrals become summations), you get a hidden Markov model. If you get around the gross math by dingo a Monte-Carlo approximation, you get a particle filter. If you assume your priors are normal, your evidence is normal, and your update function fits in a matrix multiplication, then you're in luck: all of the math works out so your result is also normal. That's a Kalman Filter.
- goodbyegti 10y agoFurther to this, here's a very simple application of a Kalman filter which plots a graph (in Python): https://github.com/dougszumski/KalmanFilter https://github.com/dougszumski/KalmanFilter
- Tarrosion 10y agoThanks! That makes a ton of sense, and is actually more useful to me than the parent article.
- chombier 10y agoI suggest you start with a recursive least squares filter first, which is fully deterministic and quite easy to derive if you are comfortable with Euclidean geometry. The Kalman filter basically just adds process covariance on top of that, so in a sense it is a "fuzzy" least-squares estimator.
- seesomesense 10y ago"Maybe it's just because I'm not the target audience for this paper, but I'm finding this very tough going." The paper consists of lecture notes for 2nd year computer science undergraduates at Cambridge.