图1. 识别-估计流程

如图1所示,前两章我们学习了如何识别因果效应,将因果量转化为统计量,这一章我们学习如何估计因果效应。

首先回忆下之前学过的相关概念。

ITE(individual treatment effect):

个体因果效应。

ITE=Yi(1)−Yi(0)ITE = Y_i(1) - Y_i(0)ITE=Yi​(1)−Yi​(0)

ATE(average treatment effect):

平均因果效应

ATE=E[Yi(1)−Yi(0)]ATE = E[Y_i(1) - Y_i(0)]ATE=E[Yi​(1)−Yi​(0)]

CATE(conditional average treatment effect):

条件平均因果效应,ATE对应的是 whole population, CATE对应的是 subpopulation。

CATE=E[Y(W=1)∣X=x]−E[Y(W=0)∣X=x]CATE = E[Y(W=1)|X=x] - E[Y(W=0)|X=x]CATE=E[Y(W=1)∣X=x]−E[Y(W=0)∣X=x]

在本章我们默认只考虑可识别情况,即都满足unconfoundedness和positivity。

COM(conditional outcome modeling,条件结果建模)

图2. 直观的建模想法

根据调整公式可得,

τ=E[Y(1)−Y(0)]=EW[E[Y∣T=1,W]−E[Y∣T=0,W]]\tau=E[Y(1)-Y(0)]=E_W[E[Y|T=1,W]-E[Y|T=0,W]]τ=E[Y(1)−Y(0)]=EW​[E[Y∣T=1,W]−E[Y∣T=0,W]],为了估计因果效应,最直接的想法是对图2所示的两个期望建模,具体模型可以是各种方法,比如线性回归,神经网络。

图3. 建模后的模型

建模后的公式可转化为如图3所示的形式,进一步转化,可以得到

ATE COM Estimator:τ^=1n∑i(μ^(1,wi)−μ^(0,wi))\hat{\tau}=\frac{1}{n}\sum_i(\hat{\mu}(1,w_i)-\hat{\mu}(0,w_i))τ^=n1​∑i​(μ^​(1,wi​)−μ^​(0,wi​))

i表示每个样本,n表示样本数。

这是ATE的表达式,我们还可以进一步推到CATE的表达式:

μ(t,w,x)=E[Y∣T=t,W=w,X=x]\mu(t,w,x)=E[Y|T=t,W=w,X=x]μ(t,w,x)=E[Y∣T=t,W=w,X=x](W是调整集合,X是子组依赖的变量,即CATE的condition)

CATE COM Estimator:τ^(x)=1nx∑i:xi=x(μ^(1,wi,x)−μ^(0,wi,x))\hat{\tau}(x)=\frac{1}{n_x}\sum_{i:x_i=x}(\hat{\mu}(1,w_i,x)-\hat{\mu}(0,w_i,x))τ^(x)=nx​1​∑i:xi​=x​(μ^​(1,wi​,x)−μ^​(0,wi​,x))

Problem with COM estimation in high dimensions

这种简单的COM模型在高维时会遇到一个问题,如图4所示,假如我们将T和W输入模型进行拟合,这时就会主线一个问题,T是1维的,相对于高维的W,在模型拟合中很容易被忽略。这样得到的τ^\hat{\tau}τ^会逼近于0.

图4. COM在高维中的问题

Grouped COM(GCOM) estimation

为了解决上述问题,GCOM提出一个简单的策略,如图5所示,直接用两个模型μ0\mu_0μ0​和μ1\mu_1μ1​分别拟合T=1和T=0的两组数据。

图5. GCOM

这样做的问题是,在μ1\mu_1μ1​模型中没有使用T=0的数据,而在μ0\mu_0μ0​模型中,也没使用T=1的数据,得到的结果τ^\hat\tauτ^会有很大方差。

Increasing Data Efficiency

为了更好地利用全部数据,我们继续学习两个算法。

TARNet

TARNet总结COM和GCOM的情况,选择先根据W数据拟合模型,然后分两个小子网络,分别值拟合T=0和T=1的数据,如图6所示,

图6. TARNet

这个模型虽然相对于COM提高了数据的利用效率,但在子网络中还是没有用到全部的数据。

X-Learner

