Dr. V. Ravi wrote:

> I am new to this group. I am working on a bioinformatics problem. I
> need to perform PCA on a matrix of order 150x11000 - yes, the number
> of variables far exceeds the number of samples.

Having variables exceed samples is not a problem in and of itself, it is 
a common situation where PCA is used.

> I tried using MATLAB,
> which gives an error
> maybe because of the size of the matrix. SPSS 11.0 does not contain 
> an explicit module for PCA. 
> 
> Pls tell me how to go about it. It is urgent!

You might want to try the MATLAB function svds or eigs, both of which 
find the first few eigenvectors (or the last few, if you want), using an 
algorithm that needs much less memory than if you were to use the 
"standard" PCA algorithm which will extract all eigenvectors.

As an alternative, it is very easy to code up the so-called NIPALS 
algorithm, which will find eigenvectors sequentially using less memory 
than typical algorithms which find all eigenvectors. Reference: Martens 
and Martens (2001), "Multivariate Analysis of Quality", John Wiley and 
Sons, Ltd.

--
Paige Miller
[EMAIL PROTECTED]
http://www.kodak.com

"It's nothing until I call it!" -- Bill Klem, NL Umpire
"When you get the choice to sit it out or dance, I hope you dance" -- 
Lee Ann Womack

.
.
=================================================================
Instructions for joining and leaving this list, remarks about the
problem of INAPPROPRIATE MESSAGES, and archives are available at:
.                  http://jse.stat.ncsu.edu/                    .
=================================================================

Reply via email to