因果推断边学习边分享(二)

第一部分链接:Jackie:因果推断边学习边分享(一)

目录

  1. 背景引入

  2. 因果推断简介

  3. Rubin Causal Model (RCM) 及相关方法

    1. 传统RCM方法

    2. 深度RCM方法

  4. Structural Equation Modeling (SEM) 及相关方法

  5. 因果关系的驳斥

  6. 因果推断与机器学习

  7. 学习材料推荐

  8. 后记

3 Rubin Causal Model (RCM) 及相关方法

Rubin系列方法是因果推断的经典方法,同时也在深度学习时代推陈出新有了新的进展。RCM系列方法的核心点在于混淆变量的控制,通过某种方式消除混淆变量的影响,保证随机试验,进而达到相关性等于因果性的效果。根据方法是否使用深度学习来完成混淆变量的消除,可以将方法分为两类:传统RCM方法和深度学习相关RCM方法。这一部分加以重点介绍非深度的RCM方法,利用深度学习的RCM方法将在下一节介绍。RCM系列方法也被称为Potential Outcome Framework,在详细介绍RCM方法之前,先介绍下RCM类因果推断问题的三个基本假设:

(1)Stable unit treament value

P(Y_i|T_i,T_j,X_i)=P(Y_i|T_i,X_i)

即:作用在样本i上的treatment产生的effect和在样本j上的treatment无关。

(2)Unconfouderness (no unmeasured confounders)

T\bot((Y(0),Y(1))|X

即:所有的混淆变量都已知,将已知混淆变量合理处理后T和Y的关系就是因果关系。这一条也被认为是最严格的假设,因为实际情况下很难说已经完全排除了混淆变量的影响。

(3)Positivity

0<P(T=t|X=x)<1

即:每个样本接受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(X_i, X,j)\leq \epsilon

计算时可以采用不同的distance。完全匹配方法的缺点在于:1)适合低维特征的情况,在特征(混淆变量)维度较高时完全匹配的数量会很少;2)距离阈值\epsilon 的不好选取。由此进一步提出了下面的倾向性评分方法。

3.1.3 倾向性评分(Propensity Score)

倾向性评分的核心思想在于,混淆变量维度较高时判断两个样本是否“完全匹配”较为困难,那就通过一个分数将“匹配”量化,对分数设定阈值来定义“完全匹配”。与此同时,通过控制这一由X计算出的分数,可以保证实验是随机的,即:

T\bot X|e(X)

这种分数可以表示为给定X下样本对样本施加treatment(T=1)的概率,这种表示因故叫做倾向性评分:

e(X)=P(T=1|X)

可以证明,给定e(X)后X和T是独立的。相关的证明网上有很多,可以搜索下。根据定义,倾向性评分可以通过logistic回归来计算。

进而,完全匹配问题中样本的相似性可以用倾向性评分来衡量:

Distance(X_i, X_j)=\left| {e(X_i)-e(X_j)} \right| \leq \epsilon

3.1.4 Inverse of propensity weighting(IPW)

实在不知道翻译成什么比较好,保留了原名。如果有好的翻译欢迎留言:)

IPW的核心思想在于,在得到每个样本的倾向性评分后,1)使用全部数据计算因果效应,因为匹配方法不会使用全部的数据;2)去除X在treatment和control两组中的分布差异。

如上图所示,Unit A表示具有同样倾向性评分的一组样本,组内T=1和T=0的数量是不一样的,即X在treatment和control两组中存在分布差异。因此考虑根据倾向性评分对样本进行加权,去除混淆变量的分布差异:

\omega_i = \frac{T_i}{e_i}+\frac{1-T_i}{1-e_i}

进而可以计算全部样本的平均因果效应ATE:

ATE_{IPW}=\frac{1}{n}\sum_{i=1}^{n}\frac{T_iY_i}{𝑒(X_i)}- \frac{1}{n} \sum_{i=1}^{n}\frac{(1−T_i)Y_i}{1−e(X_i)}

IPW也可以认为是一种re-weighting的方法。

3.1.5 反事实生成

这里的核心思想在于,样本中寻找到好的匹配的样本对不是一件容易的事,因此可以考虑对于每个样本点去生成其对应的counterfactual的样本。之后按treatment和control分别建立Outcome Y和confounder X的线性模型,通过做差的方式得到ITE。

具体计算如下:

首先根据现有数据利用线性模型拟合Y和X,得到两个线性模型:

Y_{T=1}=f_{T=1}(X_{T=1})

Y_{T=0}=f_{T=0}(X_{T=0})

这样,对于每一个样本的特征X,都可以根据两个线性模型得到观测值相对应的counterfactual的值。之后可以计算ITE得到causal effect:

ITE_i=\frac{1}{n}\sum_{i}^{n}{[T_i(Y_i-f_{T=0}(X_i))} + (1-T_i)(f_{T=1}(X_i)-Y_i)]

3.1.6 Double-ML

这一方法的核心思想在于:对于同时受到混淆变量X影响的T和Y这两个我们要研究彼此因果关系的变量,我们分别构建它们与X的回归模型。而Y和T各自不能被X回归的残差部分构建回归模型,即可得到两者之间的因果关系。

写成公式的形式:

\hat{Y}=g(X)+\tilde{Y}

\hat{T}=g(X)+\tilde{T}

\tilde{Y}=\beta\tilde{T}+\epsilon

3.1.7 基于树的方法

这一类方法的核心思想在于,样本有若干个混淆变量,在树的每一次分枝中,将一个混淆变量随机化。这类方法也被称为因果树/森林(causal tree/causal forest)。相比前几种方法,因果树是非参方法。

因果树和机器学习经典模型决策树是正好反着的,每次划分的目的是让treatment在子节点中的混乱度增加(分类任务则是让label在子节点中混乱度尽可能小),这样在叶子节点处,可以认为对所有的混淆变量都进行了随机化,即X和T是独立的了。和决策树一样,这里也可以使用信息增益或者Gini系数等方法来衡量混乱度。最终的因果效应的计算方法是:

ITE_i = \frac{1}{|{i: T_i=1, X_i\in L}|} \sum_{\{i: T_i=1, X_i\in L\}}^{}{Y_i} −\frac{1}{|{i: T_i=0, X_i\in L}|}\sum_{\{i: T_i=0, X_i\in L\}}^{}{Y_i}

因果树的优点在于:1)可以找到对结果最重要的混淆变量;2)方便应用到多个treatment的场景。

还有一些方法没有涉及到,希望之后能系统学习后补充,例如:

  • stratification methods

  • multi-task methods

  • meta-learning methods

还可以看出,上述这些利用机器学习做因果推断的方法的核心在于样本混淆变量(特征)的表示和处理,这一思想就为深度表示学习的应用提供了可能。在深度学习时代,完全可以通过设定合理的优化目标,让深度模型自动学习到混淆变量合理的低维表示。关于典型的深度学习做因果推断的方法会在下一节加以介绍。

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值