因果推断Survey
论文信息
标题:A Survey on Causal Inference
发表于:TKDD 2021 CCF-B
知乎解读:
https://zhuanlan.zhihu.com/p/363894736
因果关系
因果关系是指一个事件、行为、变量或因素引起或影响另一个事件、行为、变量或因素的关系。在因果关系中,一个事物的变化导致了另一个事物的变化,或者一个事物的存在影响了另一个事物的存在。
因果关系在科学、哲学、社会科学等领域都是重要的概念,它帮助我们理解事物之间的相互作用和影响。在科学研究中,确定因果关系通常需要进行严格的实验设计和数据分析,以排除其他可能性,确保所观察到的关系是真正的因果关系,而不仅仅是相关关系。
相关性和因果关系
相关性并不意味着因果关系。
随着冰淇淋销量的增加,溺水死亡率急剧上升。这两个事件是相关的。然而,冰淇淋消费量的增加和溺水死亡可能没有因果关系。
因果推断
因果推理是根据结果发生的条件得出因果关系结论的过程。
两个主要任务
- 因果效应估计:估计干预措施对受试者的因果影响,例如药物的影响
- 因果发现:从数据推断因果结构,即寻找变量之间的因果关系
两大研究方式
- 实验研究:随机对照试验 (RCT) ,控制/治疗的分配是随机的 ,例如 A/B 测试,缺点是比较昂贵
- 观测研究:观测数据中治疗的分配不是随机的
两大模型范式
- 图因果模型:类似于概率图模型,需要对各种因素建模关系图
- 潜在输出框架:不需需要对各种因素建模关系图,直接研究策略和结果之间的关系
潜在输出框架定义
潜在因果模型关心每一个样本(个体单元)的策略与结果之间的因果关系,策略效果根据不同策略的潜在结果的差异来评估。
Unit
基本分析对象,可以是一个公司,一个患者,一个个人等等,可以统称为样本。
Treatment
对分析对象Unit可执行的策略,例如某个患者可以采用的治疗方案A和B,A和B都是策略。使用
Outcome
试验结果,但是在潜在因果框架下,我们需要细分一下不同的outcome。
Potential Outcome
潜在结果,对于任何一个样本,任何一个策略都存在一个潜在结果,
Observed Outcome
观测结果,即可观测到的结果,也称为真实结果,是潜在结果的一种实际表现。使用
Counterfactual Outcome
反事实结果,对于一个样本来说,除了它真正被实施的策略以外,所有其他策略的潜在结果都是反事情结果;反事实结果也是潜在结果的一种,可以简单理解为潜在结果=可观测结果+反事实结果。
因果效应的计算方式
ATE
Average Treatment Effect
这里不是我们AB实验中实验组与对照组的差值,而是整体群体,每一个个体都有两种潜在结果,进行相减求期望。
ATT
Average Treatment effect on the Treated group
某策略组层次,策略效果称作策略组的平均策略效果
CATE
Conditional Average Treatment Effect
某子群层次,即整体的某一个子集上的策略效果,称为条件平均效果
ITE
Individual Treatment Effect
个体层次,称为个体策略效果
我们要注意它们之间的转换关系,表面上,他们只是不同层次集合的策略效果的衡量,其实这是一个逐渐简化的过程,反过来看,我们一旦可以评估个体水平的策略效果,那么任何层次的效果都可以看作是某些个体效果的加权平均值(期望值)。
公式间的转换
那么对于上述公式,我们只需要搞定
三个前提假设
SUTVA
Stable Unit Treatment Value Assumption
- 任意个体的潜在结果不受其他个体接受的策略所影响,即个体之间是独立的
- 对于每个样本,某个策略没有不同形式或版本来导致不同的潜在结果
Ignorability
https://zhuanlan.zhihu.com/p/356635697
可忽略性,给定环境变量后,策略分配与策略会产生的潜在结果是独立的
这个假设也被称为无混杂假设,对于同样背景的样本,策略分配是完全随机的。
例子1

