因果推断的历史
- 哲学探索阶段(古代到 19 世纪):
- 因果推断最早源于哲学家对因果关系的思辨(如亚里士多德和休谟)。这一时期关注的是因果关系的本质,但缺乏系统的数理方法。
- 统计相关性阶段(19 世纪到 20 世纪中期):
- 随着统计学的发展,相关性分析和控制变量法逐渐兴起。回归分析和随机对照试验(RCT)为因果推断带来了第一批量化工具,但因果关系依然与相关性容易混淆。
- 因果推断形式化阶段(20 世纪后期至今):
- 鲁宾的 “潜在结果框架” 和珀尔的 “因果图” 将因果推断数学化并算法化,奠定了现代因果推断理论的基础。21 世纪,因果推断与机器学习、人工智能结合,成为跨学科的重要研究工具。
Why:相关≠因果
为什么我们需要因果关系:基于相关的推断可以做出高精度的预测、但有些情况需要因果关系指导决策
- 预测问题
- 如果给某些用户推送这些内容,他们会更愿意来消费吗?
- 流失用户预测:例如app上点击过负反馈的用户留存更高,用作留存/流失率预测模型圈选出可能留存/流失的用户,没有问题。(但不一定高效)
- 干预问题
- 流失用户挽回:怎么做才能挽回流失的用户——让没有负反馈的用户提高负反馈肯定是不行的。
- 用户激励的设计/ROI计算:什么样的补贴策略能够培养新的直播观众?
- 推荐策略:给优质主播增加曝光, 是否能够促进用户 的长期直播观看和打赏 ?
- 产品功能迭代:在直播PK中进行产品功能的改进, 是否能 够带动整体直播打赏的提升?
- 预估产品和方向的长期价值(指标间关系):改变产品框架, 是否能够增进用户的直播 消费习惯与平台整体长期收入的提升?
相关性和因果性的差异来源
-
Spurious correlation
Spurious Correlations
-
辛普森悖论:分组的相关性和总体的相关性/高低不一致
- 例如:
- 男女 / 用药 vs 恢复率
- 类似:男女 / 看播时长 vs 购买率
- 男女 / 用药 vs 恢复率
- 什么时候看分组结论什么时候看总体结论呢?
- Confounding Bias 混杂偏差:由于共因 (Common Cause/Fork) 造成的相关
- 分组影响结果,但不受原因(Treatment, 处理)和结果(Effect, 效应)影响:例如性别会影响是否吃药、也会影响疾病率;但是否吃药无法影响性别
- 这时应该看分组数据。
- 分组影响结果,但不受原因(Treatment, 处理)和结果(Effect, 效应)影响:例如性别会影响是否吃药、也会影响疾病率;但是否吃药无法影响性别
- Selection Bias 选择偏差:由于共果(Mediator/Collider) 造成相关
- 分组受到原因影响,且会影响结果(称为"中介变量"):例如血压是药物发生作用的中介变量,吃药可能导致血压变化,从而影响是否康复。
- 这时要判断吃药对康复的影响,就应该看整体数据,而不应该分血压看数据。这时称分组结果具有"选择性偏差"
- 分组受到原因影响,且会影响结果(称为"中介变量"):例如血压是药物发生作用的中介变量,吃药可能导致血压变化,从而影响是否康复。
- Confounding Bias 混杂偏差:由于共因 (Common Cause/Fork) 造成的相关
- 例如:
-
伯克森悖论(Berkson’s paradox):选择性偏差的例子
- 简历越好,能力越差:两者都不行的话会被刷掉,两者都很好的公司又付不起工资,因此也不会录用。
- 同样,筛选已婚人士看智商和颜值;"寒门出贵子"等,都是该悖论的影响
- 简历越好,能力越差:两者都不行的话会被刷掉,两者都很好的公司又付不起工资,因此也不会录用。
实际问题中,因果关系可能没有这么简单明确
- 例如性别、职位和薪酬的关系。
- 因果循环:比如
- 搜索影响社交、社交影响内容消费、内容消费影响搜索;
- 点赞影响流量、流量影响GMV、GMV影响流量、流量又影响点赞;
- 马太效应:曝光多/流行度高的内容会进一步获得更多曝光,互为因果的循环关系。
归因难题:在很多模型/数据分析是从结果往回寻找原因,往往去优化解释度。但解释度高不代表归因正确
- 例如
- 解释睡眠质量:穿鞋 vs 不穿鞋 对睡眠质量解释度很高;真实情况是喝醉的时候不穿鞋
- 是否给社区活跃用户提供更多的内容,能进一步提升他们在社区消费?——这里需要解答的因果关系是是否用户越活跃、越喜欢探索,就会 ⇒消费?
- 比如:可能本来用户就是喜欢app ⇒ 喜欢消费+喜欢在社区留言,不能简单把消费归因到内容给业务出结论。
- 从结果往回找原因是没有完美解决方案的难题
- 论文1:Pearl, J. (2015). Causes of Effects and Effects of Causes. Sociological Methods & Research, 44(1), 149-164. https://doi.org/10.1177/0049124114562614
- 论文2:Mueller, S., Li, A., & Pearl, J. (2021). Causes of effects: Learning individual responses from population data. https://arxiv.org/pdf/2104.13730.pdf
What:反事实难题
先把哲学上复杂的定义放到一边,只关注因果关系最实用的(最有助于你工作的)那部分定义。
- 一句话:因果关系试图回答的是what-if的问题。即假如其他一切不变,只改变X,如果Y的取值发生了改变,则认为X-Y有因果关系,更准确地说是X导致了Y。
- 设X为"是否接受手术",Y 为"个体一年后是否存活",那么每个个体都有两个潜在结果:接受手术后的结果,以及不接受手术后的结果。这两种结果之间的差别就是手术和存活间的因果关系。
- 现实中,我们只能观察到个体的某一个潜在结果,所以个体粒度的因果关系是不能确定的。这个难题被称作因果推断的根本难题,本质上是一个缺失数据(missing data)的问题。
因果推断的方法和模型的目标是解决反事实难题。
How:实验 & 从观察数据中学习因果效应
AB实验
为什么随机分流的A/B实验可以跨越数据缺失的障碍呢?一句话回答:因为随机可以保证两组用户的潜在结果一致。
- 随机试验的实质在于分配机制(即用户分流)与潜在结果无关。现实中,影响每个人潜在结果的因素数不胜数,其中很多还观测不到。但我们不需要再为此担心了,因为随机分组本身保证了用户分组和潜在结果无关。换言之,实验组/对照组是可交换的,这样每组的潜在结果可以认为是整体的潜在因果,因此可以直接对比得出因果效应(假设样本量接近无限,忽略抽样方差)。
- 这就是各家互联网公司都特别重视A/B实验的原因。比起其他方法,A/B实验让我们有机会把握因果效应,从而帮助做出业务决策。虽然到处都说"数据驱动",但不是有数据就能驱动!A/B实验获取的结果数据才能更好地驱动业务
实验的限制:
- 目标确定时可以告诉我们两条路哪个更好一些(局部优化),但没办法我们告诉路在何方
- 实验没办法直接回答因果机制的问题:观测到的指标diff只能说明策略改动的效果是什么样的,不能直接说明这个效果是怎么来的,中间过程是什么样的,如果想了解中介变量或者说机制,可能需要单独设计实验来做,在中介变量不能直接操纵的情况下会比较困难。
- Effect of cause and cause of effect :和上面类似,这不是实验特有的问题,实际上我们介绍的各种估计方法都是在估计effect of cause,而不会涉及cause of effect 即对一个现象、结果做归因的问题。
从观察数据中学习因果效应
但有很多场景下我们没有办法进行实验,如何从观察数据中进行因果推断?
核心:从观察到的数据中通过估计(estimation)来回答因果问题
- 什么是估计: 利用estimator估计estimand
- Estimand(估计量):需要估计的量(真实希望回答的问题):是一个"what if"的问题,由于反事实难题。我们无法观测到缺失那部分数据
- Estimate(估计值):使用有限数据样本对估计量的近似值。是实际得到的结果,只能依赖于现有数据。
- Estimator(估计方法):用于得出估计量估计值的方法或公式。它的核心是估计未知的数据/参数。
- 如何来估计:建立统计/机器学习/各种模型来去除bias/模拟缺失数据或模拟数据生成过程,来(近似)回答反事实问题
- 是否可以回答 :identification(可识别性)是否能从数据中得到因果效应的估计
- 一般意义的"可识别性"只模型是否是否能给出输出或"有解":例如一个线性回归模型,所有的训练数据中都没有x=5的数据,那么数据量再多也无法对x=5给出估计
两套框架
- 因果推断的分析框架有两个,一个是20世纪70年代Rubin提出的Causal Model(RCM)或Potential Outcomes Framework
- 优势:RCM将因果关系定义为事实和反事实的比较、相对来说比较容易理解并且更易应用,比较适合观测数据进行有因果推断,适用于社会科学、计量经济等领域。
- 缺点:RCM假设潜在反事实(未观察到的对比情况)是可比较的,即处理组和对照组在其他方面是相似的(具体之后会展开讲)它的一系列假设总体来说是比较强的。
- 另一个是20世纪80年代Judea Pearl 提出来的结构因果模型(Structural Causal Model, SCM)或因果图 (Causal Diagram)
- 优势:SCM提供了直观的因果图表示,它最大的好处是可以把假设直观呈现出来,可以帮助研究者理解变量之间的因果关系。此外比较适合复杂因果建模、更适用于计算机、因果发现等领域。
- 缺点:SCM对于复杂的因果关系可能难以建模,并且对于观察数据的因果推断能力有限。此外,SCM在处理未观察到的混淆变量时也存在困难
| 特性 | Rubin因果模型 (RCM) | 结构因果模型 (SCM) |
|---|---|---|
| 提出时间 | 20世纪70年代 | 20世纪80年代 |
| 核心概念 | 潜在结果框架,关注事实与反事实的比较 | 因果图,关注变量间的结构关系 |
| 适用领域 | 社会科学、计量经济学、观测数据因果推断 | 计算机科学、人工智能、因果发现 |
| 数学基础 | 概率论、统计学 | 图论、概率论 |
| 主要优势 | 1. 概念直观,易于理解和应用 2. 适合处理观测数据 3. 与随机对照试验(RCT)理论紧密相关 4. 估计方法成熟 |
1. 提供直观的因果图表示 2. 适合处理复杂的因果关系 3. 可以处理干预和反事实推理 4. 有助于理解因果机制 |
| 主要局限 | 1. 假设条件较强 2. 难以处理复杂的交互作用 3. 对未观测混杂因素敏感 4. 不适合处理动态系统 |
1. 复杂系统建模困难 2. 观察数据推断能力有限 3. 未观测混杂因素处理困难 4. 计算复杂度较高 |
| 应用场景 | 1. 政策评估 2. 医疗研究 3. 社会科学实验 4. 经济学研究 |
1. 机器学习 2. 人工智能 3. 复杂系统分析 4. 因果发现 |
| 工具支持 | 1. R语言相关包 2. Stata等统计软件 3. 传统统计方法 |
1. Python因果推断库 2. 贝叶斯网络工具 3. 图模型软件 |