5 ms·
The part of Kalman filtering that's always frustrated me is everyone loves to roll up their sleeves and show the fancy theory, but nobody ever seems interested
by dataflow 5y ago
The part of Kalman filtering that's always frustrated me is everyone loves to roll up their sleeves and show the fancy theory, but nobody ever seems interested in the practical aspects of how to implement it - in particular, how to come up with good covariance matrices in the first place, especially for a dynamical system where the covariance might change significantly over time. It's not easy [1] and tutorials seem to provide very little if any guidance on how to do it properly for something more complicated than a chicken crossing a road. You can't run the algorithm if you don't know what inputs to give it!
[1] https://en.wikipedia.org/wiki/Kalman_filter#Estimation_of_the_noise_covariances_Qk_and_Rk https://en.wikipedia.org/wiki/Kalman_filter#Estimation_of_th...
- plafl 5y agoWhen in doubt, increase the covariance. Add some terms to the diagonal. It remembers me a little of deep learning: just stack some layers. Except it's not just that easy.
- ianai 5y agoBut of course that’s not doing science.
- moffkalast 5y agoIn deep learning it's usually hard enough to get past the installation of the 2 billion dependencies that one needs to run anything before you realize you don't have enough vram anyhow.
- pjbk 5y agoThat is why, even in systems where it seems straightforward how to choose the system variables, it is important to do a system identification analysis before committing to any form of Kalman processing. It provides performance and stability assurances, and is what separates the amateurs from the pros.
- fwdpropaganda 5y ago
- ckrapu 5y agoThe heuristic I learned in a Bayesian filtering class is to use a diagonal matrix and inflate the prior predictive variance by a small amount each iteration (1-5%) so that the data can easily tamp it down if there’s any kind of signal. The problem then becomes model selection over those inflation factors.
- roeles 5y agoI've tried to frame it in terms of standard Propagation of Uncertainty rules. This ignores any correlated errors between inputs, but it makes it easier to understand. Things clicked fairly fast for me when I tried this. It's just a weighted average between a prediction (which you can do easily using the error-propagation rules) and a new measurement.