フィルターのクリア

varimax rotation of PCs

12 ビュー (過去 30 日間)
caterina
caterina 2013 年 3 月 2 日
Hi I need to rotate a PCs coming from a Principal Component Analysis. I know I shouldn't but the analysis I'm doing requests this step. I used function rotatefactors() but it does not produce the eingenvalues of the rotated PCs. At the same time I can't use factorian() routine because my covariance matrix is not positive definite. Does anyone have an idea? Thanks!
  1 件のコメント
Tom Lane
Tom Lane 2013 年 3 月 7 日
I would have thought that if you rotate the coordinate system away from the eigenvectors, then it is no longer meaningful to compute eigenvalues.

サインインしてコメントする。

採用された回答

Tom Lane
Tom Lane 2013 年 3 月 8 日
On reflection, if you are thinking of the eigenvalues as the variances of the scores, perhaps this is what you want after rotation:
% Eigenvalues are the variances of the scores
load hald
[C,S,latent] = pca(ingredients);
V = cov(ingredients);
var(S) % variance of scores
latent' % latent values
Sigma = eig(V)' % eigenvalues
% Rotate away from the principal components
[L,T] = rotatefactors(C(:,1:2));
% Variances of the rotated scores, if we have S
var1 = diag(cov(S(:,1:2)*T))'
% Variances computed without using the scores
var2 = diag(L'*V*L)'

その他の回答 (1 件)

caterina
caterina 2013 年 3 月 10 日
Thank you very much! You helped me a lot. c.

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by