Some Examples of "Non-negative Matrix Factorization" and "Spectrum Decomposition": Toy raw data curves: EGnmfP01RawColorToySpecP1D1.ps simple example, substance A ---> substance B (only) EGnmfP01RawColorToySpecP2D31.ps much righer, several components, "more like real data"??? Principal Component Views: simple example not shown, since data lie in 1-d subspace EGnmfP02PCAToySpecP2D31DP2d.ps richer example, data lie in higher d subspace First attempt at Non-negative Matrix Factorization (using approach suggested in papers). Problem was answers too heavily dirven by starting values, as in: EGnmfP11nc3RepToySpecP2D21.ps Second attempt at Non-negative Matrix Factorization. This was based on SVD (like PCA, but don't subtract the mean) to find initial directions. Except for SV1, these have negative component, so they were "rotated back to non- negative vectors". Then a set of these were used to form a basis of this space, by "maximal distance from mean". This gave good decomposition, but residuals are not non-negative (so don't see how to do further decomposition): EGnmfP61NMF1nc2ColorToySpecP1D1.ps EGnmfP61NMF1nc2ColorToySpecP2D31.ps Attempt at iterative search, one direction at a time (chosen by SVD), with both projections and residuals non-negative. This is done by first projecting on direction vector, then shrinking towards origin, until residual is non-negative. Problem is ended up with "separate pieces". Apparently caused by residuals from these directions naturally having "two regimes". These are not very interpretable, since believe in "continuous time", not "piecewise time". Conclude that need a more clever choice of directions: nsvdSMbuildP5R12sumToySpecP1D1.ps nsvdSMbuildP5R12sumToySpecP2D31.ps "Spectrum Decomposition", this combines ideas above, using "pair of directions at a time approach", starting with 2nd NMF, but using the shrinkage approach (one direction at a time) to give non-negative residuals: Two Component Spectrum Decomposition: specdecSMbuildP51nc2nmf2ToySpecP1D1.ps Excellent performance for this simple example, note final residual "looks bad", but note axes, this is "very small". specdecSMbuildP51nc2nmf2ToySpecP2D31.ps Again excellent performance, except first curve is not fully captured in first component, what is left becomes large residual at the end. Four Component Spectrum Decomposition: (doesn't make sense for simpler example) specdecSMbuildP52nc4nmf2ToySpecP2D31.ps First 2 components again excellent. First curve is now not so low, so relative size of this residual is less. 3rd and 4th components seem to be "capturing additional spectral structure in data", but again this is split into two pieces, perhaps needed to preserve non-negativity after removing first two components. Maybe need to consider simultaneous 4 component optimization. Real data flop: CS5P02SpecDecZoom1NC2CnNu.ps Seems to have "two regmies plus noise"? May try: - Zooming into a particular range - removing a large part of the "common signal"