假设我们有 4 个司机和 8 个乘客,在未发券的情况下因果效应为 0;而在给 A 组发券时候,由于司机不足导致 B 组的乘客无法打到车,所以导致因果效应估计错误。
例子2
以营销活动投放来作为例子,假设随机将人群分到实验组和控制组,实验组用于正常投放营销活动,控制组不投放营销活动。
(实验一) 随机将50%的流量作为实验组(W=1),50%的流量作为控制组(W=0)。结果可以统计出来,两组的转化率分别为P(Y=1|W=1)=0.6和P(Y=1|W=0)=0.4,说明干预和转化有相关性,且相关差异为0.6-0.4=0.2。
(实验二) 如果将上述已经分好组的实验人群交换一下,实验组(W=1)的50%数据不投放营销活动,控制组(W=0)的50%数据投放营销活动。假设两组人群的流量完全随机分配,则实验结果会和实验一一样。
CIA 假设条件的意义:改变干预条件 W 并不改变实验结果,即干预 W 和输出 Y 独立,干预 W不影响潜在结果。
在 CIA 假设条件下,可以推断出在实验组中获得的潜在结果可以推广到全部人群中,同理,测试组的潜在结果也能推广到全部人群。
Positivity
正向假设,对于任何一个个体,任何策略都可能被分配到
因为我们的目的是评估不同策略的差异,如果某些策略完全不能被观测到,或者根本没有意义,那我们的工作就没有意义。
观测结果与潜在结果的关系
在以上三个假设的前提下,我们推导出可观测结果与潜在结果的关系:
就是在以上三个假设之下,某策略下观测到的结果就是该策略的潜在结果。即以上三个条件保证观测结果与实际的潜在结果是无偏的。
混杂
对于
但是,此时我们必须面对因果推断中存在混杂因子。混杂因子的存在让我们无法使用上面简单的估计来衡量实验效果,即混杂因子使上面的产生了错误的结果。
Confounders:混杂因子,混杂因子是同时影响策略分配和策略结果的变量。
Selection bias:选择性偏差是指观测到的数据与我们目标数据分布不一致的问题,即观测数据无法代表我们感兴趣的数据。混杂影响了个体对于策略的选择,导致了选择偏差。
辛普森悖论
研究不同治疗的对于康复的影响,单独看年轻人或者老年人的恢复率可以得到治疗B比治疗A效果更好的结果,然而总体看是治疗A的效果更好,该现象产生的原因在于选择偏差的存在。

选择偏差表现为:不同年龄的人对于治疗的选择分布不同。

因果推断方法
根据控制混杂方法的不同,分为了7个小类:(1) 权重更新方法;(2) 分层方法;(3) 匹配方法;(4) 基于树的方法;(5) 基于表示学习的方法;(6) 多任务学习方法;(7) 元学习方法。
权重更新方法
我们从上面的描述中知道,由于混杂的造成的选择性偏差,导致试验组和对照组的样本的分布不同。也就是说,我们观察的数据中,策略分配与样本的其他变量是相关的。样本权重更新是一种有效的方法。它通过给每一个样本分配不同的权重,这样生成的样本集合中,试验组和对照组的分布是类似的。
Propensity score,倾向得分,给定背景变量条件下,某个策略的选择概率:

基本IPW
治疗偏差(发优惠券比例不同,论文阿里DESCN) 选择偏差
首先给出最基本基于倾向得分的平衡得分:逆倾向得分权重(Inverse propensity weighting,IPW),也称作逆策略概率权重(inverse probability of treatment weighting,IPTW):

