Solved – Factor Analysis: calculate maximum likelihood factor loadings from only the correlation (R) matrix and/or covariance (S) matrix

correlationcovariance-matrixfactor analysismaximum likelihoodmultivariate analysis

Does anybody know how to calculate the maximum likelihood factor loadings from only the correlation (R) matrix and/or covariance (S) matrix in Factor Analysis "by hand" (i.e., by Excel)? Or, even better, point me to a clear explanation with a worked example?

I don't have the underlying data, so I can't just use a software program to solve the problem for me. (Any answer involving typical FA software commands or menu sequences won't be helpful, I don't think.)

To the extent it's helpful, I'm using Johnson and Wichern's "Applied Multivariate Statistical Analysis", 6th Edition. In the exercises in Chapter 9, we're given just the R or S matrix and then asked to perform the maximum likelihood calculation repeatedly (e.g., exercises 9.20 b; 9.24, 9.26, and 9.27), yet the book never shows an example (as far as I can tell, nor does the answer key, which my professor makes available to us).

Thanks in advance and regards!

Best Answer

You could look at the source code for the factanal function in R. It is possible to provide a covariance or correlation matrix as an argument.

  • You can see the source code here
  • Or it would probably be more useful to type debug(factanal) and then run the factanal function with a sample correlation matrix. You could then inspect the effect of each step.