大家好,欢迎来到IT知识分享网。
引入
首先我们需要明确相关性和因果推断本质上有什么区别?
最大的区别是是否控制了混杂因素。(理论上,当回归控制了所有可观测和不可观测的混杂因素,就可以探究因果关系),Causal analysis可以简单理解为 regression analysis (or any analysis) + hypothesis
在之前的几篇中,我们学习了传统的中介分析方法
1 传统中介分析模型的局限
传统中介分析假设线性回归模型的残差是呈正态分布的,且模型中的自变量满足方差齐性,a、b、c 和 c’ 系数代表其正确的函数形式(例如,线性或二次),观测样本间互相独立,并且假设估计的效应没有效应修正因子或混杂因素的干扰。
其中效应修正因子的干扰可以考虑通过在模型中包括交互项(i.e., exposure-by-covariate or mediator-by-covariate),随后估计效应修正因子取不同值时的直接和间接效应来解释。
2. 传统中介不适用于离散中介变量或者结果变量
当使用传统中介分析来估计具有非连续中介变量或结果变量的中介模型的效应时,就会出现歧义。例如,当基于来自非线性回归模型,例如逻辑回归或 Cox 比例风险回归。系数乘积和系数差值方法会提供不同的间接效应估计(ab != c-c’)
3. 此外,尽管在传统中介分析的文献中建议评估exposure- mediator交互作用,但么有给出具有暴露-中介交互作用的中介模型的效应估计和解释的指导
2 因果中介分析
因果中介分析可以在暴露-中介交互作用存在时,基于潜在结果框架(potential outcomes framework),将总暴露效应分解为因果直接影响和间接影响
因果效应定义的一个优势是它是非参数的,因此可以应用于任何类型的中介模型以得出因果效应估计,包括具有暴露-中介交互作用的模型和具有非连续中介变量或非连续结果变量的模型等
假如我们中介分析拟合以下三个模型:
如果满足以下五个假设,则ab 是中介效应(也称为间接效应)的因果估计量:
(1)X - Y 间没有混淆因素, (2)X - M 间没有混淆因素 (3) M - Y 间没有混淆因素 (4) M 到 Y 间关联不会受到的 X 的混淆影响 同时也假设 (5) X 和 M 之间不存在影响 Y 的交互作用,尽管如果需要,将交互作用添加到等式 3 可提供对该关系的估计。
反事实和潜在结果模型Counterfactual and Potential Outcomes Model
理想情况下,在一项完美的因果推理的实验中,同一参与者应该同时参与治疗组(treatment)和对照组(control group),并在每种条件下对因变量进行评估。那么显而易见这是不可能发生的,例如,要了解童年时期社会阶层对健康的影响,一个人必须在较低的社会阶层中长大并接受健康评估,同时还要在较高的社会阶层中成长并接受健康评估。两种健康评估之间的差异为社会阶层对该人健康的影响提供了因果证据。然而,很明显,一个人不能同时在下层和上层社会环境中成长,也就是说,一个人通常不能参与每个实验条件并提供每个条件下因变量的评估。
Causal effect definition
因果效应定义是基于这样一个假设,即每个单独的被试对于每个治疗水平(treatment or control)都有一个潜在的结果值。
例如,假设治疗 X 是具有两个水平 (X = 0 和 X = 1) 的二元变量,每个单独的被试(表示为 i),如果处于 X = 0 水平,他的结果变量为 Yi (0 ),如果该被试处于 X = 1 水平,他的结果变量即为 Yi (1)。个体层面的因果效应为 Yi (1) – Yi (0)。
然而,不可能在这两种情况下观察到每个个体的结果。也就是说, 对于分配到 X = 0 的个人,将观察到 Yi (0) 而不是 Yi (1),而对于分配到级别 X = 1 的个人,将观察到 Yi (1) 而不是 Yi (0). 那么假设治疗组和对照组在没有混杂的情况下可以互换,因果治疗效果就可以在平均水平上估计,即casual effect = E[Yi (1)-Yi (0)]。
每个被试的潜在中介值不依赖于其他被试的治疗状态,每个被试的潜在结果也不依赖于其他被试的治疗状态和中介值。
因果中介分析自然地将 XM 交互作用纳入效应估计中。当存在 XM 交互时,治疗结果效应因中介水平而异,而中介结果效应因治疗水平而异。
Causal effect estimation
有几种软件程序可用于估计因果中介效应,包括 SAS 和 SPSS mediation macros、 Stata PARAMED macro,SAS 中的 PROC CAUSALMED、Stata 中的 Med4Way macro、Mplus 中的 MODEL INDIRECT 语句 、 R 中”mediation” 包和 “MedFlex” 包。所有这些程序都需要估计两个回归方程作为输入来估计单中介模型的因果效应:
R语言因果中介分析实现
示例代码如下:
a<-lm(M~X+COV) b<-lm(Y~X*M+COV) set.seed(1234) contcont <- mediate(a, b, sims=2000, treat="X", mediator="M",boot = T,boot.ci.type = 'bca') summary(contcont)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128284.html