med4way:中介效应和交互效应分析

发布时间:2021-04-07 阅读 4348

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

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

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

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

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

⛳ Stata 系列推文:

作者: 曹琳君 (南开大学)
邮箱: jilyo@stu.xmu.edu.cn & 1072759894@qq.com


目录


1. 背景介绍

中介分析是阐明 X 和 Y 如何关联的重要机制之一。在连享会以往的推文中,我们介绍了传统的中介效应分析方法(具体链接见相关推文部分),包括逐步检验回归系数法、系数乘积检验法和系数差异检验法。

然而,在使用传统的中介效应分析时,研究者也面临下列问题: (1)如果没有对中介-结果混杂因素 (mediator-outcome confounders)进行控制,那么传统的中介方法产生的结果可能有很大的偏差 (Andrea Bellavia, 2021)。 (2)传统的中介分析没有包含 XM 的交互作用 (exposure-mediator interaction)。如果交互作用确实存在且被忽视,直接和间接的影响就会有偏差 (Andrea Bellavia, 2021)。 (3)传统的中介分析主要适用于 X 和 M 是连续变量且影响是线性的情况。对于非线性的影响,用传统的中介分析方法分析并不容易 (Andrea Bellavia, 2021)。

因此,能够解决上述问题的因果中介分析方法逐渐受到研究者的重视。 在下文中,作者主要向大家介绍一种可以同时分析中介效应 (M)和 交互效应 (X-M)的因果中介分析命令 med4way

对因果中介分析背景有更多兴趣的研究者也可以点击下方的参考链接。 参考链接:Mediation and interaction analysis

2. med4way 命令介绍

2.1 理论部分

如下图所示,包含 XM 交互作用的因果中介分析将 X 对 Y 的影响(总体效应)分为四个效应:纯间接效应或被调节的主效应 (pure natural indirect effect or mediated main effect),参照交互效应 (reference interaction),被调节的交互效应 (mediated interaction) 和被控制的直接效应 (Controlled direct effect)。

在表中 Y 是结果变量 A是暴漏因素也就是我们常说的 XM 是潜在中介变量。Yam 表示当暴漏因素 A 处于 a 水平且潜在的中介变量 M 处于 m 水平时,Y 的取值。

2.2 安装和语法结构

med4way命令是 Andrea Discacciati, Andrea Bellavia, Jane J Lee, Maitreyi Mazumdar & Linda Valeri (2018) 根据上述表格所编写的 Stata 新命令。

安装和数据下载有两种途径:

(1) 从作者的 github 主页下载:

. net install med4way, from("https://raw.githubusercontent.com/anddis/med4way/master/") replace

*-下载范例数据
. net get med4way, from("https://raw.githubusercontent.com/anddis/med4way/master/") 

(2) 从连享会主页下载:

*-安装程序文件
. net install med4way , from(https://file.lianxh.cn/StataCMD/med4way)
*-下载附带数据
. net get     med4way , from(https://file.lianxh.cn/StataCMD/med4way)

语法结构如下:

. help med4way

. med4way depavr varlist  [if] [in], 
        a0(real) a1(real) m(real) yreg(string)  mreg(string)
  • depvar:被解释变量;
  • varlist:依次为暴露因素、中介变量 、多个混杂因素(可有可无,视情况而定);
  • a0(real):real 表示暴露因素的参考维度 (the referent level of the exposure);假设暴露因素 E 表示是否吸烟, E=0 表示不吸烟,那么 0 就是参考维度。
  • a1(real):real 表示暴露因素的真实维度 (the actual level of the exposure);假设暴露因素 E 表示是否吸烟,暴露因素 E=1 表示吸烟,那么1就是真实维度。
  • m(real):real 表示中介变量的维度 (the level of the mediator);
  • yreg(string):string 表示为结果指定的回归模型形式 (the form of the regression model for the outcome);
  • mreg(string):string 表示为中介指定的回归模型形式 (the form of the regression model for the mediator )。

3. Stata 实例

下面我们用一个 med4way 命令的模拟数据集 med4way_example_1.dta 进行演示。 在该数据集中结果变量和中介变量都是二元变量。

. net get med4way , from(https://file.lianxh.cn/StataCMD/med4way)
. use med4way_example_1.dta

. med4way  y_bin  treat  m_bin  cvar1  cvar2  cvar3, ///
         a0(0) a1(1) m(0) ///
         yreg (logistic) mreg(logistic)

/*    Notes:

   y_bin:因变量
   treat:暴露因素
   m_bin:中介变量
   cvar1:混杂因素1
   cvar2: 混杂因素2
   cvars:混杂因素3
*/

模型的运行结果如下:

 Summary

   Outcome    (yvar):  y_bin
   Exposure   (avar):  treat
   Mediator   (mvar):  m_bin
   Covariates (cvars): cvar1 cvar2 cvar3

   Model for the outcome  (yreg): logistic
   Model for the mediator (mreg): logistic

   Referent exposure level (a0):             0
   Actual exposure level   (a1):             1
   Mediator level for the decomposition (m): 0
   Fixed values of the covariates (c):       .577 .319 62.26


-> Model for the outcome

Iteration 0:   log likelihood =  -690.9676  
Iteration 1:   log likelihood = -589.56724  
Iteration 2:   log likelihood = -589.33454  
Iteration 3:   log likelihood = -589.33446  
Iteration 4:   log likelihood = -589.33446  

Logistic regression                             Number of obs     =      1,000
                                                LR chi2(6)        =     203.27
                                                Prob > chi2       =     0.0000
Log likelihood = -589.33446                     Pseudo R2         =     0.1471

----------------------------------------------------------------------------------
           y_bin |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-----------------+----------------------------------------------------------------
           treat |  -.2944844    .289416    -1.02   0.309    -.8617292    .2727605
           m_bin |   1.046198   .2400432     4.36   0.000     .5757223    1.516674
_treatXm_bin_000 |   .9821457   .3321434     2.96   0.003     .3311566    1.633135
           cvar1 |   .1219094   .1451617     0.84   0.401    -.1626023    .4064212
           cvar2 |   .1908434    .158203     1.21   0.228    -.1192287    .5009155
           cvar3 |   .0451507   .0065279     6.92   0.000     .0323562    .0579451
           _cons |  -3.823604   .4667596    -8.19   0.000    -4.738436   -2.908772
----------------------------------------------------------------------------------


-> Model for the mediator

Iteration 0:   log likelihood = -588.16878  
Iteration 1:   log likelihood = -555.60573  
Iteration 2:   log likelihood = -555.11944  
Iteration 3:   log likelihood = -555.11923  
Iteration 4:   log likelihood = -555.11923  

Logistic regression                             Number of obs     =      1,000
                                                LR chi2(4)        =      66.10
                                                Prob > chi2       =     0.0000
Log likelihood = -555.11923                     Pseudo R2         =     0.0562

------------------------------------------------------------------------------
       m_bin |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       treat |   .2400897   .1477509     1.62   0.104    -.0494968    .5296762
       cvar1 |   .3107653   .1491474     2.08   0.037     .0184418    .6030888
       cvar2 |  -.5623266    .154374    -3.64   0.000    -.8648942    -.259759
       cvar3 |   .0335621   .0065424     5.13   0.000     .0207393    .0463849
       _cons |  -1.188081   .4246957    -2.80   0.005     -2.02047   -.3556931
------------------------------------------------------------------------------


-> 4-way decomposition: delta method

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
      tereri |   .9330728   .2970645     3.14   0.002      .350837    1.515309
   ereri_cde |  -.1102571    .108841    -1.01   0.311    -.3235814    .1030673
ereri_intref |   .9440357     .28698     3.29   0.001     .3815654    1.506506
ereri_intmed |   .0620038   .0435735     1.42   0.155    -.0233986    .1474062
   ereri_pie |   .0372904   .0243739     1.53   0.126    -.0104815    .0850623
------------------------------------------------------------------------------
tereri=total excess relative risk; ereri_cde=excess relative risk due to controlled direct effect; ereri_intref=excess relative risk due to
   reference interaction; ereri_intmed=excess relative risk due to mediated interaction; ereri_pie=excess relative risk due to pure indirect effect.


模型1是各因素对 因变量 Y 的回归,模型2是各因素对中介变量 M 的回归。最后一张表是总效应的分解结果。

4. 结语

关于 med4way 的基本介绍在这里就结束了,想要深入了解的学者也可以阅读下方的参考资料。由于地址限制,如果文中提供的下载方式无法奏效,大家可以直接访问如下码云仓库,手动下载相关命令和数据文件。方法为:点击【克隆/下载】,下载仓库的 zip 文件,解压后放置为 D:\med4way ,在 Stata 命令窗口执行 net install med4way, from(D:\med4way) 即可安装。

5. 参考资料

  • Discacciati, A., A. Bellavia, J. J. Lee, M. Mazumdar,L. Valeri, 2019, Med4way: A stata command to investigate mediating and interactive mechanisms using the four-way effect decomposition, International Journal of Epidemiology, 48 (1): 15-20. -Link-, -PDF-, Github 主页, Supplementary data
  • MacKinnon DP, Fairchild AJ, Fritz MS. Mediation analysis. Annu Rev Psychol, 2007;58:593–614.-Link,-PDF-
  • VanderWeele T. Explanation in Causal Inference: Methods for Mediation and Interaction. Oxford, UK: Oxford University Press, 2015.-Link,-PDF-
  • VanderWeele TJ. A unification of mediation and interaction: a 4- way decomposition. Epidemiology 2014;25:749–61-Link,-PDF-

6. 相关推文

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