其实IPW可容易理解,就是样本越倾向选择这个策略,那么说明这个策略对该样本可能获得更好的策略效果,所以取逆得到的权重来平衡这个策略效果;
经过IPW权重调整之后,我们来重写一下ATE的估计公式,即ATE的加权平均值:
以及标准化IPW权重调整后的ATE的加权估计值:
经过IPW加权之后,我们大致认为各组样本之间不存在选择性偏差。
大样本和小样本理论都表明,标准化的倾向得分调整足以消除由于所有观察到的协变量而产生的偏差。倾向得分调整可以用来平衡策略组和对照组的相关变量不平衡问题,从而通过匹配、分层(次分类)、回归调整或三者的某种组合来减少偏倚。
缺点是倾向得分一旦预测不准,会导致上面的估计方法出现很大的偏差。
增强IPW
为了解决样本权重过度依赖倾向得分准确性的问题, (Doubly Robust estimator,DR)方法或者称为增强IPW(Augmented IPW,AIPW)。
DR方法具体做法类似于鸡蛋不放在一个篮子里的投资方法,它结合倾向得分和结果回归模型来得到样本权重,其具体做法如下:
其中
第一项根据试验组和对照组数据预测出结果的差异反映了两组数据在回归模型下的策略效果差异;第二项试验或对照组真实结果与模型预测结果的差距通过逆倾向得分加权的差值反映排除预测效果外,真实观测结果之间的效果差异,并用逆倾向得分进行加权;两部分差异加一起,反映了无偏的策略效果估计。
现实中,回归模型的准确性和倾向得分的准确性都不容易得到验证。结合它们可以增大了估计的鲁棒性。当然了,我们也可以想一些其他办法,将策略效果分解以增加估计的鲁棒性。另外一种方式是直接从根源入手,增加倾向得分的准确性。
增强倾向得分的准确性
IPW方法的倾向得分其实是策略的倾向选择概率,但是选择性偏差带来的是样本之间其他相关变量分布的不平衡。所以使用逆倾向得分属于只考虑了策略的倾向选择概率,却用来平衡样本之间其他相关变量的分布。Covariate balancing propensity score (CBPS),协变量平衡倾向得分方法被设计出来来同时衡量这两方面,来使倾向得分更准确。CBPS得到倾向得分的方式是求解下面的方程:
其中
在CBPS方法的基础上,还有它的增强版本the covariate balancing generalized propensity score (CBGPS) ,又来处理策略是连续值的情况。
由于策略是连续值的,所以很难直接最小化对照组与治疗组之间的协变量分布距离。CBGPS通过改变平衡得分的定义来解决这个问题。混杂的定义是既与策略相关,又与结果相关。混杂带来了选择偏差,我们通过样本权重来平衡选择偏差。那么,我们是不是可以重新定义平衡得分,不让它来平衡选择偏差,直接用来使策略与混杂不想关。根据新的平衡得分的定义,它的目的是使策略分配与样本其他相关变量是条件独立的,CBGPS方法使加权后策略分配与相关变量之间的相关性最小化。具体来说,CBGPS的目标是学习一个基于倾向得分的权重,从而使策略分配和样本其他相关变量之间的加权相关性最小化:
其中,
总而言之,CBPS和CBGPS都是直接以协变量平衡为目标学习基于倾向得分的样本权重,这可以缓解倾向得分的模型不准确带来的负面影响。
IPW估计方法的另一个缺点是,如果估计的倾向分数很小,它可能是不稳定的。如果任一策略分配的概率都很小,逻辑回归模型可能会在尾部变得不稳定,导致IPW也不太稳定。为了克服这个问题, trimming 修剪方法是一种常用的正则化策略,它消除了倾向分数小于预定义阈值的样本。
混杂平衡
Confounder balancing
上述的样本加权方法可以在将观测到样本其他变量均视为混杂因素的意义上实现平衡。然而,在实际情况中,并非所有观察到的变量都是混杂因素。有些变量被称为调整变量,只是对结果有影响,还有一些可能是无关的变量。Lasso说了,对调整变量进行调整,是不能减少偏差的,只是有助于减少方差。而调整那些无关的变量则会导致过拟合现象。
基于观察变量可以分为混杂变量、调整变量和不相关变量的分离假设,Data-Driven Variable Decomposition(D2VD),具体来说,经过D2VD算法调整的结果为:
其中
推理
合并两项
结合
将加权的ATE中的
分层方法
分层方法(Stratification)亦称为子群分类或者分块方法,是一种常见的混杂调整方法。分层的思想是通过将整个观测数据分成同质的子组(子块)来调整由于试验组和对照组之间的差异而产生的偏差。理想情况下,在每个子组中,试验组和对照组数据的协变量的某些测量下是相似的,因此,同一子组中的样本可以被视为随机对照试验数据的抽样。