X-Learner为了提高数据利用效率,首先,估计μ^1(x)\hat{\mu}_1(x)μ^​1​(x)和μ^0(x)\hat{\mu}_0(x)μ^​0​(x)(类似GCOM的第一步)然后,不像GCOM直接分组估计,而是利用第一步得到的两个函数与数据再进一步结合,计算ITES,处理组:τ^1,i=Yi(1)−μ^0(xi)\hat{\tau}_{1,i}=Y_i(1)- \hat{\mu}_0(x_i)τ^1,i​=Yi​(1)−μ^​0​(xi​),对照组:τ^0,i=μ^1(xi)−Yi(0)\hat{\tau}_{0,i}=\hat{\mu}_1(x_i)-Y_i(0)τ^0,i​=μ^​1​(xi​)−Yi​(0)。这样得到的τ\tauτ便嵌入了整个数据的信息,最后对学到的τ\tauτ进行re-weighint,完整的流程如图7所示。

图7. X-Learner

这个模型有个很有趣的一点,就是他拿对于x的propensity score 对x的函数 τ(x)\tau(x)τ(x)进行balance,这背后隐藏一个假设,那就是τ(x)\tau(x)τ(x)函数没有改变其confounding bias的关系。

那么在表征学习中,可不可以也假设经过卷积网络的表征,也可以进行blance confounder bias?比如10个原型,我们设其他9个原型为X,剩下一个原型为T,然后计算T对结果的因果效应?

图7的末尾提到了 propensity score,我们来学习一下。

Propensity Score

倾向得分,其目的很简单,通过分配权重使数据满足unconfoundedness。

e(W)≜P(T=1∣W)e(W)\triangleq P(T=1|W)e(W)≜P(T=1∣W)

由此可得到倾向得分理论,这个方法的重点在于用一个标量e(W)替换了高维向量W。如图8所示,W对T的效应的分布就是P(T|W),那么直接用一个函数e(W)去拟合P(T|W),就可以直接用标量e(W)替换W了。

换句话说,就是如果W可以block T 到 Y 的后门路径,那么e(W)也可以。

更正式的定义如下:

Propensity Score Theorem

如果W满足positivity和unconfoundedness,则

(Y(1),Y(0))⊥⁣ ⁣ ⁣⊥T∣W=>(Y(1),Y(0))⊥⁣ ⁣ ⁣⊥T∣e(W)(Y(1), Y(0)){\perp \!\!\! \perp}T|W =>(Y(1), Y(0)){\perp \!\!\! \perp}T|e(W)(Y(1),Y(0))⊥⊥T∣W=>(Y(1),Y(0))⊥⊥T∣e(W)

这个在观察性研究中该怎么证明?

图8. propensity score

如果大家还记得第2章的内容,会发现e(W)还有一个好处,就是他的降维提高了positivity的能力。

Inverse Probability Weighting(IPW)

图9. IPW Intuition

Also named as IPTW(inverse probability of treatment weighting).

τ≜E[Y(1)−Y(0)]=E[1(T=1)Ye(W)]−E[1(T=0)Y1−e(W)]\tau \triangleq E[Y(1)-Y(0)] = E[\frac{1(T=1)Y}{e(W)}]-E[\frac{1(T=0)Y}{1-e(W)}]τ≜E[Y(1)−Y(0)]=E[e(W)1(T=1)Y​]−E[1−e(W)1(T=0)Y​]

τ^=1n1∑i:ti=1yie^(wi)−1n0∑i:ti=0yi1−e^(wi)\hat{\tau}=\frac{1}{n_1}\sum_{i:t_i=1}\frac{y_i}{\hat{e}(w_i)} - \frac{1}{n_0}\sum_{i:t_i=0}\frac{y_i}{1-\hat{e}(w_i)}τ^=n1​1​∑i:ti​=1​e^(wi​)yi​​−n0​1​∑i:ti​=0​1−e^(wi​)yi​​

该方法主要有两个缺点,

  1. 其过度依赖于倾向值得分,e(x)出现一点偏差,ipw的误差就会急剧增大。为了解决这个问题,可以有两种方法:

    1. 在e(x)偏差时进行弥补(如对结果回归调整,DR)

    2. 提高对e(x)估计自身的robust(CBPS)。

  2. 当倾向得分过小时,IPW会变得很不稳定。

Other methods

Doubly robust methods(DR):结合COM和Propensity Score

Matching;double machine learning;causal trees and forests

Reference

Introduction to Causal Inference

