6
$\begingroup$

I am new to the subject of Kalman filtering and therefore my question might seem trivial.

I see that there is a tight connection between Kalman filter and EM algorithm when one wants to predict the next state of a given signal. My question is what is the connection and how we can combine them in the prediction process?

Thanks

$\endgroup$
3

3 Answers 3

3
$\begingroup$

EM-algorithm jointly estimates the state space model parameters as well as state estimates. The E-step is a Kalman filter, which uses the current estimates to predict the new states. The M-step uses this result in an MLE procedure to obtain the parameter estimates.

I would suggest that you read the following paper, which explains a generative model, from which all of the tools such as HMM, Kalman Filter, VQ and etc. are derived:

Read Roweis, Ghahramani, "A Unifying Review of Linear Gaussian Models", Neural Computation, Vol. 11, No. 2, 1999.

$\endgroup$
2
$\begingroup$

What I understand is that EM algorithm used in Kalman filter is for parameter estimation. When we use Kalman filter, we need to provide some parameters, such as the co-variance of system noise and measurement noise, as well as the error co-variance. However, it is time consuming to tune all of these parameters. Therefore, we use EM algorithm to estimate these parameters from the observation data.

However, EM algorithm has a drawback. It only gives suboptimal solution. In other words, the parameters estimated by EM algorithm are only local minimum/maximum, rather than global minimum/maximum. Therefore, further turning may be needed.

$\endgroup$
1
$\begingroup$

The EM algorithm is used to solve iteratively a maximum likelihood (or MAP) estimation problem. The unknown quantities you want to estimate could be e.g. the model parameters in a state space model, i.e. (A,B,C,D) or any subset of it. Otherwise you could also estimate noise variances (e.g. state or measurement noise). The EM is an iterative algorithm, in the expectation step you marginalize out the hidden variables, namely the states, via Kalman filtering (or smoothing) and then you maximize to update the values of the unknown parameters. Then follows a new run of the Kalman filter, up until convergence.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.