Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:李坤 (华南师范大学)
邮箱:kunli1001@163.com
编者按: 本文主要摘译自下文,特此致谢!
Source: Sobel Goodman Tests of Mediation in Stata-sgmediation2 -Link-
目录
本文主要介绍一个新的中介效应分析命令——sgmediation2
。关于中介效应、调节效应、调节中介效应和中介调节效应的相关定义和解释,大家可以阅读连享会推文「Stata:调节中介效应检验」。本文的主要目的是帮助大家掌握一个新的中介效应命令,以便不时之需。关于中介效应存在的问题,大家可以参考连享会推文「中介效应分析:三段式中介效应模型真的适用于经济学研究吗?」。
Baron 和 Kenny (1986) 认为中介变量是指介于自变量与因变量之间,能够在一定程度上传递自变量对因变量影响的变量。在这种解释下,我们认为出现以下四种情况,则可以说明存在中介效应:
但 Preacher 和 Hayes (2004) 则认为只需要满足两个条件便可以说明存在中介效应:
现在,人们对中介效应存在的条件进一步简化,如 Zhao 等 (2010) 认为只需要满足在模型中加入中介变量时,自变量对因变量的影响减小即可。因为即使没有自变量的直接影响,中介效应也可能发生。
sgmediation2
命令可以对上述各种可能的条件进行测试。但该命令的开发者 Trenton D.Mize 认为,在模型中添加中介变量 (即间接效应) 后,自变量对因变量影响减小的测试最重要。
下图说明了中介变量的基本逻辑。其中,中介变量 (MV) 在理论上至少部分是自变量 (IV) 对因变量 (DV) 产生影响的原因/机制。所以当存在中介效应时,自变量对因变量的影响 (
上述路径中的字母分别对应下述模型前的系数:
其中
一般来说,我们习惯将未加入中介变量时,自变量的对因变量产生的效应
为了确定自变量的效应有多少是由中介变量解释的 (即确定间接效应),我们可以计算 sgmediation2
命令计算的三个检验都使用了系数乘积的方法,不过这些检验在计算
Sobel Test:
Aroian Test:
Goodman Test:
Aroian 和 Goodman 版本的检验与 Sobel 版本不同,它们虽然都包括系数
有一些证据表明,Aroian 检验比其他两种检验要好 (MacKinnon 等 2002)。但也有观点认为这三种方法都是存在缺陷的,因此有人提出了使用自举法来作为计算标准误差的替代方法,因为该方法即使在小样本中使用也可以得到很好的效果(Preacher 和 Hayes 2004)。对于每个测试的详尽讨论和比较,可以参考 MacKinnon 等 (2002)。
sgmediation2
命令安装:
net install sgmediation2, from("https://tdmize.github.io/data/sgmediation2")
sgmediation2
命令语法:
sgmediation2 depvar [if exp] [in range] , iv(focal_iv) mv(mediator_var) [options]
其中,depvar
为因变量,iv(focus_iv)
为自变量,mv(mediator_var)
为中介变量。关于 sgmediation2
命令更多详细介绍,请查看帮助文档。
接下来我们通过一个例子来进一步了解 sgmediation2
命令。假设受过高等教育的人 (edyrs) 会拥有更好的健康状况 (health),其中存在一个可能的中介解释是:高教育往往伴随着高收入,而收入越高的人往往会更加在意自己的身体健康,进而拥有更好的健康状况。三者理论上的因果如下:
在这个例子中,我们控制了受访者的年龄 age、性别 gender 和种族 race 等变量,同时使用 Sobel-Goodman 中介测试来检验上述解释。
. use "https://tdmize.github.io/data/data/cda_ah4", clear
. drop if missing(health, edyrs, income, race, woman, age)
. sgmediation2 health, iv(edyrs) mv(income) cv(i.race i.woman age)
Model with dv regressed on iv (path c)
regress health edyrs i.race i.woman age, vce()
----------------------------------------------------------------------------------
health | Coefficient Std. err. t P>|t| [95% conf. interval]
-----------------+----------------------------------------------------------------
edyrs | 0.093 0.005 16.98 0.000 0.083 0.104
race |
Black | -0.111 0.030 -3.75 0.000 -0.169 -0.053
Native American | -0.171 0.145 -1.18 0.238 -0.454 0.113
Asian | -0.201 0.073 -2.73 0.006 -0.345 -0.057
woman |
Woman | -0.172 0.025 -6.76 0.000 -0.222 -0.122
age | -0.013 0.007 -1.83 0.068 -0.026 0.001
_cons | 2.817 0.214 13.18 0.000 2.398 3.236
----------------------------------------------------------------------------------
Model with mediator regressed on iv (path a)
regress income edyrs i.race i.woman age, vce()
----------------------------------------------------------------------------------
income | Coefficient Std. err. t P>|t| [95% conf. interval]
-----------------+----------------------------------------------------------------
edyrs | 3.836 0.152 25.25 0.000 3.538 4.134
race |
Black | -5.922 0.821 -7.21 0.000 -7.531 -4.313
Native American | 0.113 3.997 0.03 0.977 -7.723 7.949
Asian | 4.917 2.030 2.42 0.015 0.937 8.897
woman |
Woman | -13.135 0.704 -18.66 0.000 -14.515 -11.755
age | 1.167 0.192 6.09 0.000 0.791 1.543
_cons | -47.033 5.906 -7.96 0.000 -58.612 -35.454
----------------------------------------------------------------------------------
Model with dv regressed on mediator and iv (paths b and c')
regress health income edyrs i.race i.woman age, vce()
----------------------------------------------------------------------------------
health | Coefficient Std. err. t P>|t| [95% conf. interval]
-----------------+----------------------------------------------------------------
income | 0.003 0.001 6.71 0.000 0.002 0.004
edyrs | 0.080 0.006 13.80 0.000 0.069 0.092
race |
Black | -0.091 0.030 -3.06 0.002 -0.149 -0.033
Native American | -0.171 0.144 -1.19 0.235 -0.453 0.111
Asian | -0.218 0.073 -2.98 0.003 -0.361 -0.074
woman |
Woman | -0.127 0.026 -4.84 0.000 -0.178 -0.076
age | -0.017 0.007 -2.41 0.016 -0.030 -0.003
_cons | 2.978 0.214 13.91 0.000 2.558 3.398
----------------------------------------------------------------------------------
Sobel-Goodman Mediation Tests
| Est Std_err z P>|z|
---------------------+------------------------------------------------
Sobel | 0.013 0.002 6.481 0.000
Aroian | 0.013 0.002 6.476 0.000
Goodman | 0.013 0.002 6.485 0.000
Indirect, Direct, and Total Effects
| Est Std_err z P>|z|
---------------------+------------------------------------------------
a_coefficient | 3.836 0.152 25.246 0.000
b_coefficient | 0.003 0.001 6.705 0.000
Indirect_effect_aXb | 0.013 0.002 6.481 0.000
Direct_effect_c' | 0.080 0.006 13.797 0.000
Total_effect_c | 0.093 0.005 16.979 0.000
Proportion of total effect that is mediated: 0.141
Ratio of indirect to direct effect: 0.164
Ratio of total to direct effect: 1.164
我们对结果进行一个简单的解释:首先,Sobel-Goodman Mediation Tests 表中显示三个
通过上面的介绍,我们大概了解了中介变量以及中介效应带来的影响。接下来将进一步介绍如何使用自举法 (Bootstrap) 获得间接效应 (
默认情况下,Stata 的 bootstrap
命令会报告偏差修正的置信区间。Preacher 和 Haye (2004,2008) 建议使用百分位数的置信区间,因为 estat bootstrap
和 percentile()
获得。下面的例子提供了用自举法估计得出的间接效应、直接效应和总效应。
. bootstrap r(ind_eff) r(dir_eff) r(tot_eff), reps(1000): sgmediation2 health, ///
> iv(edyrs) mv(income) cv(i.race i.woman age)
Bootstrap results Number of obs = 4,983
Replications = 1,000
Command: sgmediation2 health, iv(edyrs) mv(income) cv(i.race i.woman age)
_bs_1: r(ind_eff)
_bs_2: r(dir_eff)
_bs_3: r(tot_eff)
------------------------------------------------------------------------------
| Observed Bootstrap Normal-based
| coefficient std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_bs_1 | 0.013 0.002 6.40 0.000 0.009 0.017
_bs_2 | 0.080 0.006 13.88 0.000 0.069 0.092
_bs_3 | 0.093 0.005 17.12 0.000 0.083 0.104
------------------------------------------------------------------------------
. estat bootstrap, bc percentile // 用百分位数表示和偏差修正的置信区间
Bootstrap results Number of obs = 4,983
Replications = 1000
Command: sgmediation2 health, iv(edyrs) mv(income) cv(i.race i.woman age)
_bs_1: r(ind_eff)
_bs_2: r(dir_eff)
_bs_3: r(tot_eff)
------------------------------------------------------------------------------
| Observed Bootstrap
| coefficient Bias std. err. [95% conf. interval]
-------------+----------------------------------------------------------------
_bs_1 | .01313674 .0000884 .00205331 .0093023 .0174167 (P)
| .0090962 .0171786 (BC)
_bs_2 | .08021862 .0000795 .0057813 .0691959 .0909556 (P)
| .0691754 .090924 (BC)
_bs_3 | .09335536 .0001678 .00545279 .0825975 .1037009 (P)
| .0822491 .1031032 (BC)
------------------------------------------------------------------------------
Key: P: Percentile
BC: Bias-corrected
sgmediation2
命令在 sgmediation
命令的基础上扩展了许多新的功能,详见 help sgmediation2
。下面主要介绍几个比较明显的区别:
一是允许使用加权和多重插补的数据:首先,sgmediation2
命令允许使用使用调查权重和/或多重插补的数据。要实现这一点,只需要在 sgmediation2
命令的 prefix()
选项中指定使用的前缀即可。例如若在之前使用 svyset
命令设置过调查权重,则可以选择使用下面的命令:
. sgmediation2 health, iv(edyrs) mv(income) cv(i.race i.woman age) prefix(svy:)
此外,prefix(svy:)
选项还可以指定 mi est:
用于 mi set
中定义的多重插补估计。例如命令 mi est: svy:
代表用于调查权重和 mi svyset
命令中定义的多种插补估计。
二是改变方差估计:vce()
选项除了用于在 OLS 估计中获得默认的方差估计值外,还可以选择 vce(robust)
来获得稳健方差估计值,或者 vce(cluster clustvar)
估计聚类稳健方差估计值。例如,当我们使用调整职业类别内的聚类方差估计值时,可以使用以下命令:
. sgmediation2 health, iv(edyrs) mv(income) cv(i.race i.woman age) vce(cluster occcat)
三是控制变量的因子语法:如上例所示,控制变量可以使用因子语法。这意味着控制变量可以是连续变量或分类变量。但是自变量 (IV) 或中介变量 (MV) 不允许使用因子语法,这也反映了我们上述方法的一些局限性。因此使用这种方法,自变量和中介变量都仅限于连续变量或二元变量。
利用系数乘积的方法对中介效应进行分析存在一些局限性,其中有几个事项应当引起足够的注意:
Note:产生如下推文列表的 Stata 命令为:
lianxh 中介, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh