Solved – “Monte Carlo Kalman Filter” vs Unscented Kalman Filter

kalman filtermonte carlo

Recently, I have come across references to the Monte Carlo Kalman Filter (MCKF), which is a variant of the Sigma-Point Kalman Filter (SPKF). The key difference between the MCKF and the remainder of the SPKFs is that the sigma points are selected randomly rather than deterministically as is the case with the Unscented Kalman Filter and various other members of the family.

That is, for the SPKF, the propagated sigma points are selected via:

$ \mathbf{x}^{(i)}_k = \hat{\mathbf{x}}_k + w_k \mathbf{S}^{(i)}_k$

where $\mathbf{S}^{(i)}_k$ is the $i$-th column of the state covariance cholesky factor, $w_k$ is a weight (dependant on the specific SPKF algorithm) and $\hat{\mathbf{x}}_k$ is the mean.

The MCKF, on the other hand, has its sigma points drawn from:

$\mathbf{x}^{(i)}_k \sim N\left(\hat{\mathbf{x}}_k; \mathbf{P}_k\right)$

The number of sigma-points is user selectable.

Since the MCKF shares the Guassian assumption, the remainder of the algorithms are practially identical (see Wikipedia). So, it's sort of a halfway house between the SPKFs and Particle Filters.

So, my questions are:

  • Has anyone seen the MCKF variant in practice (or academia)?
  • Are there many papers around tracking its theoretical properties or application performance? Google Scholar is suprisingly unhelpful.
  • When would one use the MCKF over the UKF/DDF/… ?
  • (Of most interest) How many samples would one expect to need to be "performance equivalent" with the standard UKF (which has $2N_x$ sigma-points)? How does this scale with increasing $N_x$?

Best Answer

I would recommend looking at this paper: Hommels A, Murakami A, Nishimura SI. A comparison of the ensemble Kalman filter with the unscented Kalman filter: application to the construction of a road embankment. Geotechniek. 2009;13(1):52.

I believe the authors of the above paper conclude that MCKF or EnKF is better than UKF in terms of accuracy and takes the same computational time.

Edit: I agree with the people who have commented below that the performance is dependent on the process and measurement models used. In fact there is another paper for a different application that says UKF is better than MCKF: T. Kodama and K. Kogiso, "Applications of UKF and EnKF to estimation of contraction ratio of McKibben pneumatic artificial muscles," 2017 American Control Conference (ACC), Seattle, WA, 2017, pp. 5217-5222. doi: 10.23919/ACC.2017.7963765

Based on my understanding, I feel that the biggest difference between the methods is UKF weighs the samples, which MCKF (or EnKF) provides equal weight to all the samples. On the other hand, the UKF has parameters to tune that are not intuitive such as choosing the sigma value. And based on personal experience, those parameters do affect the results quite a bit. MCKF does not have such issues, but the need to work with several samples means more computational time (unless you have the luxury to use parallelization of course). As a rule of thumb, I usually go to MCKF first and if the results are good, I then spend time tuning UKF to match or improve the results and receive faster computation in return.

Related Question