Results 1 to 3 of 3

Math Help - SVD Eigenvectors Update

  1. #1
    Newbie
    Joined
    Aug 2009
    Posts
    3

    SVD Eigenvectors Update

    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 X where each column X_{i} represents a different category o variable, and each row X_{j} represents a different observation of each variable, in SSA the matrix X is made of lagged shift copies from a time-series Y_{t}, and applying the SVD decomposition to that trajectory matrix gives us 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, without actually recalculating the whole SVD procedure on the X matrix each time a new value is added?

    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
    Follow Math Help Forum on Facebook and Google+

  2. #2
    Newbie
    Joined
    Aug 2009
    Posts
    3
    Hi again!
    Just some additional ideas..
    Maybe instead of trying to update the eigenvectors, i could try to calculate the SVD sequentially.
    I found a paper on this subject here.
    Anyone has any other ideas or previous experience with this subject?

    Thanks in advance again,
    JCC
    Follow Math Help Forum on Facebook and Google+

  3. #3
    Newbie
    Joined
    Aug 2009
    Posts
    3
    I've just found a Matlab implementation of the SVD update algorithm from the paper I mentioned before here.
    Still I'm open to other ideas/suggestions on the subject.
    Follow Math Help Forum on Facebook and Google+

Search Tags


/mathhelpforum @mathhelpforum