【动手学因果推断】(一):因果推断入门

文章介绍了因果推断的基本概念,通过辛普森悖论展示了相关性和因果关系的区别。文中探讨了混淆因子和样本选择偏差对因果推断的影响,并引入了潜在结果和平均治疗效应(ATE)的概念,强调了在观测数据下进行因果推断的挑战和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【动手学因果推断】(一):因果推断入门


  • 🌸个人主页:JOJO数据科学
  • 📝个人介绍:统计学top3高校统计学硕士在读
  • 💌如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏
  • ✨本文收录于【动手学因果推断】本系列主要记录一些因果推断学习笔记,以及如何应用常见的方法,并给出相关代码,方便大家动手学习,后续会考虑做一些论文总结分析。

在这里插入图片描述

因果推断简要

背景

所谓因果推断,就是寻找变量间因果关系,并估计由于因对果造成的效应大小。它之所以重要,是因为因果关系一旦被准确衡量,那么只要控制了原因,我们就能得到想要的结果。例如我们知道了长高的原因,比如吃米饭是长高的唯一原因,那么如果我们想要长高,多吃米饭就可以了!因果推断应用到业务中也是一样,如果能发现某些事件与我们关心的业务指标间的因果关系,那么根据这些原因设计出有效的策略,就能得到我们想要的收益了。

接下来我们来看一个简单的例子,理解一下因果推断背后的motivation

1.Motivation:辛普森悖论

我们先来看一个非常经典的例子,假设今天我们出现了一个新的病毒:COVID-27,我们有两种治疗方案(A,B),我们该选择哪一种方案?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B2j9xvow-1679910924363)(../个性化推荐CSE258/4.Web/upload/image-20230326224700808.png)]

因此,我们先要做一批实验。分别对轻症和重症患者给予两种治疗,观察他们最后的结果来进行判断。假设实验结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OklC9hr9-1679910924364)(../个性化推荐CSE258/4.Web/upload/image-20230326232227563.png)]

对于方案A:15%的轻症病人死亡,30%的重症病人死亡,总死亡率16%

对于方案B:10%的轻症病人死亡,20%的重症病人死亡,总死亡率19%

首先我们来解释一下辛普森悖论,我们可以看到,在两组病人中,方案B的死亡率都更低,但是总体死亡率更高,这有点“反常识”,但是大家仔细观察,首先,轻症的病人死亡率一定低一些,其次,A方案大部分都是治疗轻症病人,B方案大部分是治疗重症病人,而他们的比例是不同的:轻症病人多于重症病人。

思考:我们应该选择哪个方案?

首先这个明显的悖论源于这样一个事实:"总 "一栏可以解释为我们应该选择A治疗,而 "轻度 "和 "重度 "两栏都可以解释为我们应该选择B治疗。事实上,如果我们知道某人的病情,我们应该给他B治疗,如果我们不知道他的病情,我们应该给他A治疗。因此,治疗A或治疗B都可能是正确的答案,这取决于数据的因果结构。**换句话说,因果关系是解决辛普森悖论的关键。**现在,我们只是给出了什么时候应该选择A治疗和什么时候应该选择B治疗的直觉,下面我们来更深入的讨论一下背后的原理。

场景一:

image-20230326232301820

如果病情是治疗的原因,治疗B对降低死亡率更有效。 这个例子的情况是,医生决定给大多数病情轻微的人提供A治疗。而他们把更昂贵和更有限的治疗方法B留给病情严重的人。因为病情严重的人更有可能死亡(也更有可能接受B治疗),B治疗将与总人口中的高死亡率有关。换句话说,治疗B与较高的死亡率有关,仅仅是因为病情是治疗和死亡率的共同原因。这里,条件混淆了治疗对死亡率的影响。为了纠正这种混杂,我们必须研究相同条件的病人中 这意味着较好的治疗方法是在每个亚群( "轻度 "和 "重度 "列)中产生较低死亡率的治疗方法:治疗B

我们选择B当C是T的原因

我们选择A当C是T的结果

场景二:

image-20230326232523476

如果治疗的方案是病情的原因,那么治疗A就更有效 这个例子情况是,治疗B非常稀缺,需要病人在被开出治疗处方后等待很长时间才能接受治疗。治疗A则不存在这个问题。因为COVID-27患者的病情会随着时间的推移而恶化,开出治疗B实际上会使病情轻微的患者发展为严重的病情,造成更高的死亡率。因此,即使治疗B一旦用药就比治疗A更有效,由于选择处方治疗B会导致病情恶化(因为等待时间更长),因此治疗B总的来说效果较差。考虑到这种因果结构,治疗A是比较好的。

