medsem-中介效应:基于结构方程模型SEM的中介效应分析-T331

发布时间:2021-04-18 阅读 16631

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

作者: 周依仿(复旦大学),展一帆 (复旦大学) 邮箱: simonzhanyf@163.com

Source: Mehmetoglu M. Medsem: A Stata package for statistical mediation analysis[J]. International Journal of Computational Economics and Econometrics, 2018, 8(1): 63-78. -Link-


目录


1. 背景介绍

在分析变量 X 对 Y 的影响途径和机制时,「中介效应分析」是一个重要的工具。

在连享会以往的推文中,我们介绍了分析中介效应的各种方法,主要以传统的回归分析为基础。但我们仍然需要一个能对包括可观察变量和潜变量在内的所有回归方程同时进行估计的包,即能在结构方程模型(structural equation modelling, SEM)框架下进行中介效应分析。

由于传统的回归分析 (regression) 估计中介效应时的标准误较大 (参数估计不准确),且回归分析框架下使用 Sobel 检验时需要假定 a×b 服从正态分布。而通过 SEM 进行中介效应分析可以弥补上述缺陷,它能对所有模型参数同时进行估计,且 SEM 本身有助于中介效应分析,因此 SEM 方法应是进行中介效应分析的最佳框架 (Zhao et al., 2010 和 Iacobucci et al., 2007)。

本文我们介绍 Mehmetoglu(2018)提供的 Stata 命令 medsem,它有助于对非常复杂的模型进行适当而完整的中介效应分析。medsem 是在使用 Stata 命令 sem 估计结构方程模型(SEM)后,再进行使用的后估计命令(post estimation command)。本文将对这一命令进行介绍。

2. 中介效应分析

2.1 BK 方法

在介绍 SEM 方法估计中介效应前,我们首先需要了解社会科学家通常采用的进行中介效应分析的 Baron 和 Kenny (1986) 的方法 (后文简称 BK 方法) 。BK 方法包括 4 个步骤。下面首先对这些步骤予以说明,并相应地在 Figure 1 中给出图解。

  • Step 1 : 将 Y 对 X 进行回归,估计系数 c。c 为总效应,应统计显著,才意味着存在中介效应(或间接效应)(Figure 1 (a))。
  • Step 2 : 将 M 对 X 进行回归,估计系数 a。a 必须统计显著以证明解释变量和中介变量存在关系(Figure 1 (b))。
  • Step 3 : 将 Y 对 M 进行回归,同时控制 X,估计系数 b 必须统计显著。控制 X 的原因是 Y 和 M 的相关性可能是由 X 同时影响 Y、M 导致的(Figure 1 (c))。同时我们可以得到系数 c
  • Step 4 : 在前三步都满足的情况下,若系数 c 显著为 0,则 M 是完全中介作用;若系数 c 不显著为 0,则 M 是部分中介作用。

部分中介意味着路径 c 的减少,当减少多少,即 (cc) 多大时可以说存在部分中介效应呢?Sobel (1987) 提出 z 检验,使用如下方程提供 (cc) 的标准误。值得说明的是,检验 (cc) 等价于检验中介路径(a×b)(Iacobucci et al., 2007)。

其中:

  • a 和 sa2 ( a 的标准误 ) 来自 Step 2;
  • b 和 sb2 ( b 的标准误 ) 来自 Step 3;
  • 如果 z>±1.96,则中介效应 (cc) 或 (a×b)在 0.05 的水平上显著。

2.2 BK 方法的改进

Iacobucci et al. (2007) 通过一系列蒙特卡洛模拟证明,与使用结构方程模型 (SEM) 相比,使用回归分析 (REG) 有严重的缺陷,即回归分析得到的中介路径系数的标准误始终比 SEM 方法更大,因为 SEM 方法能对所有模型参数同时进行估计。SEM 方法的另一个优点是,它本身有助于中介效应分析,包括多项目量表 (multi-item scales) (也称为潜在变量)。因此 SEM 方法应是进行中介效应分析的标准框架。于是 Iacobucci et al. (2007)通过改进 BK 方法,提出了通过 SEM 进行中介效应分析的一系列步骤。

  • Step 1 : 通过 SEM 拟合模型 (Figure 1(d)) ,以同时估计直接效应和中介效应系数。

    • 如果二者都不显著,则不存在中介作用,应停止研究。
    • 如果 XM 和 MY 都显著,则中介作用存在,继续进行下一步研究。
  • Step 2 : 计算 Sobel Z 值以检验中介效应相对于直接效应的大小。

    • 如果 Z 值显著且直接效应 XY 不显著,则为完全中介。

    • 如果 Z 值和直接效应 XY 都显著,则为部分中介。

    • 如果 Z 值不显著而直接效应 XY 显著,则为部分中介,有直接效应。

    • 如果 Z 值和直接效应 XY 都不显著,则为部分中介,没有直接效应。

  • Step 3 : 报告估计结果,分为三种: 不存在中介 (no), 部分中介 (partial) 或 完全中介 (full mediation)。