因果6-估计因果效应相关推荐

  1. 智源LIVE丨北大贾金柱:更优的协变量调整的平均因果作用估计

    由智源因果社区主办的「智源LIVE丨智源因果社区:更优的协变量调整的平均因果作用估计」将于2021年11月17日(周三)14:00-15:00线上召开,本期报告嘉宾是北京大学公共卫生学院研究员,博士生 ...

  2. 因果推断杂记——因果推断与线性回归、SHAP值理论的关系(十九)

    文章目录 1 因果推断与线性回归的关系 1.1 DML的启发 1.2 特殊的离散回归 = 因果? 2 因果推断中的ITE 与SHAP值理论的思考 2.1 一些奇思妙想 2.2 因果推断 -> s ...

  3. 【贪玩巴斯】数字信号处理Digital Signal Processing(DSP)——第四节「离散时间系统分类、线性和非线性、因果和非因果、稳定和不稳定以及互联」2021-10-20

    离散时间系统分类.线性和非线性.因果和非因果.稳定和不稳定以及互联的详解 1.离散时间系统的分类 1 分为 静态 和 动态 系统(记忆长度) 2 例子 3 时不变 time-invariant VS ...

  4. 跟着开源项目学因果推断——FixedEffectModel 固定效应模型(十七)

    这个开源项目来源于快手,当然对于快手的开源项目是有前车之鉴的[生存分析--快手的基于深度学习框架的集成⽣存分析软件KwaiSurvival(一)].KwaiSurvival让我觉得是实验代码,今天要接 ...

  5. python 因果推断_因果推断书Causal inference:What if简介(附:因果推断书单推荐)...

    Causal Inference: What If 内容简介:本书由哈佛大学 Miguel Hernan.Jamie Robins 教授编著,对因果推理的概念和方法做了系统性阐述.该书在知乎等各大平台 ...

  6. 【因果学习】因果推断分析

    #01.因果推断概念 相关不是因果,事物间的因果关系常常是我们经常要面对和分析的问题,研究因果的意义是我们需要理解数据并据此做出进一步的行动和决策.比如对于我们而言,常常会想要知道"学历越高 ...

  7. 信号与系统 chapter7 因果与非因果

    "因果"这个词常常在佛教里提到,比如有因才有果,放在信号与系统里就是你有输入才有输出,但是在所有的系统中你有输入就一定有输出吗?又或者是你有输出但没有输入,这样的系统如何称呼? 此 ...

  8. 信号的扩展是因果_反因果信号的拉普拉斯变换收敛域是

    [单选题]在 linux 系统中,执行一个终端命令时通常会自动打开 3 个标准文件,其中不是的是 [填空题]已知系统函数 ,要使系统稳定,试确定 k 值的范围 . 系统函数与激励信号无关. 已知某系统 ...

  9. CGCKD2021大会报告整理(2)--因果推断与因果域适应学习

最新文章

  1. relative和absolute的区别
  2. threading模块使用_threading简介(创建多线程的两种方法)★
  3. DoraCMS 源码知识点备注
  4. 前端学习(3208):react中的事件绑定
  5. 【模板/经典题型】并查集维护生成树
  6. Unity应用架构设计(10)——绕不开的协程和多线程(Part 1)
  7. 东软是如何看待“人与资产”管理的转型
  8. 【COLING2020】面向方面级情感分类的注意力转移网络
  9. 第四章——变换域处理方法
  10. winrar加密分析
  11. 从功夫胖挞看软件开发
  12. 高校学生档案管理系统(Angularjs+HTML+CSS+bootstrap)
  13. 世界上第一台二进制电子计算机,世界上公认第一台电子计算机.doc
  14. oracle查询倒叙,ORACLE 索引结构--倒叙索引:
  15. Activiti工作流会签一 部署流程
  16. 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是几位数;2. 分别打印出每一位数字;3. 按逆序打印出各位数字,例如原数位321,应输出123。
  17. vue + element-ui 实现分页功能
  18. iphone应用隐私政策_如何在iPhone上“隐藏”联系人以获得更大的隐私
  19. GPU硬件结构和编程模型(源于nvidia的CUDA文档)
  20. 二、点亮LED(GPIO控制)

热门文章

  1. 【nlp学习】中文命名实体识别(待补充)
  2. 过度商业化的小丑——刘跑跑
  3. matlab实用小程序,matlab100常用小程序
  4. jupyter notebook 中import torchvision提示ImportError: DLL load failed: 找不到指定的模块
  5. 微信支付提示url未注册
  6. 数据结构之冒泡排序算法(图解+分析+代码调优)
  7. 浏览器打开exe程序
  8. 云服务器上手是多么的简单?你看了就知道了
  9. 防刷新网站访问量计数器
  10. pg服务管理 与 psql常用命令