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

第一讲:反事实因果分析框架(1) 1.因果关系的定义? 举个栗子: 背景:小明是个土财主,有一天他打了佣人一棍子,第二天佣人死了。 问题:打的那棍子是造成佣人死亡的原因么?    在因果推断中,是否打人是处理变量,是否死亡是响应变量,影响我们判断的乱七八糟的其他因素是混淆变量。     如果我们认为小明打人是致死的原因的话,其实我们本质上是做了这样一个假设的:如果当时小明不打他,他就不会死!     这就引入了我们的第一个概念–反事实 事实状态:我们自己可以看到,经历了的状态; 反事实状态:处理变量取值为"现实生活中没有发生"的状态下 阅读详情

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

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

传统中介方法

写反事实框架之前我们先回顾传统的中介做法,就是下面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.

R语言| 中介效应分析,Mediation包和BruceR包,循环Process函数 目录Brief summary中介效应的检验分析方法Mediation包 Brief summary 网上关于中介效应的资料挺多的,这里就不对原理进行过多解释。 简单来说,我们分析自变量 X 对因变量 Y 产生的影响,如果变量 X 通过影响变量 M 来影响变量 Y ,那么这个变量 M 就是中介变量。 例如租客 (X) 通过中介公司 (M) 找到合适的房子 (Y),中介公司就在其中扮演了中介变量的角色,中介变量发挥的作用就称为中介效应了。 对于该分析我个人有一个认知,就是X和Y必须有关联。这个关联可以是数 阅读详情

相关推荐

相关不等于因果:数据人必须掌握的因果推断实战指南

相关性是描述变量共变关系的基础统计概念,其本质是对称、无方向、依赖观察数据的数学度量;而因果性则要求建立可证伪的干预机制假设,核心在于回答‘如果改变X,Y会如何变化’。技术价值体现在避免决策误判——如将混杂变量驱动的虚假关联当作真实效应,导致资源错配。典型应用场景覆盖A/B测试设计、运营归因分析、风控规则验证及产品功能效果评估。本文聚焦数据从业者高频踩坑点,结合‘页面停留时长vs.成交额’等真实案例,系统拆解混杂变量、中介效应与选择偏差三大陷阱,并提供从因果图构建、分层分析到双重差分与因果森林的渐进式推断路

weixin_33701294的博客 446

中介分析(四)- 因果中介分析

理论上,当回归控制了所有可观测和不可观测的混杂因素,就可以探究因果关系,Causalanalysis可以简单理解为regressionanalysis(oranyanalysis)+hypothesis

深蓝的博客 1万+

DoWhy因果推断四步法:从相关到因果的工程化实践

因果推断是解决‘如果改变X,Y会怎样’这一核心业务问题的基础能力,其本质在于区分相关性与因果性,克服混杂偏倚,实现可解释、可验证的决策支持。基于do-calculus原理与后门/前门准则等因果识别理论,DoWhy将因果分析系统化为建模、识别、估计、反驳四个可审计环节,显著提升归因结论的稳健性与业务可信度。该框架特别适用于电商增长、营销ROI评估、产品策略验证等强干预场景,能有效应对未观测混杂、样本选择偏差、数据测量误差等现实挑战。本文以‘满减活动对GMV影响’为实例,详解DAG构建、识别策略选择与Refut

hwpokay的专栏 537

【Causality】结构因果下的反事实基本框架

整理了反事实的意义与起源,在结构因果模型下如何实现反事实,并举例

机器学习的第一年 3169

因果推断实战:从相关性到因果性,5大方法解决社会问题

在数据分析与决策中,厘清相关性与因果性是核心挑战。相关性仅描述变量间的共变关系,而因果性则揭示一个变量变化如何导致另一个变量变化,这是科学干预与有效决策的基础。混淆变量常导致虚假关联,例如天气同时影响冰淇淋销量与溺水人数,而非两者直接因果。为识别真实因果效应,需借助因果推断方法,其技术价值在于为观察性数据提供接近随机实验的论证严谨性,广泛应用于政策评估、项目效果衡量与资源优化。本文聚焦五种核心策略:随机对照实验作为金标准,匹配法通过倾向得分为处理组寻找相似对照,双重差分法比较处理组与对照组在干预前后的趋势变

weixin_30876945的博客 401

观察数据因果推断利器:倾向得分匹配(PSM)原理与实操

在观察性研究中,由于样本分组并非随机,直接比较处理组与对照组的均值往往混杂着选择偏差。因果推断理论通过反事实框架定义了平均处理效应,而倾向得分匹配(PSM)基于可观测协变量估计每个样本接受处理的概率,进而在倾向得分相近的样本间进行匹配,从而近似构造随机实验环境。PSM作为经典的因果推断方法,广泛应用于医学、经济学、社会科学和业务策略评估。本文系统讲解PSM的数学原理、Logit/Probit建模、多种匹配方法(最近邻、卡尺、核匹配)的选择、平衡性检验(SMD)以及处理效应估计,并提供R语言完整实操代码。同时