2.3 BK 方法的替代方法

2.3.1 基于 Bootstrap 的检验方法

Zhao et al.(2010) 认同 Iacobucci et al.(2007) 的观点:SEM 方法是进行中介效应分析的最佳框架。

他们进一步建议 BK 方法(也就是三个回归方程 + Sobel 检验) 用一个检验来代替:中介效应 a×b (见 Figure 1 (d)) 的「自抽样检验」(bootstrap test)。他们认为,中介效应分析最重要的是基于自助检验,中介效应在统计上显著。因此 Zhao et al.(2010)也提出了检验中介效应假设的一系列步骤。

Zhao et al.(2010) 认为,之所以对中介效应使用自助检验,原因在于,当中介效应 a×b 的样本分布高度有偏时,Sobel 检验由于需要假定近似正态的对称分布,因而检验力度低 (Kenny, 2016),即使 a 和 b 均为正态分布时,情况也是如此。

自助法(bootsrapping) 生成统计量 (这里为中介效应 a×b)的经验样本分布,这一分布来自于计算和收集取代原始样本数据的 n 个样本 (比如 1000, 2000, 3000 等) 中每个样本的中介效应,并能从中得到置信区间和标准误,如果中介效应的置信区间不包括零值,则可以认为中介效应统计显著。

2.3.2 基于蒙特卡洛模拟的检验方法

尽管自助法比 Sobel 检验更优,但它的估计过程比较耗时,对研究者来说实用性欠佳。而对自助法的一个比较好的替代方法是蒙特卡罗法(Monte Carlo approach) (Jose, 2013)。这个方法根据系数 a 和 b 以及它们各自的标准误,生成 a 和 b 的随机正态变量,以产生 a×b 值的分布 (Kenny, 2016)。然后和自助法一样,可以计算出标准误和相应的置信区间。

3. medsem 命令介绍

medsem 在估计完中介模型后使用,即在使用 Stata 对于结构方程模型的内嵌命令 sem 后进行使用。

medsem 的安装方法如下:

ssc install medsem, replace

其语法结构为:

medsem, indep(varname) med(varname) dep(varname)
       [mcreps(number) stand zlc rit rid]

其中各部分含义如下:

  • indep(varname):解释变量 (X);
  • med(varname):中介变量 (M);
  • dep(varname): 被解释变量 (Y);

可选项:

  • mcreps(number):蒙特卡罗复制的数量,默认是样本的数量大小;
  • stand:输出标准化的系数,当省略这一项时,默认输出非标准化系数;
  • zlc:Zhao et al. (2010) 的中介效应估计方法,当省略这一选项时,默认是 Iacobucci et al. (2007)改进的 BK 方法。
  • rit:中介效应与总效应之比;
  • rid:中介效应与直接效应之比。

4. 使用 medsem 进行中介效应分析的示例

使用 Stata 系统的自带数据,假设 age (X) 和 wage (Y) 的中介变量为 ttl_exp (M)。

sysuse nlsw88, clear
describe age ttl_exp wage

              storage   display    value
variable name   type    format     label      variable label
--------------------------------------------------------------------
age             byte    %8.0g                 age in current year
ttl_exp         float   %9.0g                 total work experience
wage            float   %9.0g                 hourly wage

在使用 medsem 命令前,我们需要使用 sem 命令估计整个中介模型,进而观察路径系数:a(XM),b(MY),c(XY)sem 的输出估计结果如下:

. sem (ttl_exp <- age) ///
      (wage <- ttl_exp age)

-------------------------------------------------------------------------------
              |                 OIM
              |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
--------------+----------------------------------------------------------------
Structural    |
  ttl_exp     |
          age |   .1872773   .0315437     5.94   0.000     .1254528    .2491018
        _cons |    5.20248   1.238799     4.20   0.000     2.774477    7.630482
  ------------+----------------------------------------------------------------
  wage        |
      ttl_exp |   .3423311   .0255289    13.41   0.000     .2922953    .3923669
          age |  -.1321344    .038462    -3.44   0.001    -.2075185   -.0567504
        _cons |   8.649318   1.504655     5.75   0.000     5.700248    11.59839
--------------+----------------------------------------------------------------
var(e.ttl_exp)|   20.91629   .6241583                      19.72805     22.1761
   var(e.wage)|   30.61679   .9136289                      28.87747    32.46088
-------------------------------------------------------------------------------

接下来,使用 medsem 命令检验是否存在中介效应:

. medsem, indep(age) med(ttl_exp) dep(wage)

  Significance testing of indirect effect (unstandardised)
+-----------------------------------------------------------------+
  Estimates       |     Delta     |     Sobel     |  Monte Carlo
