一、引言
1. 相关不等于因果
鸡打鸣和太阳升起相关,但不是因为鸡打鸣所以太阳升起。(反过来说倒有点道理)
一个人买母婴用品和买女性用品的量相关,但两者之间没有因果关系,这个人有老婆孩子是两者共同的“因”
2. 随机试验
1. 随机试验是寻找因果关系最直接的方法,例如我们并不知道是发优惠券导致了订单量增加还是别的经济形势国家政策什么的导致的,最直接的办法是把一波人随机分为两拨,然后一部分发券,另一部分不发券,对比两个群体订单量的差异,因为其它变量都通过随机进行了控制,这个差异可以认为是“发券”导致的。
2. 但并不是所有场景都能随机试验。例如吸烟是否致癌,某项国家政策对居民平均收入的影响等等,很多场景下我们只能分析观察到的数据,而不能去自由地操作数据生成的过程。
3. 因果推断
因果推断主要就是基于“观察数据”,找到我们关注的一些事项之间的因果关系。大的框架上有潜在因果框架、结构因果模型等。这些框架方法都涉及到了一些假设、一些具体的分析方法、一些实际的应用场景等等,这些就是因果推断的核心知识。
二、因果推断基础
因果推断应用的场景如下:我们没有进行随机试验,而只有一些观察到的数据,这些数据包括我们关注的一些策略、这些策略导致的结果以及涉及到的样本的一些其它特征。
例如我们考察吸烟是否致癌,我们有观察到一些人,他们有的吸烟有的不吸烟(吸烟的有的一天一支有的一天一包),我们观察到他们是否得了癌症,同时我们也观察了他们的一些基础特征(年龄、性别、学历、收入、其它生活习惯等等)。
例如我们考察优惠券促活的效果,我们在数据中找到给用户发券的历史,用户里有的发券了有的没发券,有的最终购买了有的没购买,我们还有他们的一些其它特征(年龄 性别 居住城市 商品浏览记录等)。
因为数据不是随机试验得来的,所以我们不能简单的对比差异或者计算相关性去评估。例如历史上是发券活动就是针对不下单的用户,那发券了人家下单率也不一定高到哪去,如果直接对比的话就会得出“发优惠券导致下单率降低”这样荒谬的结论。
2.1 因果推断的一些基本概念
此处主要指潜在因果模型涉及的概念。
1)unit 指单个处理对象,例如上述栗子中unit就是指一个一个的人。
2)treatment 指策略集。例如发券的treatment={0,1} 0代表不发券,1代表发券。二值策略集是最简单的,也可以更复杂,例如{0,1,2}代表不发券、发一张券、发两张券等。
3)potential outcome 潜在结果,是指我们针对某个unit应用某个treatment时,它的对应的输出是什么,表示为Y(W=w)。对于一个个体,潜在结果并不是概率态。例如一个个体的潜在结果是不发券则不下单,发券了则下单。
4)observed outcome 观察结果,指unit在某个treatment下实际观察到的结果。观察结果一般表示为
5)counterfactual outcome 反事实结果, 是指假如unit当初被实施的是不同的策略值,那么它的输出是什么。
3-5主要说的都是“结果”。从集合的角度看,可以认为潜在结果=观察结果+反事实结果。
6)pre-treatment variable 策略前变量,也称为环境变量,指的是不会被策略影响的变量,比如unit的年龄、性别等,这些不会因为发券策略的不同而改变。
7)post-treatment variables 策略后变量,指的是被策略影响的变量。这个是因果推断的核心关注。例如用户下单的概率等就属于策略后变量。
8)treatment effect 策略效果,即不同策略导致的潜在结果的差异。常见的指标如下。
i. ATE 整体平均效果
从数学意义上说,ATE是一个期望值,是指所有unit在实施和不实施策略下潜在结果的差值的期望值。这个期望值可以通过严格随机试验的样本去进行估计。
ii. ATT策略组实施组策略效果
ATT是我们最关心的结果。以发券为例,我们真正关注的就是对于我们发券的,也就是W=1的那帮人,假如当初没有给他们发券,Y具体是多少。也就是说发券对Y的影响值是多少。ATT的表达式是两个期望值的差,其中后一个就是典型的“反事实结果”。
iii. CATE 条件平均策略效果,是指针对特定的子群,策略的平均效果。
此处的子群通常是使用一些策略前变量(X)筛选出来的。CATE与ATT在表达式形式上有点类似,但两者表达的是完全不同的东西。ATT中必然有一部分是反事实结果,CATE则有可能全是观察结果。CATE有时候也被称为分层实验结果。
iv. ITEi 个体策略结果 是指针对某个个体的策略效果
因为针对任一个体,只能有一个策略值,所以必然涉及到反事实结果。
9)因果推断的目标
基于观察数据集,推算出ATE ATT CATE ITEi等指标。观察数据集可能涉及到了随机试验,也可能没有涉及。
2.2 一个栗子 略
2.3 因果推断的三个假设
此处主要针对潜在因果模型来说的。
1. SUTVA 个体-策略值稳定性假设,有两个含义:1)个体间是独立的;2)对于任意一个个体,他在特定策略值下的潜在结果是固定的。
2. 可忽略性,也叫无混杂性,是非常重要的一点,指:
在特定环境变量下,策略分配和策略的潜在结果是独立的,即
上面说的不是人话。
1)不根据潜在结果的的差异来分配策略。任意两个样本得到特定策略值的概率相同。
这一点和大部分实际场景是矛盾的,例如发券活动,我们肯定根据历史经验筛选出那些不太容易下单的用户给他们发券,也就是说发券客群的潜在结果就是倾向于不下单的。所以此时给出“特定环境变量”的限制条件,意思是虽然整体来讲策略和潜在结果显然不独立,但我们可以通过一些环境变量(年龄、城市等)进行人群筛选,在筛选出的特定客群上,策略和潜在结果独立。
2)策略的分配也不会影响潜在结果的分布。策略最终导致了观察结果,但不会影响整个潜在结果的分布。有点绕。
3. 正向假设,对于任何个体,任何策略都有可能被分配到。
举一个反例:在信贷定价策略中,信用水平和定价负相关。假设信用水平有ABC三档,定价有低中高三档,其中AB档的用户根据某些权益策略可能被分配到低中高任一种,但C档用户只会给以高定价。那么这个样本就不满足正向假设,因为没有W=中或低 且 X=C的样本。预测给与C档低定价时他们的响应率会如何变动 这件事也是没有意义的,因为我们永远不会给C低定价。
4. 总结
在以上三个假设下,策略的观测结果就是策略的潜在结果,即
基于上述假设重新推导ATE ATT CATE ITEi的表达式(以为例)
1) 当wi=1时是前半部分,wi=0时是后半部分。
2) # 直接基于观察数据计算出来
3)
4)
其实这四个公式看着复杂,但形式具有高度统一性,① 它们的直接表达式都可以使用观察数据表达出来,②最终都可以转换为ITEi的表达式,只不过是不同的set。
2.4 混杂及其解决办法
1. 什么是混杂因子?
在2.3中提到了三个假设,及在假设成立条件下策略效果的计算方法。 但无混杂性假设是很难满足的,只要不是严格的随机试验,观察数据一般都带有混杂因素。
混杂是指同时影响策略分配和策略潜在结果的因素。最常见的栗子就是AB两种治疗方案,A是激进方案,B是保守方案,通过观察患者的情况,整体看A方案的治愈率高于B。但当把患者拆成年轻人和老年人时发现,在两个群体上A的治愈率均低于B。
造成这种辛普森逆转的原因是混杂因素:年龄。年龄影响了策略分配,即更多的年轻人选择激进A,更多了老年人选择保守B。年龄也影响了策略的潜在结果,AB任意策略下,年轻人的治愈率都高于老年人。
因此,更多的易治愈的年轻人选择了A,导致在整体上看A优于B,但实际上A在年轻人和老年人各自的群体上效果都不如B。

