非正态条件下,采用MLR稳健估计器的MLM-SEM模型如何用Vuong检验对比?
非正态场景下,基于MLM的SEM模型(MLR稳健估计)的Vuong检验实操指南
针对你提出的严格非嵌套SEM模型对比、非正态分布+MLR估计的场景,以下是运用Vuong检验的具体步骤和注意事项:
确认适用前提
Vuong检验仅适用于严格非嵌套的模型(你的情况符合),同时需要满足大样本条件(保证检验的渐近正态性),且两个模型都是数据的合理候选设定。提取MLR估计下的核心统计量
- 两个模型的个体观测对数似然贡献:MLR作为稳健最大似然估计,需要获取每个样本在两个模型下的对数似然值(而非仅总对数似然),部分SEM软件会直接输出,或通过工具函数提取。
- 稳健方差估计:Vuong检验的统计量依赖对数似然差的稳健方差,需使用MLR对应的三明治方差估计,而非常规的Fisher信息矩阵方差。
手动计算Vuong检验统计量(若软件不直接支持)
设模型A、B的个体对数似然分别为$l_i(A)$、$l_i(B)$,定义对数似然差$d_i = l_i(A) - l_i(B)$:- 计算总对数似然差:$D = \sum_{i=1}^n d_i$
- 用三明治法计算$D$的稳健方差$Var(D)$
- 检验统计量:$Z = D / \sqrt{Var(D)}$,大样本下$Z$服从标准正态分布
主流SEM软件的实现方式
- Mplus:直接支持MLR估计下的Vuong检验,只需在分析块中添加
TESTVOUONG命令,并指定对比的模型编号即可,软件会自动输出Z统计量和p值。 - Lavaan:需手动完成部分步骤:
- 用
lavInspect(model_A, "loglik")$obs和lavInspect(model_B, "loglik")$obs提取两个模型的个体对数似然向量 - 计算对数似然差向量
d <- loglik_A - loglik_B - 使用
sandwich包中的函数(如vcovHC)计算$d$的稳健方差,进而得到$Var(D) = n * var(d)$(或直接计算总和的稳健方差) - 计算Z值并对比标准正态分布的临界值判断显著性
- 用
- Mplus:直接支持MLR估计下的Vuong检验,只需在分析块中添加
结果解读
- 若$Z > 1.96$(α=0.05),支持模型A优于模型B;
- 若$Z < -1.96$,支持模型B优于模型A;
- 若$Z$处于[-1.96, 1.96]区间,说明数据无法区分两个模型的优劣。
重要提醒
- 小样本下Vuong检验的渐近性质不成立,结果不可靠;
- 必须确保模型严格非嵌套,若存在嵌套关系,应改用卡方差异检验(MLR下的稳健卡方差异);
- 全程要匹配MLR的稳健估计逻辑,不能混用常规似然值和稳健方差。
内容的提问来源于stack exchange,提问作者user21834357
相关产品推荐
相关产品推荐

