1
$\begingroup$

I used factor_analyzer Python package for CFA, but matrix of factor loadings that I got contains value smaller than -1. Is a bug in the package, or maybe I misunderstood the factor loading interpretation?

factor_analyzer docs: https://pypi.org/project/factor-analyzer/

My code:

def sem_analysis(data, group1, group2):
    scaler = StandardScaler()
    scaled_data = pd.DataFrame(scaler.fit_transform(data), columns=data.columns)
    required_data = scaled_data[group1 + group2]
    model_dict = {"F1": group1, "F2": group2}
    model_spec = ModelSpecificationParser.parse_model_specification_from_dict(required_data, model_dict)
    cfa = ConfirmatoryFactorAnalyzer(model_spec, disp=False)
    cfa.fit(required_data.values)
    return cfa.loadings_

My results:

[[ 0.81664434  0.        ]
 [ 0.76591388  0.        ]
 [-0.84197706  0.        ]
 [ 0.         -0.27572329]
 [ 0.         -1.17491134]
 [ 0.          0.39020765]]
$\endgroup$

1 Answer 1

1
$\begingroup$

As it turned out, I misunderstood the concept of factor loadings. I tought that it's the correlation coefficient between latent and observed variable, but it's standarized regression coefficient instead and there is nothing wrong in value -1.17.

$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.