总之,更有效的治疗方法完全取决于问题的因果结构。 在情景1中,病情是治疗方案的一个原因,治疗B更有效。在情景2中,治疗方案是造成病情的原因,治疗A更有效。如果没有因果关系,辛普森悖论就无法解决。有了因果关系,它就不是一个悖论。

2.相关不等于因果

在我们平常使用的机器学习模型中,得到的估计反映的是变量间的相关性。但是相信大多数从事数据相关工作的同学都听过一句话,相关并不意味着因果(Correlation does not Imply Causation)。我们通过一个例子来直观地理解下这句话的含义。买雪糕的人越多,出现游泳事故的次数越多。如果只看这个结果,我们可以得出下面结论:

  • 卖雪糕的老板要这些买雪糕的人去游泳😄
  • 吃雪糕的人想要去游泳😃

事实上,因果关系只是相关关系的一种。除了因果(Causation),相关性的主要来源还有混淆(Confounding)样本选择偏差(Selection bias)。三类分别对应以下三种结构:

image-20230313184833005

2.1混淆(Counfounding)

混淆(Counfounding)是指存在一个变量 X X X混淆因子),该变量构成了 T T T Y Y Y共同原因;如果忽略了 X X X的影响,那么 T T T Y Y Y之间就存在假性相关关系:即 T T T并非 Y Y Y产生的直接原因。关于混淆,就像刚刚我们的例子那样:我们在夏天发现游泳溺水的人数增加,如果忽略了气温的影响,仅凭冰淇淋销量与溺水人数呈现出来的正向相关关系,则可能得出吃冰淇淋会导致游泳溺水的错误结论。

image-20230313185312940

2.2样本选择偏差(Selection Bias)

样本选择偏差是指,当两个相互独立的变量T和Y产生了一个共同结果变量 (对撞因子),引入S则为T和Y之间打开了一条通路,从而误以为T和Y之间存在关联关系,这种现象也被称为“伯克森悖论”

例如,在一项研究中发现,一般人群中大约有5%的周肩炎,这一比例与其眼镜度数是否无关。但是当我们只关注过去3个月患周肩炎的患者时,却发现患有周肩炎,其眼镜度数平均提升250度。两者之间有很强的相关性!这是因为我们在研究“过去3个月内患周肩炎的患者”时,可能限制了对象都是一些平时用电脑较多的患者,因此他们用眼过度,导致眼镜度数增加。

现在我们了解了一些常见的相关和因果的例子,接下来我们看看如何研究因果问题,如何衡量因果效应呢?这是我们首先要回答的问题,下面我们先看一个定义

3.潜在结果(potential outcome)

潜在结果应该是我们因果推断中一个独特的定义,在机器学习和统计学中没有相关说明。我们将其定义为每一种干预下,可能的结果,任何一个干预都存在一个潜在结果

我们先来看两个场景:

场景 1

image-20230327103809968

考虑一个你头疼的场景。你正在考虑是否吃药来帮助缓解头疼。如果你吃药后头疼好了,是否意味着吃药能够治愈头疼?假设你没有吃药头疼也会好怎么办?在这种情况下,吃药并不是让你头疼好所必需的,所以吃药对你的头疼好有因果关系的说法是站不住脚的。

场景 2

image-20230327103756362

让我们稍微改变一下。考虑一下,如果你吃药后头疼好了,假设你没有吃药仍然头疼,在这种情况下,吃药对你的头疼缓解有因果关系。

在上述两种情况下,我们都使用了称为潜在结果的因果概念。你的结果Y代表是否头疼,Y= 1对应于不头疼而 Y= 0 对应于头疼。你的治疗T是你是否吃药: T= 1 对应你吃药 而 T = 0对应你不吃药

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eaQqplnt-1679910924366)(upload/image-20230327104314677.png)]

其中

  • do(T=i)代表进行某种干预

  • Y i ( 1 ) : Y_i(1): Yi(1)表示吃药后的潜在结果, Y i ( 0 ) : Y_i(0): Yi(0)表示没有吃药后的潜在结果

  • Y i ( 1 ) − Y i ( 0 ) Y_i(1)-Y_i(0) Yi(1)Yi(0)表示个人因果效应

  • 单元(Unit):干预作用的最小单元,可以是乘客、司机、订单、时间片等;一个单元可以视为数据集中的一个样本点。

  • 干预(Treatment):作用于Unit的动作,例如投放广告、优化定价策略等;干预可以是二元,也可以是多元,例如多个实验组有不同的干预水平。为了简化说明,下面我们假设干预是二元的,实验组对应,对照组对应。