weixin_29800471的博客 223

CausalImpact核心原理深度解析:反事实预测与贝叶斯推断

CausalImpact是一个基于R语言的因果推断工具包,专注于时间序列数据的因果效应分析。它通过贝叶斯结构时间序列模型,构建反事实预测框架,帮助研究者量化干预措施对时间序列结果的真实影响。无论是评估政策效果、营销活动还是产品功能迭代,CausalImpact都能提供科学严谨的因果推断结果。 ## 🌟 什么是因果推断?为什么它如此重要? 在数据分析领域,我们常常需要回答"某个干预措施是否有效

gitblog_00787的博客 870

因果推断三种分析框架

因果推断所涉及的三种分析框架:反事实框架CF、潜在结果模型POF和结构因果模型SCM潜在结果模型POF使用数学和可计算的语言对因果理论进行阐述,是一种将假设、命题和结论清晰化表达的计算模型,其在原因和结果变量已知的前提下定量分析原因变量对结果变量的因果效应,并对缺失的潜在结果进行补齐,使观察性研究的效果接近试验性研究. 结构因果模型SCM则是一种基于图论的因果推断方法,它将事件分 为观察、干预和反事实三个层级,并通过 do 运算将干预和反事实层级的因果关系都降维成可以通过统计学手段解决的问题.目前因果推断的

qq_46044325的博客 1829

python 因果推断_因果推断书Causal inference:What if简介(附:因果推断书单推荐)...

Causal Inference: What If内容简介:本书由哈佛大学 Miguel Hernan、Jamie Robins 教授编著,对因果推理的概念和方法做了系统性阐述。该书在知乎等各大平台一直是呼声很高的书籍,众多计量学者期待已久,该书提供了关于因果推断的一个连贯的概念,和方法,因果推理。书籍开源地址:https://www.hsph.harvard.edu/miguel-hernan/...

weixin_39997696的博客 2488

R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从7月份有人问我,我多重中介,到现在的纵向数据中介,从一般的回归做法,到结构方程框架下的路径分析法,到反事实框架做法,从中介变量和因变量到是连续变量到中介变量和因变量是分类变量,很浩渺的系统知识,今天开始一点一点给大家写。 今天就和大家一起探讨纵向数据的中介效应检验,一般来讲考虑因果关系的时间先后顺序,纵向数据才是探讨中介的理想数据形式: In practice, it is strongly recommended to establish me

Codewar的博客 1万+

因果推断:增强AI Agent的因果理解

本文章的主要目的是深入探讨因果推断如何增强AI Agent的因果理解能力。随着人工智能技术的不断发展,AI Agent在各个领域得到了广泛应用,但现有的AI系统大多基于关联关系进行决策,缺乏对因果关系的深入理解。因果推断作为一种能够揭示事物因果关系的方法,可以帮助AI Agent更好地理解事件之间的因果联系,从而做出更合理、更智能的决策。文章的范围涵盖了因果推断的基本概念、核心算法原理、数学模型,以及如何将因果推断应用于AI Agent中,通过实际案例展示其效果。

AI云原生与云计算技术学院 879

【临床数据因果推断实战指南】:掌握R语言核心技能与真实案例解析

掌握临床数据的 R 语言因果推断核心方法,解决真实世界研究中的混杂偏倚问题。涵盖倾向评分匹配、工具变量等常用技术,适用于药物疗效评估与观察性研究分析。提供可复现代码与实战案例,助你高效开展医学数据分析,值得收藏。

CodeNexus的博客 972

LLM如何辅助因果推理:从变量识别到反事实分析

因果推理是数据分析与科学研究的核心,旨在从观察数据中识别变量间的因果关系,而非仅仅相关性。其原理基于反事实框架和结构因果模型,通过控制混淆变量来估计处理效应。这项技术的价值在于能支撑更可靠的决策,广泛应用于医疗效果评估、政策干预分析、商业策略优化等领域。随着大语言模型(LLM)技术的发展,其强大的语义理解和知识关联能力为因果推理的自动化与民主化提供了新思路。LLM能够高效辅助研究者进行混淆因子挖掘与因果图构建,尤其在处理非结构化领域知识和生成反事实叙述方面展现出独特优势。本文探讨的ArrogantL/Cha

weixin_28695537的博客 608

反事实推理实战:用CausalML进行政策效果预测

