统计百科 ·
测量不变性怎么检验?多组CFA配置/弱/强/严格不变性与跨组比较前提全解
统计百科:系统讲解测量不变性(Measurement Invariance)的四层级(配置/弱/强/严格),多组验证性因子分析(MGCFA)操作步骤,ΔCFI<.01判断标准,局部不变性处理,以及在论文中如何写APA 7th规范报告句式。
做跨组比较(性别差异、实验对照、跨文化研究)之前,研究者必须先证明"同一份量表在不同组里测的是同一个构念"——这就是测量不变性(Measurement Invariance)。缺乏这个前提,任何"组间均值差异"都无法被信任:你比较的可能是两把刻度不一致的尺子,而非被测事物本身的差异。本文从概念到操作,完整讲解测量不变性的四层级检验,以及如何在论文中写出符合APA 7th的规范报告。
一、为什么跨组比较必须先检验测量不变性
问题的本质
假设你研究"职业倦怠"在男女群体间的差异,使用MBI量表5道题,男性平均分4.2,女性3.6。
问题是:这0.6分的差异,真的是倦怠水平的差异吗?
也许女性对"我感到精疲力竭"这道题的理解方式与男性不同(题目截距不一样);也许该题在男性群体中对"情绪耗竭"这个潜在因子的负荷更高(因子载荷不一样)。如果量表在两组间的测量属性不等价,那么潜变量均值的比较就是在用两把刻度不同的尺子比较长度——毫无意义。
测量不变性检验(Measurement Invariance Testing)通过多组验证性因子分析(Multi-Group CFA,MGCFA),逐步约束参数相等,用模型拟合变化来判断量表是否在各组间等价。
哪些研究必须做这个检验
- 性别、年龄、民族、国家等人口学组间比较
- 实验组 vs. 对照组的潜变量均值比较
- 纵向研究中不同时间点的测量(纵向不变性)
- 跨文化/跨语言版本量表的效度比较
- 任何使用结构方程模型(SEM)报告潜变量均值差异的研究
二、测量不变性的四个层级
测量不变性是分层次的,检验从宽松到严格逐步推进。
第一层:配置不变性(Configural Invariance)
含义: 因子结构(哪些题目属于哪个因子)在各组中相同,但所有参数(载荷、截距、误差)均允许自由估计。
统计约束: 无任何跨组等式约束,仅要求相同的因子结构。
如何理解: 这是最低门槛,只要求"各组用相同的构型(哪些题归哪个因子)来理解量表"。配置不变性成立,才有意义进行后续更严格的检验。
现实意义: 配置不变性不成立(模型在某组拟合极差),说明该量表在不同组中可能测量的是完全不同的构念,跨组比较无从谈起。
第二层:弱不变性(Weak/Metric Invariance)
含义: 在配置不变性基础上,约束因子载荷(factor loadings) 在各组间相等。题目误差和截距仍自由估计。
统计约束: lambda_ij(g1) = lambda_ij(g2) 对所有题目 i 和因子 j
如何理解: 因子载荷反映"潜变量每增加一个单位,观测题目得分增加多少"——即量表的测量单位。弱不变性成立,说明各组的测量单位相同,因子之间的协方差/相关可以跨组比较。
现实意义: 弱不变性是比较因子相关系数和回归路径系数的前提。如果你的研究只是比较"职业倦怠与工作满意度之间的相关是否存在性别差异",弱不变性就足够了。
第三层:强不变性(Strong/Scalar Invariance)
含义: 在弱不变性基础上,进一步约束题目截距(item intercepts) 在各组间相等。
统计约束: 因子载荷相等 + tau_i(g1) = tau_i(g2) 对所有题目 i
如何理解: 截距反映"潜变量为零时,题目得分的期望值"——即量表的测量原点(零点)。强不变性成立,说明各组在量表上的原点相同,此时才能有意义地比较各组的潜变量均值。
现实意义: 这是跨组潜变量均值比较(如t检验、ANOVA中的构念均值差异)的必要前提。大多数跨组比较研究需要达到强不变性。
第四层:严格不变性(Strict Invariance)
含义: 在强不变性基础上,进一步约束题目唯一性方差(unique variances/residuals) 在各组间相等。
统计约束: 因子载荷 + 截距 + theta_ii(g1) = theta_ii(g2) 对所有题目 i
如何理解: 误差方差的相等意味着各题目在不同组中测量精度完全相同。这是最严格的要求,在实践中较难完全满足,也并非跨组比较的必要条件。
现实意义: 严格不变性主要用于需要直接比较观测得分(而非潜变量得分)的情境,大多数SEM研究只要求强不变性。
各层级概览对照表
| 层级 | 约束参数 | 满足后可做的比较 | 典型用途 |
|---|---|---|---|
| 配置不变性 | 无(仅相同结构) | 确认因子结构跨组适用 | 前提检验 |
| 弱不变性 | 因子载荷相等 | 因子相关、回归路径 | 路径比较 |
| 强不变性 | 载荷 + 截距相等 | 潜变量均值差异 | 均值比较 |
| 严格不变性 | 载荷 + 截距 + 误差相等 | 观测得分直接比较 | 最严格场景 |
三、检验标准:ΔCFI < .01 规则及其来源
模型比较逻辑
测量不变性检验通过嵌套模型比较实现:约束越多的模型是约束越少的模型的嵌套版本(前者的参数空间是后者的子集)。检验时依次比较:
配置模型 M0
↓ 加载荷约束
弱不变模型 M1
↓ 加截距约束
强不变模型 M2
↓ 加误差约束
严格不变模型 M3
每步比较的核心问题:新加的约束是否显著降低了模型拟合?
经典标准:卡方差异检验(Δχ²)
传统方法用似然比检验(LRT):
$\Delta\chi^2 = \chi^2_{M1} - \chi^2_{M0}, \quad \Delta df = df_{M1} - df_{M0}$
若 Δχ² 检验显著(p < .05),说明新增约束显著恶化了拟合,该层级不变性被拒绝。
问题: Δχ² 对样本量极度敏感——大样本(N > 300)时,即使非常细微的差异也会显著;小样本时,大的实质性差异也可能不显著。因此在大多数实证研究中,Δχ² 已不作为主要判断标准。
推荐标准:ΔCFI < .01(Cheung & Rensvold, 2002)
Cheung 和 Rensvold(2002)通过模拟研究提出:
$\Delta CFI \geq -.010 \text{ 则拒绝不变性假设}$
即:当从宽松模型到约束模型时,CFI 的下降不超过 .010,则认为不变性成立。
为什么是 CFI 而不是 χ²?
CFI(比较拟合指数)基于与独立模型的对比,对样本量不如 χ² 敏感,在测量不变性文献中最为常用。
同时参考 ΔRMSEA:
部分研究者同时报告 ΔRMSEA,Vandenberg 和 Lance(2000)建议 ΔRMSEA ≤ .015 作为辅助标准。实践中通常以 ΔCFI 为主要标准,ΔRMSEA 作为辅助参考。
各指标对比
| 指标 | 截断值 | 优点 | 局限 |
|---|---|---|---|
| Δχ² | p < .05 拒绝 | 有显著性检验 | 对样本量极敏感 |
| ΔCFI | ≥ -.010 拒绝 | 对样本量较不敏感 | 无显著性p值 |
| ΔRMSEA | > .015 拒绝 | 绝对拟合视角 | 截断值争议较大 |
| ΔSRMR | > .030(载荷)> .010(截距) | 残差视角 | 较少单独使用 |
四、多组CFA操作步骤
步骤1:数据准备与单组CFA前提检验
在进行MGCFA之前,先在各组内分别跑验证性因子分析(CFA),确认:
- 因子结构在每组内拟合良好(CFI > .95,RMSEA < .08,SRMR < .08)
- 各组样本量足够(建议每组 N ≥ 200,每个因子 ≥ 3 个题目)
- 数据无严重非正态(Mardia多元峰度);若有,改用 MLR 估计法
步骤2:配置模型(M0)
各组使用相同因子结构,所有参数自由估计(各组独立)。这是基线模型。
R/lavaan代码示例:
library(lavaan)
model <- '
burnout =~ B1 + B2 + B3 + B4 + B5
engage =~ E1 + E2 + E3 + E4
'
# 配置模型
fit_config <- cfa(model, data = dat, group = "gender",
estimator = "MLR")
summary(fit_config, fit.measures = TRUE)
步骤3:弱不变模型(M1)
约束因子载荷在各组相等,截距和误差自由估计。
fit_weak <- cfa(model, data = dat, group = "gender",
group.equal = "loadings",
estimator = "MLR")
# 比较 M1 vs M0
lavTestLRT(fit_config, fit_weak)
# 提取 CFI/RMSEA
fitMeasures(fit_weak, c("cfi", "rmsea", "srmr"))
步骤4:强不变模型(M2)
在弱不变基础上,进一步约束截距相等。
fit_strong <- cfa(model, data = dat, group = "gender",
group.equal = c("loadings", "intercepts"),
estimator = "MLR")
lavTestLRT(fit_weak, fit_strong)
步骤5:严格不变模型(M3,可选)
fit_strict <- cfa(model, data = dat, group = "gender",
group.equal = c("loadings", "intercepts", "residuals"),
estimator = "MLR")
lavTestLRT(fit_strong, fit_strict)
步骤6:整理比较表
| 模型 | χ² | df | CFI | RMSEA | SRMR | Δχ² | Δdf | ΔCFI |
|---|---|---|---|---|---|---|---|---|
| M0 配置 | XX | XX | .XXX | .XXX | .XXX | — | — | — |
| M1 弱 | XX | XX | .XXX | .XXX | .XXX | XX* | X | -.00X |
| M2 强 | XX | XX | .XXX | .XXX | .XXX | XX* | X | -.00X |
| M3 严格 | XX | XX | .XXX | .XXX | .XXX | XX | X | -.00X |
*p < .05
五、局部不变性(Partial Invariance)
什么是局部不变性
并非所有题目的载荷或截距都必须相等——如果大多数(通常 ≥ 2/3)题目在各组间等价,而少数题目的某个参数不等,可以仅约束等价的参数,称为局部不变性(Partial Invariance)。
如何识别非不变题目
当强不变模型拟合恶化时,可以通过**修正指数(Modification Indices,MI)**识别哪些截距跨组差异最大:
# 查看强不变模型的修正指数
modindices(fit_strong, sort = TRUE, maximum.number = 20)
# 关注"intercepts"行中MI最大的条目
Byrne、Shavelson 和 Muthen(1989)的方法:依次释放 MI 最大的截距约束,重新拟合,直到 ΔCFI 降至 < .010。
局部不变性能否支持均值比较
Byrne 等(1989)以及 Vandenberg 和 Lance(2000)均指出:局部强不变性(每个因子至少保留2个截距不变的指标)可以支持潜变量均值比较,但需要:
- 在方法部分明确说明哪些题目存在截距非不变
- 将非不变题目作为调节变量进行后续探索
- 解读均值比较结果时保持谨慎
六、在chatsrs.com完成测量不变性检验
打开 chatsrs.com,上传数据后输入:
"请对我的数据做测量不变性检验:量表有3个因子,分别是B1-B5(情绪耗竭)、D1-D3(去人格化)、PA1-PA4(个人成就感降低),分组变量是gender(1=男,2=女)。请依次建立配置、弱、强、严格不变模型,使用MLR估计,报告每个模型的χ²、df、CFI、RMSEA、SRMR,以及模型间的Δχ²、ΔCFI;如果强不变性不成立,请用修正指数找出非不变题目并建立局部强不变模型。最终给出可直接写进论文的APA 7th报告段落。"
ChatSRS会自动调用R引擎(lavaan),依次估计四个嵌套模型,输出对比表格和APA规范报告段落,可直接复制进论文。
七、APA 7th规范报告模板
方法章节说明测量不变性
采用多组验证性因子分析(Multi-Group CFA,MGCFA)对[量表名称]
进行跨[性别/组别]的测量不变性检验(Vandenberg & Lance, 2000)。
依次建立配置不变模型、弱不变模型(约束因子载荷相等)、
强不变模型(进一步约束题目截距相等)和严格不变模型
(进一步约束误差方差相等)。
模型比较以 ΔCFI 为主要判断标准(ΔCFI < .010;
Cheung & Rensvold, 2002),辅以 Δχ² 检验和 ΔRMSEA(< .015)。
所有模型均使用 MLR 估计法以处理非正态数据,
分析软件为 ChatSRS(R/lavaan 引擎)。
结果章节完整段落模板
测量不变性检验结果见表 X。
配置不变模型(M0)拟合良好,CFI = .XXX,RMSEA = .XXX,
SRMR = .XXX,表明[量表名称]的因子结构在[组1]和[组2]中均成立。
弱不变模型(M1,约束因子载荷相等)的拟合指数变化微小,
ΔCFI = -.00X(< .010),Δχ²([df]) = X.XX,p = .XXX,
支持弱不变性,即[量表名称]的因子载荷在两组间等价。
强不变模型(M2,进一步约束题目截距相等)的拟合变化亦在
可接受范围内,ΔCFI = -.00X(< .010),Δχ²([df]) = X.XX,
p = .XXX,支持强不变性,表明两组在[构念名称]潜变量上的
均值比较具有意义。
严格不变模型(M3,进一步约束误差方差相等)的 ΔCFI = -.00X,
Δχ²([df]) = X.XX,p = [值],[支持/不支持]严格不变性。
综上,[量表名称]在[组1]和[组2]之间达到强不变性,
满足后续潜变量均值跨组比较的前提条件。
局部不变性情境模板
强不变模型(M2)的 ΔCFI = -.01X(> .010),Δχ²([df]) = X.XX,
p < .001,强不变性未得到完全支持。
查阅修正指数发现,题目 [题目编号](MI = XX.XX)的截距
存在跨组差异,释放该截距约束后,局部强不变模型的
ΔCFI = -.00X(< .010),拟合恢复至可接受水平。
除 [题目编号] 外,其余 [N-1] 个题目的截距在两组间等价
(局部强不变性,Byrne et al., 1989)。
后续潜变量均值比较基于局部强不变模型进行,并在讨论中
对该题目的潜在跨组含义差异作出说明。
八、测量不变性结果汇报表格(APA三线表格式)
| 模型 | χ² | df | CFI | RMSEA [90% CI] | SRMR | Δχ² | Δdf | ΔCFI |
|---|---|---|---|---|---|---|---|---|
| M0 配置不变 | 124.36 | 52 | .967 | .048 [.037, .059] | .053 | — | — | — |
| M1 弱不变 | 131.82 | 59 | .965 | .045 [.035, .055] | .058 | 7.46 | 7 | -.002 |
| M2 强不变 | 140.14 | 66 | .963 | .043 [.034, .053] | .062 | 8.32 | 7 | -.002 |
| M3 严格不变 | 162.78 | 75 | .951 | .046 [.037, .055] | .071 | 22.64* | 9 | -.012 |
*p < .05。M0至M2的ΔCFI均 < .010,支持强不变性;M3的ΔCFI = -.012(> .010),严格不变性不成立,与实践中严格不变性较难满足的结论一致。
注:表中数值为示例数据,供论文格式参考。
九、常见错误与规范对照
| 常见错误写法 | 规范写法 | 说明 |
|---|---|---|
| "做了CFA,因子结构一致,所以可以比较" | "通过MGCFA检验达到强不变性" | 因子结构一致≠截距相等 |
| 仅报告Δχ²显著与否 | ΔCFI为主 + Δχ²辅助 | Δχ²受样本量影响过大 |
| "ΔCFI = .008,不变性成立" | ΔCFI = -.008(注意符号方向) | 约束增加CFI下降,正确方向为负 |
| 强不变性失败直接放弃比较 | 检查修正指数,建立局部强不变模型 | 局部不变性在文献中被广泛接受 |
| 方法章节不说明用了哪个软件/包 | "分析软件为 ChatSRS(R/lavaan 引擎)" | APA要求说明分析工具 |
| 严格不变性失败就说"量表无效" | 说明严格不变性非均值比较必要条件 | 实践中大多只要求强不变性 |
常见FAQ
Q:做了EFA确认因子结构,还需要再做MGCFA吗?
A:需要。EFA(探索性因子分析)在整体样本上得到的因子结构,并不能证明该结构在各亚组(男/女、实验/对照)中等价,更无法检验截距是否相等。MGCFA才是正式的测量不变性检验工具。建议在第一个样本上用EFA探索结构,在第二个样本(或同一样本分组后)用MGCFA验证不变性。
Q:样本量多少才够?每组至少要多少人?
A:一般建议每组 N ≥ 200,整体样本在 400 以上。题目数量越多、因子越复杂,所需样本量越大。Wolf 等(2013)的蒙特卡洛模拟建议,对于3个因子、每因子4-5个指标的模型,每组至少 150 人可获得稳定估计;若需同时检验严格不变性(增加更多约束),建议每组 N ≥ 300。ChatSRS会在运行前自动提示样本量是否充足。
Q:ΔCFI < .010 但 Δχ² 显著,该相信哪个?
A:根据 Cheung 和 Rensvold(2002)以及随后大量模拟研究,当样本量 N > 200 时,Δχ² 极易出现假阳性,建议以 ΔCFI 为主要判断依据。在论文中可以两者都报告,但结论以 ΔCFI 为准,并在脚注中说明"由于样本量较大(N = XXX),Δχ² 对微小拟合差异敏感,故以 ΔCFI 作为主要判断标准(Cheung & Rensvold, 2002)"。
Q:跑出来弱不变性成立但强不变性不成立,可以比较什么?
A:弱不变性(载荷相等,截距不等)成立时,可以比较各组的因子相关/协方差(如"职业倦怠与工作满意度的相关在男女间有无差异")和回归路径系数,但不能直接比较潜变量均值(因为截距不等时,均值的原点在各组不同)。若有必要比较均值,则需建立局部强不变模型(释放非不变截距约束),并在方法部分说明局限性。
Q:纵向研究的"纵向不变性"和跨组不变性是同一回事吗?
A:本质相同,操作略有区别。纵向不变性(Longitudinal Measurement Invariance)检验同一量表在不同时间点(T1/T2/T3)的等价性,"组"变成了"时间点",lavaan中用group = "time"处理。特别注意:纵向设计中同一个体的同一题目在不同时间点有相关误差(correlated residuals),需要在模型中额外指定。
相关阅读
本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。