Why am I seeing negative factor loadings when using the factor-analyzer module in pandas and limiting the model to 1 factor?

56 Views Asked by At

I am trying to learn how to perform factor analysis in Pandas using the factor-analyzer module. I'm checking my work by running the same analysis in Stata.

The initial, exploratory factor analysis showed one factor with an eigenvalue greater than 1 (in both Stata and Pandas). In Stata, I ran my factor command to only include one factor:

factor varlist, pcf factors(1)

In Pandas, I ran the following:

FactorAnalyzer(n_factors=1, rotation=None, method="principal", impute='drop')

I expected to see the same factor loading charts in Stata and Pandas, and they were almost the same, except that the signs were reversed (all negative in Pandas).

I then reran the FactorAnalyzer (Pandas) model without constraining it to one factor (e.g., I allowed the default 3 factors), the factor loadings for Factor 1 are identical to the results from Stata.

I assume the programs must be doing something different when you constrain the model to 1 factor (maybe Stata is just suppressing additional factors in the output?), but I'd like to be sure I understand what's going on. Any insight/help is appreciated!

0

There are 0 best solutions below