在数据分析领域,准确评估政策或干预措施的真实效果是决策制定的关键。CausalML作为一款强大的因果推理工具包,通过机器学习算法实现反事实推理,帮助研究者和决策者科学预测政策效果。本文将带您快速掌握如何使用CausalML进行政策效果预测,从基础概念到实战案例,让您轻松入门因果机器学习。 ## 什么是反事实推理?为什么需要CausalML? 反事实推理是回答"如果采取不同行动会发生什么"的科学

gitblog_00444的博客 790

R语言中的CausalQueries库:深入探讨因果推断

本文介绍了如何在R语言中使用CausalQueries库进行因果推断分析。文章详细讲解了安装方法、构建结构因果模型(SCMs)的步骤,包括定义变量间的因果关系和设置限制条件。通过实例展示了如何查询因果关系和分析结果,同时指出get_type_prob函数未导出的问题,并提供了重新安装、使用替代函数或安装开发版本等解决方案。该库为研究者提供了探索数据因果关系的有效工具,有助于更深入地理解变量间的因果效应。

m0_62153576的博客 166

Python因果推断实践指南:从相关性到因果性的完整流程

因果推断是从观测数据中识别变量间因果关系的方法论,其核心在于通过潜在结果框架和因果图等工具,在明确假设下估计干预效应。在用户增长、策略分析和学术研究中,准确评估干预效果对决策至关重要。Python生态中的DoWhy、EconML等库将因果推断流程工程化,支持倾向得分匹配、双重差分、工具变量及异质性处理效应估计,帮助从业者从数据中得出可靠结论。本指南结合代码实践,系统讲解因果推断的识别策略、估计方法与反驳检验,助力读者掌握从假设到决策的完整技能。

weixin_32830601的博客 264

因果推断 (Causal inference)

因果推断 (Causal inference)是在一个较大系统内部确定指定现象的实际、独立效果的过程。因果推断和相关性推断的主要区别是前者分析结果变量在其原因变量变化时发生的回应。研究事物起因的科学则称作原因论。因果推断可给出因果关系推理建立的因果关系模型的证据。因果推断在所有科学中都得到了广泛研究,是经济学、金融学、统计学和数据科学中的一个重要领域,它旨在确定变量之间的因果关系,而不仅仅是相关性。在金融领域,这种分析可以提供关于市场行为、政策变化或投资策略的深刻见解。

weixin_43156294的博客 2032

DDR5内存调优实战:手把手教你搞定Write Leveling Training Mode(附时序图解析)

本文深入解析DDR5内存调优中的Write Leveling Training Mode技术,详细介绍了其核心原理、硬件准备、实战步骤及常见问题解决方案。通过JESD79-5标准定义的反馈机制,帮助硬件工程师精确对齐DQS与CK信号,提升系统稳定性和数据可靠性。附有时序图解析和代码示例,适合DDR5内存系统设计与调试参考。

weixin_29256771的博客 552

LEMON框架:基于反事实强化学习的多智能体协同编排实践

多智能体系统旨在通过多个具备专业能力的智能体协同,解决复杂任务。其核心挑战在于如何高效协调个体行为,实现整体目标优化。传统多智能体强化学习方法常受限于信用分配模糊与样本效率低下。反事实强化学习通过引入“如果当初”的假设推演机制,允许智能体在虚拟环境中评估不同行动选择的潜在影响,从而清晰量化个体贡献,实现精准的信用分配,极大提升了协同学习的效率与稳定性。这一原理为构建可执行的任务编排系统提供了新思路,即智能体不仅能规划步骤,还能生成可直接运行的代码或指令。LEMON框架正是这一思想的工程实践,它将反事实推理与

weixin_34124651的博客 364

用Python玩转共现分析:从NLTK到热力图可视化(附完整代码)

本文详细介绍了如何使用Python进行文本共现分析,从NLTK基础文本处理到构建共现矩阵,并实现热力图可视化。通过完整的代码示例,帮助数据分析师和开发者掌握这一揭示词语间关联网络的实用NLP技术,快速从文本中提取语义关系和主题结构。

weixin_29313817的博客 352

【车辆仿真】从0开始建立dSPACE RT Simulink工程:输出模拟电平

0基础建议先看下前面的博文,补充基础知识。原来的博文太长太复杂,后续我会逐步梳理改进,去除操作层面的内容,仅关注知识层面,提升系列博文的系统性。【工程环境信息】:上位机:惠普台式PC(Windows 11专业版)下位机(实时机):SCALEXIO RTPC板卡:DS2680。

winnizap的博客 2055
上一篇: R数据分析:解决科研中的“可重复危机”,理解Rmarkdown
下一篇: R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解
公众号Codewar原创作者
博客等级 码龄7年 2025粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公众号Codewar原创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值