由于每个子组的同质性,我们可以通过随机对照实验的方法计算每个子块(即CATE)内的策略效果。在得到各子块的CATE后,可以通过合并这些子块的CATE来获得对整个观测数据的策略效果,例如分为
其中
分层方法相对于直接使用差分方法(见下公式),显著降低了估计偏差。
减少的偏差量计算
首先作者假设策略效果与其他相关变量和策略变量都是线性关系,即:
那么我们可以得出差分估计
上面这个偏差解释一下,既然是估计偏差,也就是估计的有失偏颇之处,那这样不用考虑
分层法估计
两者在第
分层方法能减少偏差,核心部分就是如何分层和如何利用分好的子块来估计ATE。
等频率是创建区块的常见策略。等频率方法通过样本出现的概率(如倾向分数)来分割块,使样本相关变量在每个子组(块)中具有相同的出现概率(即倾向分数)。等频率,是指每个子块的样本出现的频率一致,而不是等频率的分割样本,使每个块频数一样;这个频率这里介绍可以是样本出现的概率,既前文所提样本的稀缺度。
ATE的计算方法是将每个块的CATE加权平均,以权重作为该块中样本的分数。然而,由于在倾向评分很高或很低的区块中,处理组与对照组之间的重叠不足,使这种方法存在较大的方差。即可能找不到出现频率类似的测试组和对照组子群
匹配方法
对于每个样本
匹配方法的核心是如何找到每一个样本

衡量样本之间远近的距离度量很多,例如欧式距离和马氏距离;但是,很多匹配方法提出了各自独自的距离度量方法,距离抽象出来表示就是
我们上面了解一些匹配方法中用到的距离度量,有了距离度量之后,我们还需要选择一种合适的匹配方法来为每一个样本划分近邻:

基于树的方法
基于决策树学习的方法也是一种流行的因果推断方法,这是一种预测模型方法。决策树是一种用于分类或者回归的无参数监督学习算法,决策树的目标是通过数据推导出简单的决策规则用以创建一个可以预测目标变量值的模型。
总体来说,就是我们虽然也是构建决策树,但是不是为了预测一个新的样本的目标变量,只是为了得到树的结构,然后基于这个树的结构自然而然的将整个数据集划分出很多子群,然后评估各个子群的策略效果,最后进行加权平均即可。

通过决策树的方法,对样本就行了分层,或者说对样本进行了匹配,同一个叶子结点的样本为近邻群体,实现了分层或者匹配紧邻的目的;然后与前两种因果推断方法(分层和匹配)类似的加权求平均来评估ATE。然后上面介绍了好多这种方法的优点,其实主要就是无参数,自适应,集成方法准确度高!那么具体的操作方法,作者没有详细介绍,我们在之后的实践过程中再来体会一下。
表示学习方法
一种最直接的想法就是加强表示空间中不同策略组分布之间的相似性。这样在表示空间内(其实就是对原始数据进行某种映射,映射到另一个空间),不同策略组就不存在分布偏差。学习到这样的表示空间需要权衡三个目标:(1)事实数据在表征空间的预测误差小,(2)考虑相关事实结果的反事实结果预测误差小,(3)表示空间内,策略样本和对照样本分布之间的距离小。

根据以上的目标,原参考文献给出了一个简单直观的泛化误差边界作为训练目标来学习表示空间。结果表明,该表示方法的期望ITE 估计误差为该表示方法的泛化误差和表示空间内策略组样本分布与对照组样本分布之间的距离之和。在该方法中,积分概率准则(IPM )用于衡量样本分布之间的距离,作者使用瑟斯坦距离(Wasserstein Distance)和最大平均差异距离(Maximum Mean Discrepancy)推导出了泛化误差上界。
在
其中,
这个目标函数很容易理解,首先第一项是我们想衡量的预测误差项;第二项是正则项对模型复杂度进行惩罚;第三项就是我们前面提到的表示空间内,策略样本和对照样本分布之间的距离。
多任务学习方法
策略组和对照组除了某些各自的特性外,也存在一些共同的性质。自然地,因果推理可以被定义为一个多任务学习问题,它包含策略组和对照组的共享层,以及策略组和对照组的各自的特定层。多任务学习问题中选择偏差的影响可以通过基于倾向得分的dropout 正则化方法来缓解,该方案通过依赖于倾向得分的dropout概率对每个训练样本进行细化。如果某个样本的特征落在策略组和对照组的特征空间中较差的重叠区域,那么dropout 概率更高。
多任务模型可以扩展到多个策略,即使每个策略中有连续的参数。剂量反应网络(DRNet)架构具有共享的基础层、

