You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中psych包EFA与Lavaan包CFA结果不一致问题咨询

EFA(psych)转CFA(lavaan)出现标准化载荷>1、负残差的原因与解决方向

核心原因解析

  • 模型约束逻辑的本质差异
    psych包的EFA(含斜交旋转)是探索性框架,不对指标-因子的归属做绝对固定,仅通过旋转优化因子结构,残差计算基于整体协方差的拟合残差(而非CFA中单个指标的残差方差)。而lavaan的CFA是验证性框架,要求严格固定每个指标的因子归属,同时需显式定义因子间的相关性(斜交因子场景)。若CFA模型未正确设置因子相关,或强制指标归属与实际数据的隐性关联冲突,极易触发Heywood案例(标准化载荷>1、残差方差为负)。

  • 斜交旋转结果的适配误区
    斜交旋转(如promax)输出的是模式矩阵(pattern matrix),反映剔除其他因子影响后的纯载荷;而CFA中估计的载荷是指标与因子的直接回归系数。当因子间相关度较高时,直接将EFA的模式载荷对应的结构套入CFA,会因模型约束过严(强制指标仅归属于一个因子,但实际指标与其他因子存在未被允许的关联),导致参数估计出现不合理值。

  • 样本量与模型复杂度的匹配问题
    EFA对样本量的容忍度更高,而CFA需要足够的样本支撑参数估计(通常建议每个指标对应5-10个样本)。若3因子模型的指标数量偏少或样本量不足,参数估计的稳定性会大幅下降,进而出现反常结果。

  • 两类残差的定义差异
    psych的EFA中“无负残差”指的是协方差拟合残差(观测协方差与模型预测协方差的差值),和CFA中单个指标的残差方差(指标无法被所属因子解释的变异部分)完全不是同一概念,因此EFA的残差结果无法直接推导CFA的残差表现。

可行的解决步骤

  • 校验CFA模型代码:确保每个指标仅归属于EFA确定的对应因子,且显式声明因子间的相关性(例如:f1 ~~ f2; f1 ~~ f3; f2 ~~ f3)。
  • 确认EFA的因子结构清晰度:使用fa.diagram(fa_result)或print(fa_result, sort=TRUE)检查指标的主导因子是否明确,若存在明显的交叉载荷(即使EFA中载荷值较低),需调整CFA的指标归属或合并指标。
  • 评估样本量合理性:若样本量未达到CFA的最低要求,优先考虑扩充样本,或简化模型(如移除载荷极低的指标)。
  • 对比正交旋转的EFA结果:先尝试将正交旋转(如varimax)得到的因子结构代入CFA,排查是否因因子间高相关性导致的异常估计。
  • 参考修正指数优化模型:运行modificationIndices(cfa_result)查看模型的潜在调整方向,若存在显著的跨因子载荷修正项,说明EFA得出的结构并不完全适配CFA的严格约束,需微调模型。

内容的提问来源于stack exchange,提问作者Mason Lowery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:40:24