Principal Component Coefficients in princomp

3 visualizzazioni (ultimi 30 giorni)
Hi all, The first output of the princomp function is The Principal Component Coefficients(the normalized eigenvectors)and the second output is The Component Scores.I used this code:[_coefs,scores,variances,t2_] = princomp(sr); but the computed result of sr*coefs is not euqal to scores.Why? I am confused!How can I get the eigenvectors of the input matrix?
Thanks for all your kindly answering.

Risposta accettata

Tom Lane
Tom Lane il 7 Feb 2012
The princomp function works on the centered data (variance/covariance matrix), so you need to remove the mean to reproduce the scores:
load hald
[a,b] = princomp(ingredients);
bsxfun(@minus,ingredients,mean(ingredients))*a
  1 Commento
yang yang
yang yang il 8 Feb 2012
I found this in Matlab Help:princomp centers X by subtracting off column means, but does not rescale the columns of X.Thus,x is preprocessed.I should use the result of preprossing of x to multiply
Principal Component Coefficients.I did it and they were equal(error less than e-12).

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by