👇 连享会 · 推文导航 |
www.lianxh.cn
🍓 课程推荐:
连享会:2025 寒假班
嘉宾:连玉君(初级|高级);杨海生(前沿)
时间:2025 年 1 月 13-24 日
咨询:王老师 18903405450(微信)
作者:
曹琳君 (南开大学)
邮箱:
[email protected]
温馨提示:
文中链接在微信中无法生效。请点击底部
「阅读原文」
。或直接长按/扫描如下二维码,直达原文:
目录
1. 背景介绍
2. med4way 命令介绍
3. Stata 实例
4. 结语
5. 参考资料
6. 相关推文
1. 背景介绍
中介分析是阐明 X 和 Y 如何关联的重要机制之一。在连享会以往的推文中,我们介绍了传统的中介效应分析方法(具体链接见相关推文部分),包括逐步检验回归系数法、系数乘积检验法和系数差异检验法。
然而,在使用传统的中介效应分析时,研究者也面临下列问题:(1)如果没有对中介-结果混杂因素 (mediator-outcome confounders)进行控制,那么传统的中介方法产生的结果可能有很大的偏差 (Andrea Bellavia, 2021)。(2)传统的中介分析没有包含
的交互作用 (exposure-mediator interaction)。如果交互作用确实存在且被忽视,直接和间接的影响就会有偏差 (Andrea Bellavia, 2021)。(3)传统的中介分析主要适用于
和
是连续变量且影响是线性的情况。对于非线性的影响,用传统的中介分析方法分析并不容易 (Andrea Bellavia, 2021)。
因此,能够解决上述问题的因果中介分析方法逐渐受到研究者的重视。在下文中,作者主要向大家介绍一种可以同时分析中介效应 (M)和 交互效应 (X-M)的因果中介分析命令
med4way
。
对因果中介分析背景有更多兴趣的研究者也可以点击下方的参考链接。参考链接:
Mediation and interaction analysis
。
温馨提示:
文中链接在微信中无法生效。请点击底部
「阅读原文」
。
2. med4way 命令介绍
2.1 理论部分
如下图所示,包含
交互作用的因果中介分析将
对
的影响(总体效应)分为四个效应:纯间接效应或被调节的主效应 (pure natural indirect effect or mediated main effect),参照交互效应 (reference interaction),被调节的交互效应 (mediated interaction) 和被控制的直接效应 (Controlled direct effect)。
在表中
是结果变量
是暴漏因素也就是我们常说的
,
是潜在中介变量。
表示当暴漏因素
处于 a 水平且潜在的中介变量
处于 m 水平时,
的取值。
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)
varlist
:依次为暴露因素、中介变量 、多个混杂因素(可有可无,视情况而定);
a0(real)
:real 表示暴露因素的参考维度 (the referent level of the exposure);假设暴露因素
表示是否吸烟,
表示不吸烟,那么 0 就是参考维度。
a1(real)
:real 表示暴露因素的真实维度 (the actual level of the exposure);假设暴露因素
表示是否吸烟,暴露因素
表示吸烟,那么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是各因素对 因变量
的回归,模型2是各因素对中介变量