Principal Component Coefficients in princomp

3 vues (au cours des 30 derniers jours)
yang yang
yang yang le 7 Fév 2012
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.

Réponse acceptée

Tom Lane
Tom Lane le 7 Fév 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 commentaire
yang yang
yang yang le 8 Fév 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).

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by