因此 ,在情景一中:Causal effect = 1-1=0,在情景二中,Causal effect = 1-0=1

然而,在实际中,我们只能得到一个干预后的潜在结果,因为我们不能同时让一个人吃药又不吃药。

我们再引入两个概念:

  • 事实结果(Factual outcome):实际实施某种干预后所观测到的结果,也称为观测结果,是潜在结果的一种实际表现。

  • 反事实结果(Counterfactual outcome):对于一个单位来说,除了它真正被实施的干预以外,所有其他干预的潜在结果都是反事情结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LqFeAXO-1679910924367)(upload/image-20230327105031032.png)]

例如,我们吃药了,那么我们是观测不到未吃药结果,此时未吃药就是一个反事实结果。

而某一个单位的反事实结果我们是不能直接得到的,因此这种情况,我们考虑一个群体的因果效应

Average treatment effect (ATE): E ( Y i ( 1 ) − Y i ( 0 ) ) = E ( Y ( 1 ) ) − E ( Y ( 0 ) ) E(Y_i(1)-Y_i(0))=E(Y(1))-E(Y(0)) E(Yi(1)Yi(0))=E(Y(1))E(Y(0)),直接求 E ( Y ( 1 ) ) E(Y(1)) E(Y(1))不好算,我们有的是条件期望,得到 E ( Y ∣ T = 1 ) − E ( Y ∣ T = 0 ) E(Y|T=1)-E(Y|T=0) E(YT=1)E(YT=0),我们会想知道这两个相等吗?然而,在很多情况下,我们是不相等的。回想我们刚刚的例子:相关性不等于因果。

image-20230327110640047

当存在一个混淆变量(counfounding)时,C会对T有影响。那么如果我们能够得到一个随机控制实验,使得C与T无关,则上述两个等式是相等的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QttAaaPj-1679910924368)(upload/image-20230327110940024.png)]

我们可以得到随机实验,使得控制组和对照组之间是可比的。但是在实际中,某些情况无法做随机实验,我们就只能使用观测数据来进行因果推断。

4.观测数据下的因果推断

我们知道AB随机试验虽然是评估因果效应最科学的方法之一,但是在一些实际情况中,AB实验不适用,例如:

  • 样本之间存在一些关系

    • 样本之间存在社交网络关系(营销策略)
    • 样本之间存在竞争观察(分单策略)
  • 样本被稀释(例如发券策略)

  • 不存在可以分开的样本:

    • 例如双十一,我们无法干预哪些用户参与哪些用户不参与,这个时候没办法将用户分流。
  • ex…

那我们如何根据观测数据来估计因果效应呢?

这里我们先介绍一个最简单的想法

假设我们有一个变量W,它能够充分控制Counfounding,

使得,当给定W=w时, E ( Y ( t ) ∣ W = w ) = E ( Y ∣ T = t , W = w ) E(Y(t)|W=w)=E(Y|T=t,W=w) E(Y(t)W=w)=E(YT=t,W=w),也就是通过这个W,阻断了其它变量对T的影响,此时我们就只有Y和T之间的关系。因此,我们根据概率论的知识,可以得到

image-20230327170601830

这样就可以测量不同干预下潜在结果的期望。我们在回到一开始的例子来看看如何应用

此时,C相当于上面的W,那么根据上述的公式,我们可以计算结果如下:

image-20230327170823901

我们从直觉上来看,此时在给定C的情况下,C即不是T的因,也不是T的果,因此我们要计算的应该是两种方案整体的治疗效果,因此,我们将两种病情的比例来作为权重,且两种方案权重应该一致,因为我们面对的就是整体对象!

5.总结

我们从几个实际的例子中了明白了因果和相关的联系与区别,我们知道因果关系结构会决定某一干预的结果。 因此,如何衡量这些因果关系和和效应是十分重要的。我们介绍了相关概念:潜在结果、反事实结果,从而定义了因果效应,但是我们在这篇文章介绍的衡量因果效应是从直观上来理解的,下一篇文章将会介绍具体的框架(潜在因果框架)

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JOJO数据科学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值