|-----------------------------------------------------------------|
  Indirect effect |     0.064     |     0.064     |     0.064
  Std. Err.       |     0.012     |     0.012     |     0.012
  z-value         |     5.429     |     5.429     |     5.491
  p-value         |     0.000     |     0.000     |     0.000
  Conf. Interval  | 0.041 , 0.087 | 0.041 , 0.087 | 0.042 , 0.08
|-----------------------------------------------------------------|

  Baron and Kenny approach to testing mediation
  STEP 1 - ttl_exp:age (X -> M) with B=0.187 and p=0.000
  STEP 2 - wage:ttl_exp (M -> Y) with B=0.342 and p=0.000
  STEP 3 - wage:age (X -> Y) with B=-0.132 and p=0.001
           As STEP 1, STEP 2 and STEP 3 as well as the Sobel's test above
           are significant the mediation is partial!
+-----------------------------------------------------------------+
  Note: to read more about this package help medsem

我们也可以附加选项,以便输出更检验多结果:

. medsem, indep(age) med(ttl_exp) dep(wage)  ///
          mcreps(5000) stand zlc rit rid

  Significance testing of indirect effect (standardised)
+-----------------------------------------------------------------+
  Estimates       |     Delta     |     Sobel     |  Monte Carlo
|-----------------------------------------------------------------|
  Indirect effect |     0.034     |     0.034     |     0.034
  Std. Err.       |     0.006     |     0.006     |     0.006
  z-value         |     5.472     |     5.516     |     5.496
  p-value         |     0.000     |     0.000     |     0.000
  Conf. Interval  | 0.022 , 0.046 | 0.022 , 0.046 | 0.022 , 0.047
|-----------------------------------------------------------------|

  Baron and Kenny approach to testing mediation
  STEP 1 - ttl_exp:age (X -> M) with B=0.124 and p=0.000
  STEP 2 - wage:ttl_exp (M -> Y) with B=0.274 and p=0.000
  STEP 3 - wage:age (X -> Y) with B=-0.070 and p=0.001
           As STEP 1, STEP 2 and STEP 3 as well as the Sobel's test above
           are significant the mediation is partial!

  Zhao, Lynch & Chen's approach to testing mediation
  STEP 1 - wage:age (X -> Y) with B=-0.070 and p=0.001
           As the Monte Carlo test above is significant, STEP 1 is
           significant and their coefficients point in opposite
           direction, you have competitive mediation (partial mediation)!

  RIT  =   (Indirect effect / Total effect)
           (0.034 / 0.036) = 0.942
           Meaning that about 94 % of the effect of age
           on wage is mediated by ttl_exp!

  RID  =   (Indirect effect / Direct effect)
           (0.034 / 0.070) = 0.485
           That is, the mediated effect is about 0.5 times as
           large as the direct effect of age on wage!

此时输出的系数是标准化系数,同时输出了 RIT 和 RID 值。

5. 结语

通过 SEM 进行中介效应分析可以对所有模型参数同时进行估计,具有更小的标准误,medsem 是进行 SEM 模型估计再进行使用的后估计命令,输入 ssc install medsem, replace 命令即可安装,使用较为方便。对更复杂的结构方程模型的中介效应估计感兴趣的学者可以进一步阅读下方的参考资料,点开文末阅读原文即可打开链接。

6. 参考资料

温馨提示: 文中链接在微信中无法生效。请点击底部阅读原文。

  1. Mehmetoglu M. Medsem: A Stata package for statistical mediation analysis[J]. International Journal of Computational Economics and Econometrics, 2018, 8(1): 63-78. -link-
  2. 沙莎,连享会推文,Stata+R:一文读懂中介效应
  3. Baron R M, Kenny D A. The moderator–mediator variable distinction in social psychological research: Conceptual, strategic, and statistical considerations[J]. Journal of personality and social psychology, 1986, 51(6): 1173. -PDF-
  4. Iacobucci D, Saldanha N, Deng X. A meditation on mediation: Evidence that structural equations models perform better than regressions[J]. Journal of consumer psychology, 2007, 17(2): 139-153. -PDF-
  5. Jose P E. Doing statistical mediation and moderation[M]. Guilford Press, 2013.
  6. Kenny, D.A. (2016) Mediation, http://davidakenny.net/cm/mediate.htm
  7. Sobel M E. Direct and indirect effects in linear structural equation models[J]. Sociological Methods & Research, 1987, 16(1): 155-176. -link-
  8. Zhao X, Lynch Jr J G, Chen Q. Reconsidering Baron and Kenny: Myths and truths about mediation analysis[J]. Journal of consumer research, 2010, 37(2): 197-206. -link-

7. 相关推文

Note:产生如下推文列表的 Stata 命令为:   lianxh 中介 安装最新版 lianxh 命令:   ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh