Path: news.mathworks.com!newsfeed-00.mathworks.com!NNTP.WPI.EDU!elk.ncren.net!newsflash.concordia.ca!canopus.cc.umanitoba.ca!tribune.usask.ca!support1.mathforum.org!not-for-mail
From: yakir gagnon <12.yakir@gmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: eigenvalues of the covarience matrix (princomp)
Date: Thu, 15 Nov 2007 11:24:19 EST
Organization: The Math Forum
Lines: 31
Message-ID: <16367855.1195143889907.JavaMail.jakarta@nitrogen.mathforum.org>
References: <fhhkfc$9oa$1@fred.mathworks.com>
NNTP-Posting-Host: nitrogen.mathforum.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: support1.mathforum.org 1195143889 9079 144.118.30.135 (15 Nov 2007 16:24:49 GMT)
X-Complaints-To: news@support1.mathforum.org
NNTP-Posting-Date: Thu, 15 Nov 2007 16:24:49 +0000 (UTC)
Xref: news.mathworks.com comp.soft-sys.matlab:437739



Thanks a lot for answering!

> yakir gagnon wrote:
> 
> > in matlab doing this:
> > this: princomp( X/var( X ) ) is: correlation PCA
> 
> X/var(X) is not going to get you the right thing for
> a couple reasons. 
> You want either
> 
> X ./ repmat(std(X),n,1), or
> bsxfun(@rdivide,X,std(X)), or even
> X*diag(1./std(X))

Yes, right. I understand (my mistake).

> 
> > and princomp(zscore( X )) is a CORRECT PCA...
> 
> There is absolutely no point in doing this 

why? doing princomp(X) or princomp(zscore(X)) yields two different answers. and zscore(X) = zscore(zscore(X))

> (as opposed to what you've 
> called "correlation PCA"), since PRINCOMP already
> centers the data.

here you say 'centre the data' which makes me confused since I thought you were talking about the zscoring (in which case I thought it was called standardizing), but I might be wrong.

so why would I choose to do a so called "correlation PCA"? what is it good for?