Skip to main content
1 of 2
Steffen
  • 51
  • 1
  • 3

Online estimation of coariance matrix

I am trying to dynamically estimate the (low-dimensional) covariance matrix ${\mathbb E}[{\bf x}_t{\bf x}_t^\top]$ of a stream of data points ${\bf x}_t\in{\mathbb R}^N$ online, without any memory. For the mean $\mu = {\mathbb E}[{\bf x}_t]$ this is comparably easy, the update equation is simply

$$\tau\Delta\mu = -\mu + {\bf x}_t$$

where $\tau$ is some time-constant over which I estimate the mean (it's a dynamic environment in which the mean changes slowly over time). Now I am wondering what the best and numerically stable way is to estimate the covariance matrix in a similar way? I came across

http://www.johndcook.com/standard_deviation.html

on how to estimate the variance online (though not a dynamic estimator) and maybe there is something similar for the full problem of covariance matrices.

Thanks!

Steffen
  • 51
  • 1
  • 3