第一部分链接:Jackie:因果推断边学习边分享(一)
目录
-
背景引入
-
因果推断简介
-
Rubin Causal Model (RCM) 及相关方法
-
传统RCM方法
-
深度RCM方法
-
-
Structural Equation Modeling (SEM) 及相关方法
-
因果关系的驳斥
-
因果推断与机器学习
-
学习材料推荐
-
后记
3 Rubin Causal Model (RCM) 及相关方法
Rubin系列方法是因果推断的经典方法,同时也在深度学习时代推陈出新有了新的进展。RCM系列方法的核心点在于混淆变量的控制,通过某种方式消除混淆变量的影响,保证随机试验,进而达到相关性等于因果性的效果。根据方法是否使用深度学习来完成混淆变量的消除,可以将方法分为两类:传统RCM方法和深度学习相关RCM方法。这一部分加以重点介绍非深度的RCM方法,利用深度学习的RCM方法将在下一节介绍。RCM系列方法也被称为Potential Outcome Framework,在详细介绍RCM方法之前,先介绍下RCM类因果推断问题的三个基本假设:
(1)Stable unit treament value
即:作用在样本i上的treatment产生的effect和在样本j上的treatment无关。
(2)Unconfouderness (no unmeasured confounders)
即:所有的混淆变量都已知,将已知混淆变量合理处理后T和Y的关系就是因果关系。这一条也被认为是最严格的假设,因为实际情况下很难说已经完全排除了混淆变量的影响。
(3)Positivity
即:每个样本接受treatment的概率都是大于0小于1的。
3.1 传统RCM方法
3.1.1 样本重加权
样本重加权的核心思想在于,通过赋予具有不同特征的样本以不同的权重,以使混淆变量在treatment和control两组间的分布是一致的。即消除混淆变量,保证随机试验。
参考下方图示的例子,对于一种药物的实验,假设被试者除了年龄之外其他特征都一样或者可以忽略不计(也就是混淆变量只有年龄),原始分组中治疗组年轻人:老人=3:1,对照组是1:3,通过赋予两组中较少的样本以三倍权重,计算时两组病人的年龄分布就是一致的了。
3.1.2 完全匹配(Exact Match)
完全匹配的核心思想在于,当treatment和control两组中混淆变量分布完全相同时,Y(1)-Y(0)的结果就是因果效应,因此给定一组样本后,可以寻找混淆变量几乎一致的配对变量,对应Y的差值就是因果效应,即:
计算时可以采用不同的distance。完全匹配方法的缺点在于:1)适合低维特征的情况,在特征(混淆变量)维度较高时完全匹配的数量会很少;2)距离阈值 的不好选取。由此进一步提出了下面的倾向性评分方法。
3.1.3 倾向性评分(Propensity Score)
倾向性评分的核心思想在于,混淆变量维度较高时判断两个样本是否“完全匹配”较为困难,那就通过一个分数将“匹配”量化,对分数设定阈值来定义“完全匹配”。与此同时,通过控制这一由X计算出的分数,可以保证实验是随机的,即:
这种分数可以表示为给定X下样本对样本施加treatment(T=1)的概率,这种表示因故叫做倾向性评分:
可以证明,给定e(X)后X和T是独立的。相关的证明网上有很多,可以搜索下。根据定义,倾向性评分可以通过logistic回归来计算。
进而,完全匹配问题中样本的相似性可以用倾向性评分来衡量:
3.1.4 Inverse of propensity weighting(IPW)
实在不知道翻译成什么比较好,保留了原名。如果有好的翻译欢迎留言:)
IPW的核心思想在于,在得到每个样本的倾向性评分后,1)使用全部数据计算因果效应,因为匹配方法不会使用全部的数据;2)去除X在treatment和control两组中的分布差异。
如上图所示,Unit A表示具有同样倾向性评分的一组样本,组内T=1和T=0的数量是不一样的,即X在treatment和control两组中存在分布差异。因此考虑根据倾向性评分对样本进行加权,去除混淆变量的分布差异:
进而可以计算全部样本的平均因果效应ATE:
IPW也可以认为是一种re-weighting的方法。
3.1.5 反事实生成
这里的核心思想在于,样本中寻找到好的匹配的样本对不是一件容易的事,因此可以考虑对于每个样本点去生成其对应的counterfactual的样本。之后按treatment和control分别建立Outcome Y和confounder X的线性模型,通过做差的方式得到ITE。
具体计算如下:
首先根据现有数据利用线性模型拟合Y和X,得到两个线性模型:
这样,对于每一个样本的特征X,都可以根据两个线性模型得到观测值相对应的counterfactual的值。之后可以计算ITE得到causal effect:
3.1.6 Double-ML
这一方法的核心思想在于:对于同时受到混淆变量X影响的T和Y这两个我们要研究彼此因果关系的变量,我们分别构建它们与X的回归模型。而Y和T各自不能被X回归的残差部分构建回归模型,即可得到两者之间的因果关系。
写成公式的形式:
3.1.7 基于树的方法
这一类方法的核心思想在于,样本有若干个混淆变量,在树的每一次分枝中,将一个混淆变量随机化。这类方法也被称为因果树/森林(causal tree/causal forest)。相比前几种方法,因果树是非参方法。
因果树和机器学习经典模型决策树是正好反着的,每次划分的目的是让treatment在子节点中的混乱度增加(分类任务则是让label在子节点中混乱度尽可能小),这样在叶子节点处,可以认为对所有的混淆变量都进行了随机化,即X和T是独立的了。和决策树一样,这里也可以使用信息增益或者Gini系数等方法来衡量混乱度。最终的因果效应的计算方法是:
因果树的优点在于:1)可以找到对结果最重要的混淆变量;2)方便应用到多个treatment的场景。
还有一些方法没有涉及到,希望之后能系统学习后补充,例如:
-
stratification methods
-
multi-task methods
-
meta-learning methods
还可以看出,上述这些利用机器学习做因果推断的方法的核心在于样本混淆变量(特征)的表示和处理,这一思想就为深度表示学习的应用提供了可能。在深度学习时代,完全可以通过设定合理的优化目标,让深度模型自动学习到混淆变量合理的低维表示。关于典型的深度学习做因果推断的方法会在下一节加以介绍。