Different Result between using PCA from toolbox and using manually programmed PCA

I try to compute PCA on my data. First, I do PCA on the data using function from toolbox. I also do PCA on the data using manual programmed function based my knowledge. First, I calculate covariance matrix of the data. Then, I find its eigenvalue and eigenvector.
PCA using function from toolbox:
[COEFF,SCORE,latent] = princomp(allData);
PCA using manually programmed function:
[V,D]=eig(cov(allData));
Both of those methods yield matrices called coefficient matrix, COEFF for the first and V for the second. Both have exactly same value, but have, sometime, different sign. Can someone explain to me?

답변 (1개)

Wei Wang
Wei Wang 2012년 11월 28일
PCA enforces a sign convention on the coefficients. The largest element in each column will have a positive sign.

카테고리

도움말 센터File Exchange에서 Dimensionality Reduction and Feature Extraction에 대해 자세히 알아보기

질문:

2012년 11월 19일

댓글:

2017년 6월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by