statisticsiterationeigenvalue

Eigenvalue update for small change in data


I am working on a problem which requires computing the eigenvalues of the sample covariance matrix.

The issue is that the data changes as time goes on (hence the sample covariance matrix) and eigenvalues need to be recomputed. Because computation of eigenvalues are costly we want to see if there are any ways to update existing estimate. (change in data is assumed to be small)


Solution

  • It depends on how your data change. If you have rank one (or small rank) updates of your sample covariance matrix, for example if you observe a new data point, you should have a look at the paper rank-one modification of the symmetric eigenproblem, by J. Bunch, C. Nielsen and D. Sorensen.1

    If your updates have small norm but are full rank, there is no known algorithm to update the eigen decomposition (as far as I know). But you can approximate the solution of the new eigen problem: eigenvalue perturbation.

    1Bunch, J.R., Nielsen, C.P. & Sorensen, D.C. Rank-one modification of the symmetric eigenproblem. Numer. Math. 31, 31–48 (1978). DOI:10.1007/BF01396012, eudml, ZBL0369.65007