1
$\begingroup$

Using the pcaMethods package in R I have run PCA on a data set of ~500 subjects with ~300 variables each. There are some missing values so I am employing the NIPALS algorithm rather than standard SVD based method. I am interested in the first two or three components as they seemingly explain >85% of the variation in the data.

I would like to see the effect of varimax and possibly other orthogonal rotations on the three PCs. If I take the unit scaled loadings (i.e. eigenvectors) from the pcaRes object that is output by pcaMethods::pca and then multiply by the squared standard deviation (i.e. eigenvalue) for each respective component I believe that I should recover the true PCA loading matrix?

This matrix is then submitted to the varimax function. My query is how to calculate the percentage variance explained by the new rotated components? I can determine the sum of squares for each column of the rotated loadings but what is the denominator to convert these to percentages? Presumably what I need is the 'total variance' but this is not given in the output of the original PCA, as far as I can find.

$\endgroup$
3
  • $\begingroup$ Rotation is usually done for factor analysis, not PCA. $\endgroup$
    – SmallChess
    Feb 28, 2017 at 11:12
  • $\begingroup$ stats.stackexchange.com/questions/612/… $\endgroup$ Feb 28, 2017 at 11:26
  • 1
    $\begingroup$ @NikolasRieble I have read that thread (and others) in detail previously. I understand that the sum of squares of the rotated loadings will give me the explained variance of the rotated component. However, the step that is never mentioned is that to calculate a percentage I need a denominator. Clearly I cannot use the sum of the rotated loading sum-of-squares as the original components that I selected for rotation did not explain 100% of the variance in the data. $\endgroup$
    – neurobod
    Feb 28, 2017 at 12:03

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.