应用多任务学习的本质依然是通过机器学习得到精准的模型来估计反事实结果,那么对于选择性偏差问题,我们采用基于倾向得分的dropout方法来缓解。做过神经网络的同学应该比较熟悉dropout 方法,就是一种网络中常见的降低过拟合的正则化方法,原理类似于随机抽样,但是在传统的神经网络中,dropout 系数是一个我们提前设定的超参数,对每一个样本都是一样的,在这里的dropout 系数是根据倾向得分个性化的,如果某个样本的特征落在策略组和对照组的特征空间中较差的重叠区域,那么dropout 概率更高。
dropout原理
https://zhuanlan.zhihu.com/p/38200980
以一定概率随机的“临时”丢弃一部分神经元节点,相当于每次都在训练不同结构的网络
大规模深度神经网络的模型集成法
一种轻量级Bagging集成近似
N个神经元节点的网络 相当于
测试阶段每个神经元参数要乘以系数

元学习方法
我们在设计对于不同策略效果的估计算法时,应该考虑两个核心因素:1) 控制混杂,例如消除混杂造成的对策略效果错误的估计;2) 给CATE 一个精准的估计。我们之前介绍的方法均是想同时达到这两个目的,然而,基于元学习的方法将这个过程分成了两步。总体来说,基于元学习的方法有下面的两步:(1) 估计条件期望结果
https://statisticaloddsandends.wordpress.com/2022/05/20/t-learners-s-learners-and-x-learners/
https://matheusfacure.github.io/python-causality-handbook/21-Meta-Learners.html
T-learner
T学习器构造两个决策树分别估计条件策略和对照结果,记为
S-learner
与T学习器不同的是,S学习器将策略作为一个特征加入模型训练,训练了一个统一的结果预估模型:
X-learner
然而,T学习器和S学习器高度依赖训练模型的准确性,当对照组和策略组的样本数量很不均衡的时候,在数量较小的样本组上,模型效果会比较差。为了克服这个困难,X学习器额外使用对照组的信息对策略组做出了更好的估计,反之亦然;交叉各组信息的使用是X学习器名称的由来,X表示交叉。
具体来说,X学习器包含三个关键步骤。
- X学习器的第一步与T学习器相同,将训练过的元学习者记为
和 。 - 在第二步中,X学习器计算观察结果与估计结果之间的差异作为估计的策略效果(ITE):在对照组中,该差异是估计的策略结果减去观察到的对照结果,记为:
;同样的,在策略组中,差异表述为: 。进行差异计算后,将数据集连同计算出的策略效果转换为两组:对照组 和策略组 。在两个估计数据集上,以 作为输入, 作为输出,训练策略效应模型 两个元学习者。 - 最后一步是将两个CATE 估计量通过加权平均组合在一起:
,其中 为0到1之间的加权函数。总的来说,通过交叉信息的使用和两种CATE 元学习器的加权组合,X学习器可以处理两组样本数量不平衡的情况。
R-learner
https://zhuanlan.zhihu.com/p/593597051
与X学习器采用的常规的损失函数不同,R学习器为CATE 估计设计了的基于Robinson变换的损失函数。R学习器中的R表示Robinson变换。通过重写观测结果和条件估计结果可以导出Robinson变换,将观测结果重写为:
其中,
其中,
基于Robinson变换,一个良好的CATE估计应该最小化
其中
基于图神经网络的因果推断

其中,
结合历史特征的图神经网络:

其中,
评估指标
AUUC
Area Under Uplift Curve
https://zhuanlan.zhihu.com/p/457689388
https://zhuanlan.zhihu.com/p/493811028