Principal Component Coefficients in princomp

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.

 Respuesta aceptada

Tom Lane
Tom Lane el 7 de Feb. de 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 comentario

yang yang
yang yang el 8 de Feb. de 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).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Statistics and Machine Learning Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 7 de Feb. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by