2011-09-08

PCA plus mean

In the morning I worked on Tsalmantza and my paper on matrix factorization. Specifically, I worked on the initialization, which we perform with a PCA. But before we do the PCA, we do two things: The first is we "isotropize" the space from a measurement-noise point of view. That is, we re-scale the axes (which number in the thousands when running on SDSS spectra) so that the median measurement uncertainty (noise variance) is the same in every direction. The second is that we compute the mean, and then project every spectrum into the subspace that is orthogonal to the mean spectrum. That is, we compute the principal variance directions that are orthogonal to the mean-spectrum direction. Then our K-spectrum initialization is based on the mean spectrum and the first K−1 variance eigenvectors orthogonal to the mean.

Whew! All that work put into the PCA, which is just to initialize our method. As my loyal reader knows, I think PCA is almost never the right thing to do. I really should finish the polemic I started to write about this a few years ago.

[Comments below by Murray make me realize that I am not being very clear here. In the case of our matrix factorization, we are trying to find K orthogonal eigenspectra that can be coadded to explain a large set of data. To initialize, we want to start with K orthogonal eigenspectra that include the mean spectrum. That's why we project and PCA.]

3 comments:

  1. Given the probabilistic interpretations of PCA, isn't it more natural to subtract the mean before finding principal components? That's what I do anyway.

    (If you think there are independent noise terms on each axis, you could do a probabilistic factor analysis that has that in its model. But I think you know that.)

    ReplyDelete
  2. If you are projecting into the orthogonal subspace, it is irrelevant whether or not you subtract the mean; in the orthogonal subspace the mean is (by definition) zero.

    And yes, factor analysis makes more sense, but PCA is being used here just to initialize.

    ReplyDelete
  3. ps. what we are doing (our matrix factorization) is extremely similar to factor analysis.

    ReplyDelete