lavaan分析有序因子异常、模型不收敛及负方差问题排查与解决
lavaan运行SEM时模型不收敛、观测变量负方差问题排查
问题根因
经排查确认异常触发逻辑:单指标变量必须为数值型,不可设置为因子类型。此前为计算误差方差的固定取值,曾将单指标转换为整数类型,后续运行新模型时未将其改回数值型、误保留为因子类型,直接触发运行异常。
问题现象
使用R语言lavaan包运行结构方程模型(Structural Equation Model, SEM)进入最终模型构建阶段后,不同模型交替出现两类报错:
- 优化器提示未找到有效解,模型不收敛
- 输出警告提示部分观测变量(observed variable, ov)的估计方差为负
异常自误操作数据框后重新上传、处理数据节点开始出现,排查初期确认数据处理语法、lavaan软件版本与此前模型正常运行时完全一致,有历史运行输出可佐证。初期检查变量方差时发现因子类变量的方差显示为NA,因未完全掌握lavaan对观测变量阈值的估计逻辑,一度无法定位问题点。
已确认的排查信息
- 历史正常运行的模型拟合效果优异,稳健CFI介于0.982~0.999,其余拟合指标均符合要求
- 检查数据框可见,涉事变量均为水平数设置正确的有序因子
- 若将全量数据集转换为数值格式,采用相同WLSMV估计器可正常运行,但此时有序变量会被当作连续变量处理,估计结果存在偏差,不符合分析需求
- 设置
std.lv=TRUE虽可提升运行稳定性,但不适用于当前的单指标建模场景
初期疑点预判
初期判断异常可能与单指标设置有关:模型勉强输出结果时,单指标的估计结果完全错误,其余测量模型部分的估计结果处于合理范围;但建模逻辑未做任何改动——每个单指标对应1个潜变量(latent variable, lv),载荷固定为1,指标误差方差按预先计算的取值固定。此外数据中包含多个标准化变量,其中1个来自Rasch模型(logit量尺)的变量均值为负,但相关设置也未做调整。
复现代码与报错示例
> #M0: Simple causal > Model0 <- '#Measurement + RiskPercep =~ WhenHarm + Worry + HarmYou + HarmComm + HarmUS + HarmDev + STEMExp =~ STEMRec + STEMClass + Belief =~ 1*CCBelief + Politics =~ 1*Liberal + + #fixing error + CCBelief ~~ .092*CCBelief + Liberal ~~ .095*Liberal + + #regression + RiskPercep ~ Belief + CIScore + Politics + CIScore ~ STEMExp + Belief ~ CIScore + Politics' > Model0Fit <- sem(Model0, data=ClimateSurveyImp) summary(Model0Fit, fit.measures=TRUE, standardized=TRUE, rsquare=TRUE) ---------- > Model9Fit <- sem(Model9, data=ClimateSurveyImp) Warning message: In lav_object_post_check(object) : lavaan WARNING: some estimated ov variances are negative > Model0Fit <- sem(Model0, data=ClimateSurveyImp) Warning message: In lavaan::lavaan(model = Model0, data = FinalData, model.type = "sem", : lavaan WARNING: the optimizer warns that a solution has NOT been found! > summary(Model0Fit, fit.measures=TRUE, standardized=TRUE, rsquare=TRUE) lavaan 0.6-11 did NOT end normally after 2542 iterations ** WARNING ** Estimates below are most likely unreliable
修复方法
仅需将误设为因子类型的单指标变量转换回数值型,其余需要按有序分类处理的观测变量保留因子类型设置,重新运行模型即可:调整后不会再出现不收敛、负方差警告,同时可保证有序变量按分类变量规则估计,结果无偏差。
内容的提问来源于stack exchange,提问作者Steph Courtney
相关产品推荐
相关产品推荐

