PCA dimension reduction problem

3 views (last 30 days)
pavlos
pavlos on 23 Jan 2016
Answered: the cyclist on 23 Jan 2016
Hello,
I have a matrix M 200x80000 and I want to transform it to 200xLower_Dimension.
Using the command [coeff,score,latent,tsquared,explained,mu] = pca(M);
The parameter "explained" returns 200 values (number of rows).
I need the reduction to be applied on columns.
The "princomp" returns out-of-memory error.
My system is 64-bit with 8 GB RAM.
Thank you.
Best,
Pavlos

Answers (1)

the cyclist
the cyclist on 23 Jan 2016
So, are you saying that you have 200 observations of an 80,000-variable system? Because according to the syntax of pca, that is what you entered.
You can completely explain the variance of 200 observations using 200 variables. So, you only need 200 principal components. That is what MATLAB is reporting.
On the other hand, if you actually have 80,000 observations of a 200-variable system, then just transpose your matrix before entering into pca().

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!