是否有在 python 中执行验证性因子分析的包?我发现了一些可以在 python 中执行探索性因子分析(scikitlearn、factor_analyzer 等),但我还没有找到一个可以执行 CFA 的包。
问问题
3739 次
2 回答
3
Spyder(Anaconda Navigator)中的python 3.7.3
factor_analyzer 也做 CFA:
导入必要的库
import pandas as pd
from factor_analyzer import FactorAnalyzer
导入样本数据
df= pd.read_csv("test.csv")
验证性因素分析
from factor_analyzer import (ConfirmatoryFactorAnalyzer, ModelSpecificationParser)
model_dict = {"F1": ["V1", "V2", "V3", "V4"], "F2": ["V5", "V6", "V7", "V8"]}
model_spec = ModelSpecificationParser.parse_model_specification_from_dict(df, model_dict)
cfa = ConfirmatoryFactorAnalyzer(model_spec, disp=False)
cfa.fit(df.values)
cfa.loadings_
- V1 到 V8 是指数据框中您希望分配给每个因子(F1 和 F2)的列的名称。您需要根据您的数据集和您正在测试的假设,用适当的列名替换 V1 到 V8。
于 2019-06-04T00:58:42.027 回答
0
您可以尝试包 psy ( https://pypi.org/project/psy/ )。我找不到它的文档,但我可以阅读用中文写的评论。
例子:
import psy
# items is a pandas data frame containing item data
# Specify how the items are mapped to the factors
# In this case, all mapped to one factor
item_factor_mapping = np.array([[1]] * items.shape[1])
print(psy.cfa(items, item_factor_mapping))
于 2019-03-06T18:08:23.813 回答