中介效应:逐步法、Sobel、Bootstrap,以及它们回答不了的问题
国内经管类实证论文里,“机制分析”一节十有八九用的是中介效应模型。这篇把常见做法和它的问题放在一起记。
三个方程
是总效应, 是经由 的间接效应, 是直接效应。用 OLS、同一个样本、同一组控制变量时, 在样本里精确成立。
逐步法来自 Baron and Kenny(1986):依次检验 、、 是否显著;都显著时再看 , 不显著叫“完全中介”,显著叫“部分中介”。温忠麟等(2004)把它整理成国内最常用的检验流程,、 至少有一个不显著时补做 Sobel 检验。温忠麟和叶宝娟(2014)的修订流程把补充检验换成了 Bootstrap,并把 与 符号相反的情形单列为“遮掩效应”。
要记住,这套流程是按各条路径的显著性来下结论的,并不是中介效应存在的充分或必要条件。比如直接效应和间接效应方向相反时,总效应 可能不显著,间接效应却不为零;“遮掩效应”说的就是这种情况。更要紧的是,路径都显著也不代表中介在因果意义上成立,下面的模拟就是例子。
Sobel 与 Bootstrap
Sobel 检验用一阶 delta 方法近似 的标准误:
问题在于 是两个估计量的乘积,小样本里分布是偏的,正态近似不准,Sobel 检验往往偏保守。Bootstrap 的做法是有放回地重抽样本,每次重算 ,用这上千个值的分位数构造置信区间,不需要正态假设(Preacher and Hayes, 2008)。
截面数据的写法:
* Sobel:手算
quietly reg m x $controls
scalar a = _b[x]
scalar sa = _se[x]
quietly reg y x m $controls
scalar b = _b[m]
scalar sb = _se[m]
scalar z = a*b / sqrt(b^2*sa^2 + a^2*sb^2)
display "ab = " a*b " Sobel z = " z " p = " 2*normal(-abs(z))
* Bootstrap:把 ab 写成一个返回标量的小程序
capture program drop ind
program define ind, rclass
quietly reg m x $controls
local a = _b[x]
quietly reg y x m $controls
return scalar ab = `a' * _b[m]
end
bootstrap ab=r(ab), reps(1000) seed(2026): ind
estat bootstrap, percentile bc
面板数据要按个体整群重抽(cluster(id)),并用 idcluster() 给重抽出来的每个个体重新编号,程序里的固定效应也用这个新编号:
capture program drop ind_fe
program define ind_fe, rclass
quietly reghdfe m x $controls, absorb(newid year)
local a = _b[x]
quietly reghdfe y x m $controls, absorb(newid year)
return scalar ab = `a' * _b[m]
end
xtset, clear // 数据 xtset 过的话先清掉,否则会报 r(451)
bootstrap ab=r(ab), reps(1000) seed(2026) cluster(id) idcluster(newid): ind_fe
estat bootstrap, percentile
newid 不用事先生成,bootstrap 会自己建。有两个坑,都是实际跑的时候碰到的:
- 数据如果
xtset过,即使加了idcluster()也会报 r(451)(repeated time values within panel),要先xtset, clear。 - 程序里如果用
xtreg这类依赖面板设定的命令,要在程序开头用xtset newid year按新编号重新设定面板。reghdfe不依赖xtset,按newid还是id吸收固定效应,点估计都一样。
一个让人不安的模拟
下面这个例子里, 是完全随机分配的(抛硬币), 对 没有任何影响,但有一个观测不到的变量 同时影响 和 :
set seed 20260926
set obs 2000
gen x = rbinomial(1, 0.5) // 随机分配
gen u = rnormal() // 观测不到
gen m = 0.5*x + u + rnormal()
gen y = 1.0*x + 0*m + u + rnormal()
按逐步法做一遍:
| 估计值 | 标准误 | 真实值 | |
|---|---|---|---|
| : 对 | 0.939 | 0.064 | 1.0 |
| : 对 | 0.466 | 0.061 | 0.5 |
| : 对 (控制 ) | 0.524 | 0.020 | 0 |
| : 对 (控制 ) | 0.695 | 0.056 | 1.0 |
Sobel ,;Bootstrap(1000 次)得到 ,百分位 95% 置信区间是 [0.180, 0.311]。不管按哪种流程,结论都是“ 起到了部分中介作用,中介效应占总效应的 26%”。而真实的中介效应是 0。
原因在于 本身不是随机分配的。 随机只保证了 和 能识别;到了第三个方程, 和误差项里的 相关, 和 都是有偏的。随机分配 并不会让 也变成随机的。心理学里早有人强调过这一点(Bullock, Green and Ha, 2010);在只有观测数据的经济学研究里,连 本身都未必外生,问题只会更严重。
因果中介分析怎么看
用潜在结果 和 来写,自然间接效应(NIE,也叫 ACME)和自然直接效应(NDE)分别是
两者相加就是总效应。Imai, Keele and Tingley(2010)说明,识别 NIE 需要“序贯可忽略性”,它分两层:第一,给定处理前协变量, 近似随机;第二,给定 和处理前协变量, 和 之间没有未观测的混杂,也不能有受 影响、又同时影响 和 的变量。此外还需要各组合都有观测(正值性)等常规条件。在这些假设下,如果模型是线性的、 与 没有交互,。换句话说,逐步法其实默认了第二层假设,而它既强、又没法检验。
Stata 的 medeff 和 medsens(Hicks and Tingley, 2011)可以做这一套估计,还能做敏感性分析:看 方程和 方程的误差相关到多大时,结论会被推翻。
江艇(2022)之后怎么写机制
江艇(2022)在《中国工业经济》上专门讨论了这个问题,建议停止用逐步法检验中介效应。按他的思路,机制部分可以这样写:
- 从经济学理论出发提出中介变量 ,它对 的影响应当直观、清楚,最好已有文献充分确认;
- 用与主回归相同的识别策略(DID、IV 等)估计 对 的因果效应,这一步是能识别的;
- 对 的作用靠理论和已有文献论证,而不是把 和 一起放进 的方程,靠系数的变化去“检验”。
同一篇文章还指出,调节效应(异质性分析)在因果识别中的作用被低估了。我的理解是:如果理论事先就预言某个处理前的特征会放大这个机制,那么可以用这个特征做交乘或分组,正式检验效应的差异(要检验组间系数之差,不能只看一组显著、一组不显著)。这类证据只是辅助,不是机制成立的必要条件,但往往比三步回归更有说服力。
顺手做的一个统计
有一份在公众号上流传的清单,推荐了 2017–2023 年《中国工业经济》上 25 篇用到中介效应的论文。我把这 25 篇按实际用的检验方法分了类:
| 检验方式 | 篇数 |
|---|---|
| 只看三步回归的系数是否显著 | 1 |
| 逐步回归 + Sobel | 14 |
| 逐步回归 + Bootstrap | 3 |
| Sobel 和 Bootstrap 都做 | 6 |
| 渠道分析,没有标准的中介模型 | 1 |
除了一篇跨国宏观研究用的是渠道分析,其余 24 篇都是在上面三个方程的框架里做,差别只在于 用什么办法检验。清单里 2022 年第 5 期之后刊出的有 4 篇,其中 3 篇仍是逐步法加 Sobel 或 Bootstrap。当然,这不是随机样本,期刊从投稿到刊出的周期也很长,说明不了太多,只能算一个直观的印象。
参考文献
- Baron, R. M., & Kenny, D. A. (1986). The moderator–mediator variable distinction in social psychological research: Conceptual, strategic, and statistical considerations. Journal of Personality and Social Psychology, 51(6), 1173–1182.
- Bullock, J. G., Green, D. P., & Ha, S. E. (2010). Yes, but what's the mechanism? (Don't expect an easy answer). Journal of Personality and Social Psychology, 98(4), 550–558.
- Hicks, R., & Tingley, D. (2011). Causal mediation analysis. Stata Journal, 11(4), 605–619.
- Imai, K., Keele, L., & Tingley, D. (2010). A general approach to causal mediation analysis. Psychological Methods, 15(4), 309–334.
- Preacher, K. J., & Hayes, A. F. (2008). Asymptotic and resampling strategies for assessing and comparing indirect effects in multiple mediator models. Behavior Research Methods, 40(3), 879–891.
- Sobel, M. E. (1982). Asymptotic confidence intervals for indirect effects in structural equation models. Sociological Methodology, 13, 290–312.
- 江艇. (2022). 因果推断经验研究中的中介效应与调节效应. 中国工业经济, (5), 100–120.
- 温忠麟, 张雷, 侯杰泰, 刘红云. (2004). 中介效应检验程序及其应用. 心理学报, 36(5), 614–620.
- 温忠麟, 叶宝娟. (2014). 中介效应分析:方法和模型发展. 心理科学进展, 22(5), 731–745.