验证性因子分析未能收敛

问题描述

我的数据集中有 4 个项目,想进行验证性因素分析,我尝试了以下代码

import numpy as np
import pandas as pd
from scipy.stats import bartlett
from factor_analyzer import calculate_bartlett_sphericity
from factor_analyzer.factor_analyzer import  calculate_kmo
from factor_analyzer import FactorAnalyzer
def composite_reliability(factor_loadings):
    error =1 -factor_loadings **2  #calculare error for item i
    sum_of_squares =(np.sum(factor_loadings))**2
    composite =sum_of_squares /(sum_of_squares  + np.sum(error))
    print(" composite_reliability = %.4f"%(composite))
def AVE(factor_loadings):
    error =1 -factor_loadings**2
    sum_of_squares =np.sum(factor_loadings**2)
    ave =sum_of_squares /(sum_of_squares +np.sum(error))
    print("Average Variance Extracted =%.2f"%(ave))
from factor_analyzer import (ConfirmatoryFactorAnalyzer,ModelSpecificationParser)
data = pd.read_excel("Data.xlsx")
print(data.isnull().any())
model_dict = {"F1": ["item 1","item 2","item 3","item 4"]}
model_spec = ModelSpecificationParser.parse_model_specification_from_dict(data,model_dict)
cfa = ConfirmatoryFactorAnalyzer(model_spec,disp=False)
cfa.fit(data.values)
score =cfa.transform(data.values)
score_dataframe =pd.DataFrame(score,columns=["product positioning"])
score_dataframe.to_excel("latentvariable.xlsx")
loadings =cfa.loadings_
print(loadings)
composite_reliability(loadings)
AVE(loadings)

但是当我运行此代码时,我收到以下警告(没有任何丢失的数据)

C:\Users\User\PycharmProjects\Machine_learning\venv\lib\site-packages\factor_analyzer\confirmatory_factor_analyzer.py:732: UserWarning: The optimization routine Failed to converge: b'ABnorMAL_TERMINATION_IN_LNSRCH'
  warnings.warn('The optimization routine Failed '
[[1.]
 [1.]
 [1.]
 [1.]]
 composite_reliability = 1.0000
Average Variance Extracted =1.00

这是什么意思?请问如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)