2. 混杂因子的影响及处理办法
1)辛普森逆转
针对这种由已知的混杂因素导致的逆转现象,应该使用该混杂因素对样本进行分层,根据分层的策略效果,再乘以分层的占比作为权重,求得总影响。
2)选择性偏差 当我们观察到的数据和我们的目标数据不一致时,称之为选择性偏差 。例如治疗方案A和B的问题,目标分布其实是很简单的,就是全体患者,他们完全随机的选了A或B。但实际情况是年轻人选A老年人选B。有两大类方法解决选择性偏差
i. 设法生成无偏的样本空间,具体的办法有权重更新法、基于匹配的方法、基于树的方法、混杂平衡法、平衡表示学习法多任务学习法等。
ii. 先根据观测数据生成基本模型,然后对选择性偏差带来的影响进行矫正,具体的方法以元学习为例。
三、三个假设前提下的因果推断方法
3.1 权重更新法
3.1.1
倾向得分 →逆倾向得分权重(IPW) → 归一化IPW
双鲁棒性(DR)
协变量平衡倾向得分(CBPS)→ CPGBS
trimming
3.1.2 混杂平衡
混杂变量:同时影响策略和结果
调整变量:只影响结果
无关变量:对策略和结果都没有影响,如果进行控制会造成过拟合
D2VD:分离混杂变量和调整变量,剔除无关变量
通过对YF进行调整← 通过先在所有变量上做回归进行实现。
3.2 分层方法
按照协变量进行分层,从而减小协变量带来的偏差
核心难点是协变量的寻找及其CATE的计算。寻找过程中可能在某些子群中找不到实验组或对照组。
协变量一般为处理前变量。
分层方法本质是粗糙的权重更新方法
3.3 匹配方法
在考察每个样本时,找到与其最接近,但被实施了相反策略的样本,以该相似样本的观察结果,作为观察样本的反事实结果估计。
核心问题是采用哪些变量,如何度量“接近”这个概念。
3.3.1 距离度量
1)基于倾向得分的距离(倾向得分本身又使用了协变量)
2)预知分数:对 对照组的相关变量和结果进行建模,得到预知分数
3)HSIC-NNM 分别对策略组和实验组做线性回归,
对相关变量进行线性变换,该线性变换要求①相似的相关变量得到相似的结果,②变换后与观测结果是线性无关的(不是和策略分配吗?)
BNR
RNNM
3.3.2 匹配方法
1)最近邻匹配NNM
1-1、1-2。。。
2)卡尺匹配 设置阈值的NNM
3)分层匹配 和分层有什么区别。。。
4)核匹配 KM
5)局部线性匹配 LLM
6)粗化精细匹配CEM 变量分箱要粗,匹配要精细。→ 精确匹配集 需要外推集
匹配法对变量的选取,应该尽可能多的包括与策略分配和结果相关的变量,以减少混杂,但同时要排除策略后变量和工具变量。
3.4 决策树方法
BART 贝叶斯加性决策树
1)构建决策树(获取树结构)
X:策略分配情况、混杂相关变量
Y:观察结果
Q:策略分配本身是强特征怎么办
2)另一种构建决策树:
使用策略组和对照组分别建模
Q:两个决策树结构要求一致吗?
通过决策树为样本进行了分群(分层),一个叶子节点的样本被认为是匹配的近邻样本。
3.5 表示学习
3.5.1 均衡表示学习
min{ L(h(φ(x),W), y) + h + [φ(W=1) - φ(w=0)] }
3.5.2 局部相似表示学习
3.5.3 去工具变量表示学习
对抗策略 →
3.5.4 基于表示学习的匹配方法
3.6 多任务学习法
基于倾向得分的dropout正则化
剂量反应网络 DRnet
贝叶斯网络
3.7 元学习法
直接学习E[Y|X=x],然后使用其预测不同策略的预测值,根据其差异估算CATE
T学习器 - 针对W=1和W=0的样本分别训练两个学习器 Two
S学习器 - 把策略作为一个特征加入模型 Single
X学习器 - 1)进行T学习训练两个模型,2)使用对照组模型给策略组打分,策略组模型给对照组打分,打分和真实值的差值作为新的Y,再训练两个模型;3)前后两个模型加权求和
R学习器 -
U学习器
四、放松三个假设的方法
4.1 SUTVA
假设内容:1)样本idd,2)策略只有一种水平
不满足1)的场景:社交网络、时间序列
不满足2)的场景:如用药有不同的剂量、发券有大有小等,可以分层然后one-hot成多种策略。
动态策略 等
4.2 可忽略性
最理想情况:随机试验
次理想情况:所有混杂因素都已知且可被测量
事实:很难满足
变分自编码器 各种算法
找到工具变量(只影响策略分配,不影响潜在结果):两个半监督模型
网友评论