如何解决验证性因子分析未能收敛
我的数据集中有 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 举报,一经查实,本站将立刻删除。