Skip to main content
edited body
Source Link

I used factor_analyzer Python package for CFA, but matrix of factor loadings that I getgot 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]]

I used factor_analyzer Python package for CFA, but matrix of factor loadings that I get 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]]

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]]
Source Link

Factor loading calculated by factor_analyzer smaller than -1

I used factor_analyzer Python package for CFA, but matrix of factor loadings that I get 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]]