R数据分析:反事实框架和因果中介的理论理解

发布时间 2023-10-31 20:41:05作者: Codewar

其实很早之前给大家写中介分析的做法的时候我也有思考过当中介变量或者因变量不是连续变量的时候,中介怎么做?或者说这个时候中介的结果如何解释?当时反正是一直没有太想明白这些问题,毕竟这些情况在发表的文献中也较少见,也就稀里糊涂过去了。

近期又被好多同学多次问及这些问题。想着逃避不过去了,试着看些文献给大家写写,而且我看中文的关于这些方面的讲解的资源也很少,希望我写下的东西能给大家一些启发。

传统中介方法

写反事实框架之前我们先回顾传统的中介做法,就是下面4步,其中第一步可以省略不要:

 

我们期望通过分析知道暴露对结局的作用有多大部分是被中介变量介导的。分析方法包括两种:

一种是difference method:

 

 

另外一种是Product method:

 

通过这两方法我们就计算出来了中介效应。但是比如说我的中介变量是一个二分类变量这个时候因为两个回归方程是不一样尺度的,一个线性回归,一个逻辑回归,这个时候再用上面的方法就完全是讲不通的。

Traditional mediation analysis defines direct and indirect effects in terms of linear regression coefficients. It is unclear how these traditional effects are estimated in settings with binary variables

就是说传统中介方法只能服务于线性回归框架,只适用于中介变量和结局变量均为连续变量的情况。当中介变量或者结局变量是非连续变量的时候整个中介效应就无法分解了。

Traditional mediation methods are also limited to simple linear models,all continuous exposure and mediators are assumed to have a linear effect. Incorporating non-linearities in the traditional approach is not straigthforward.

针对上述问题的解决方法就是换一个思维去看待中介作用。

反事实框架

反事实,或者叫潜在结局,指的是个案在我们设定的暴露情形下将会观测到的结局。

比如个案在干预条件下的结局表示为y1,在控制条件下观测到的结局表示为y0。如果同一个个案可以同时有两种结局,那么干预的效应就可以表示为y1-y0。这句加粗的话对理解反事实框架下的效应表达很重要,多读几遍,多感受下这句话的正确性。

但是这句话存在一个问题就是同一个个体不可能同时接受干预又在控制组,我们不可能同时观测到y1和y0。这与事实情况不符所以叫反事实或者潜在结局。

Participants cannot realistically serve in all conditions which is a Fundamental Problem of Causal Inference.

虽然对个体来讲不可实现,但是对群体来讲我们可以估计平均的y1和y0,从而可以得到平均干预效应the average causal intervention effect E[Yi(1) − Yi(0)]。

对中介分析来讲,在反事实框架中我们还涉及到中介变量m,反事实情形的表达就更加的复杂一些了,比如 E[Yi(1, m)]就表示当暴露为1中介变量为m的时候y的值,Mi(1)就是表示个案在干预组时中介变量的取值。

像这样的反事实结果表示还有很多,可以一张表格总结如下:

 

借助这些反事实的表达我们就可以用两个反事实结果的差值来定义中介作用了,这么一整套中介的定义方法就叫做基于反事实框架的因果中介。

Causal mediation analysis defines causal effects as the difference between two potential outcomes. These definitions can be applied to any mediation model to estimate natural direct and indirect effects, including models with binary variables and an exposure–mediator interaction.

基于反事实框架的因果中介

比如:

x对y的总效应就可以表示为x取a的时候y的期望与x取a的反事实时(a*)y的期望的差值,即:E[Y(X=a,M=M(a))] – E[Y(X=a*,M=M(a*))]

x对y的间接效应就可以表示为x取a的时候y的期望与x取a,m取a的反事实时(a*)y的期望的差值,即:E[Y(X=a,M=M(a))] – E[Y(X=a,M=M(a*))]

x对y的直接效应就可以表示为x取a,m取a的反事实时(a*)y的期望与x取a的反事实时(a*)y的期望的差值,即:E[Y(X=a,M=M(a*))] – E[Y(X=a*,M=M(a*))]

上面两个红色的式子相加刚好就是总效应。在考虑直接效应的时候m可以设定在不同的水平,设定在M(a*)时叫做自然直接效应,设定在别的水平时叫做控制直接效应

上面的叙述也可以总结成下图:

 

或者更详细一点,总结成如下图:

 

到这儿,在完全没有依赖于任何模型的情况下我们将整个中介分析重新定义了。

Causal inference methods for mediation analysis (“causal mediation”) are an extension of the traditional approach, developed to better address the main limitations described above. First, these methods allow for effect decomposition in the presence of X-M interaction by defining direct and indirect effects (controlled or natural) from a potential outcomes (PO) framework and developing estimations of these quantities that are not model specific。

理论上定义各种效应的表达确实没问题,但是这些效应都是两个反事实情况的差值,在实际情况下我又不能同时观测到两个反事实,那么这些基于反事实框架定义出来的中介效应值又如何算呢?

这个时候依然需要建模做预测(一个预测m的模型和一个预测y的模型),模型出来了后,我们可以利用模型得到每个个案的反事实结果,这样就可以得出直接效应和间接效应了。

 

和传统中介不同的是这些模型不是服务于效应分解的,是用来估计反事实结果的。

 

就是根据原来数据模拟预测然后得到个案的反事实结果,再根据反事实结果,得到中介的效应分解。比如我们来看一个实际例子:下面数据集中有5个个案,通过模型估计出每个个案的反事实结果,然后根据反事实框架的下效应的计算方法即可得到我们需要的中介效应:

 

比如上图中我们的总效应就是85-4.2,我们的自然间接效应就是31.4-4.2。

以上就是和大家分享的反事实框架下的因果中介理解方法,最后再给大家放一张总结图,图中详细地总结了上面的内容:

 

因果中介的结果报告

对于因果中介的结果表达,我们也来看一篇文献,文献来自Journal of the American College of Cardiology文献名字如下:

Long-Term Cardiovascular Risk in Women With Hypertension During Pregnancy

作者的研究了hypertensive disorder of pregnancy和cardiovascular disease的关系,利用因果中介方法探究了3个中介变量在上述关系中起到的中介作用。作者通过中介占比的显著性检验得到是否中介成立的结论,中介部分具体报告内容如下:

 

可以看到对于因果中介分析,作者就报告了中介占比的点估计和置信区间以及p值,省略了对各种间接效应的报告和解释(可能是因为作者的结局是个生存数据,效应解释起来蛮有挑战性的,报告中介占比其实也完全够了,所以没报)。大家写文章的时候完全可以借鉴。

上图的报告内容在R语言中的Mediation包中可以轻松实现,实操我们安排在下一篇文章,请持续关注。

文献推荐:

Rijnhart JJM, Valente MJ, Smyth HL, MacKinnon DP. Statistical Mediation Analysis for Models with a Binary Mediator and a Binary Outcome: the Differences Between Causal and Traditional Mediation Analysis. Prev Sci. 2023 Apr;24(3):408-418. doi: 10.1007/s11121-021-01308-6. Epub 2021 Nov 16. PMID: 34782926; PMCID: PMC9108123.