varimax rotation of PCs
25 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentario
Tom Lane
el 7 de Mzo. de 2013
I would have thought that if you rotate the coordinate system away from the eigenvectors, then it is no longer meaningful to compute eigenvalues.
Respuesta aceptada
Tom Lane
el 8 de Mzo. de 2013
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)'
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Quadratic Programming and Cone Programming en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!