Hi everyone!

This is my first post here, so i hope I'm doing every thing fine. This question is about linear algebra with some relation to statistical methods.

First some background on what I'm trying to do:

I'm currently working on time-series analysis and using SSA (Singular Spectrum Analysis, see more here) as one of my tools. For those familiar with PCA (Principal Components Analysis), SSA is almost the same, but instead of using a input matrix $\displaystyle X$ where each column $\displaystyle X_{i}$ represents a different category o variable, and each row $\displaystyle X_{j}$ represents a different observation of each variable, in SSA the matrix $\displaystyle X$ is made of lagged shift copies from a time-series $\displaystyle Y_{t}$, and applying the SVD decomposition to that trajectory matrix gives us $\displaystyle X=U \cdot S \cdot V'$. Where U and V are the eigenvectors of X, and S is a diagonal matrix with the singular values of X.

Now that I've said some background info on what I'm doing, let's go to the problem itself.

This method is really good for analyzing the structure of historical time-series, but it's not that useful when working on real-time time-series, where the last value is continuously updated.

What I'm trying to figure out, is there a way to update the eigenvectors contained in the V and U matrices,actually recalculating the whole SVD procedure on the X matrix each time a new value is added?without

The application of this analysis, as mentioned before, is real-time, so I'll be willing to accept some flexibility on the quality of these updates (for example, the orthogonality between the eigenvectors could be sacrificed) in exchange for some more performance oriented methods.

Please don't misunderstand me, I'm not a lazy poster who wants others to give me all the answers, I've been kinda stuck on this topic for the las two months, and any info or help would be really appreciated!

Thanks in advance,

JCC