Thanks to Yichuan Liu we have now Factor Analysis in statsmodels
which is currently focused on getting rotated factor loadings using the principal axis method.
This also includes the code from another python package
and thanks to the author of that package we have a good set of rotations now available.
Kerby has a PR adding maximum likelihood estimation for factor analysis.
Given that I had to read up on the related literature and examples for reviewing the PR, I also took the opportunity to try out pandas formatting or style options.
This should make interpreting rotated loadings easier
Our implementation of Factor Analysis is currently labeled with an experimental status. This is mainly because it is currently targeted to obtaining rotated loadings.
I expect that we will have to make changes to the structure of the classes and parts of the api when we add additional features. However,I don't know factor analysis, factor models and their uses well enough to guess now what the right structure will be.
Everyone is invited to join in the fun, use it, complain about it, make suggestions and add extensions. (The first and the last are the important ones.)
BTW: This is one of several new features in `statsmodels.multivariate` added by Yichuan Liu with partial review by me, Factor Analysis comes after MANOVA, repeated measures ANOVA, Canonical correlation and a limited features version of MultivariateOLS written as backend of MANOVA.
But there is still a lot of work to do in this multivariate methods neighborhood to catch up with ....
Josef