预测causal effect的标准做法是做随机试验,但是这种随机试验通常很难完成,比如要预测吸烟与肺癌的因果效应,那么就必须随机让一部分人强制抽烟(treatment=抽烟),让另一部分人强制不抽烟(treatment=不抽烟),然后这样做是不现实的。此外如果不进行随机试验,那么我们很容易得出一些莫名其妙的结论。比如,你怎么知道是吸烟导致肺癌,而不是因为喜欢吸烟的人本身就容易得肺癌呢?换句话说,这里可能存在一个协变量X(喜欢抽烟),导致了一个人选择treatment=抽烟。

那这个问题怎么解决呢?直觉上,随机试验的本质其实就是将所有的协变量随机打散,分在treatment=抽烟和treatment=不抽烟中,从而使得协变量与是否做干预是独立的 t r e a t m e n t ⊥ X treatment \bot X treatment⊥X。所以,类似的思路,我们只要找到一种分组方式,使得X与treatment独立就可以了。那么怎么找到这种分组?我们可以定义Propensity score:
e ( x ) = d e f Pr ⁡ ( treatment = 抽 烟 ∣ X = x ) . {\displaystyle e(x)\ {\stackrel {\mathrm {def} }{=}}\ \Pr(\text{treatment}=抽烟|X=x).} e(x) =def Pr(treatment=抽烟∣X=x).
现在如果有两个人,一个抽样,一个不抽烟,但是他们的Propensity score是一样的(或者相似的),我就将他们分别分到抽烟组和不抽烟组,只要找到足够多这样的pair,这两个分组就会跟协变量独立。更直观来说,两个人的Propensity score一样,意味着他们的X应该是很接近,如果我们能找到两个“一样”的人,他们的生活环境,年龄,性别等等因素(协变量)都是一样的,除了一个人抽烟一个人不抽烟这一点不同,那么,只要有足够多这样的人,我们就能判断吸烟对肺癌的影响。

但是以上分组的过程我们完全采用一种简单matching的技术解决,也就是计算X之间的相似性然后根据相似性进行分组即可,为什么还要使用propensity score呢?原因是,如果X是超级高维的变量,简单的matching就会失效,为了维度诅咒的原因,高维的matching是非常不可靠的,然而对于propensity score而言,不管X有多少维,这个score永远只会是1维

Propensity score theorem

根据上面的分析,利用propensity score的大小就可以帮助我们找到一种分组使得该分组与treatment的效果独立,正式地:
( Y ( 1 ) , Y ( 0 ) ) ⊥ T ∣ X ⇒ ( Y ( 1 ) , Y ( 0 ) ) ⊥ T ∣ e ( X ) ( Y ( 1 ) , Y ( 0 ) ) \bot T | X \Rightarrow ( Y ( 1 ) , Y ( 0 ) ) \bot T | e ( X ) (Y(1),Y(0))⊥T∣X⇒(Y(1),Y(0))⊥T∣e(X)
要理解这个等式,我们可能需要先理解一下,为什么需要

( Y ( 1 ) , Y ( 0 ) ) ⊥ T ( Y ( 1 ) , Y ( 0 ) ) \bot T (Y(1),Y(0))⊥T

这一条件也被称为Ignorability/Exchangebility Asummption. 从下图上可以直观理解这一条件。那就是treatment的选择是独立的。

咦,那为什么,T会跟Y独立,难道不是T导致Y的吗?我们用个例子解释这个问题,假设你在纠结要不要养猫,那么我们用 Y ( 1 ) Y(1) Y(1)表示得到小猫的幸福程度,用 Y ( 0 ) Y(0) Y(0)表示没有小猫的幸福程度,显然不管我们选择得到小猫,还是没有小猫,但对于结果 Y ( 1 ) , Y ( 0 ) Y(1),Y(0) Y(1),Y(0)它永远是“存在“的,只是你无法“观测”而已,你可以想象这两个结果是上帝决定的,我们选择treatment只是决定观测到其中的哪一个,并不会影响他具体的值。

为什么这一假设如此重要?因为我们只能观测到选择treatment后的Y,而无法知道上帝决定的 Y ( 1 ) , Y ( 0 ) Y(1),Y(0) Y(1),Y(0),如果T的选择会影响上帝的结果,那么我们的观测值将不再可信,这意味着存在某些因素会同时影响t和Y。基于该假设,我们就可以预测出average treatment effect。

E [ Y ( 1 ) ] − E [ Y ( 0 ) ] = E [ Y ( 1 ) ∣ T = 1 ] − E [ Y ( 0 ) ∣ T = 0 ] = E [ Y ∣ T = 1 ] − E [ Y ∣ T = 0 ] \left. \begin{array}{l}{ E [ Y ( 1 ) ] - E [ Y ( 0 ) ] = E [ Y ( 1 ) | T = 1 ] - E [ Y ( 0 ) | T = 0 ] }\\{ = E [ Y | T = 1 ] - E [ Y | T = 0 ] }\end{array} \right. E[Y(1)]−E[Y(0)]=E[Y(1)∣T=1]−E[Y(0)∣T=0]=E[Y∣T=1]−E[Y∣T=0]​

该公式表明,我们可以从观测数据中学习出average treatment effect,然而现实中,T往往与Y(0),Y(1)不独立的,所以我们往往会做一个弱一点的假设,也就是Conditional Exchangeability/Unconfoundendess Assumption:

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

这意味着,当给定协变量X的时候,他们就是独立的,如下图所示


类似的,我们就可以推导出:

E [ Y ( 1 ) − Y ( 0 ) ∣ X ] = E [ Y ( 1 ) ∣ X ] − E [ Y ( 0 ) ∣ X ] = E [ Y ( 1 ) ∣ T = 1 , X ] − E [ Y ( 0 ) ∣ T = 0 , X ] = E [ Y ∣ T = 1 , X ] − E [ Y ∣ T = 0 , X ] \left. \begin{array}{l}{ E [ Y ( 1 ) - Y ( 0 ) | X ] = E [ Y ( 1 ) | X ] - E [ Y ( 0 ) | X ] }\\{ = E [ Y ( 1 ) | T = 1 , X ] - E [ Y ( 0 ) | T = 0 , X ] }\\{ = E [ Y | T = 1 , X ] - E [ Y | T = 0 , X ] }\end{array} \right. E[Y(1)−Y(0)∣X]=E[Y(1)∣X]−E[Y(0)∣X]=E[Y(1)∣T=1,X]−E[Y(0)∣T=0,X]=E[Y∣T=1,X]−E[Y∣T=0,X]​

根据iterated expectations: E X ( X ) = E Y [ E X ( X ∣ y ) ] E_X(X)=E_Y[E_X(X|y)] EX​(X)=EY​[EX​(X∣y)]

E X ( X ) = ∫ x p ( x ) d x = ∫ ∫ x p ( x , y ) d x d y = ∫ ∫ x p ( x ∣ y ) d x p ( y ) d y = ∫ E X [ X ∣ y ] p ( y ) d y = E Y [ E X [ X ∣ y ] ] \begin{aligned} E_{X}( X) & =\int xp( x) dx\\ & =\int \int xp( x,y) dxdy\\ & =\int \int xp( x|y) dxp( y) dy\\ & =\int E_{X}[ X|y] p( y) dy\\ & =E_{Y}[ E_{X}[ X|y]] \end{aligned} EX​(X)​=∫xp(x)dx=∫∫xp(x,y)dxdy=∫∫xp(x∣y)dxp(y)dy=∫EX​[X∣y]p(y)dy=EY​[EX​[X∣y]]​

我们可以进一步得到:

E [ Y ( 1 ) − Y ( 0 ) ] = E X [ E [ Y ( 1 ) − Y ( 0 ) ∣ X ] ] = E X [ E [ Y ∣ T = 1 , X ] − E [ Y ∣ T = 0 , X ] ] \begin{aligned} E[Y(1)-Y(0)] & =E_{X}[ E[Y(1)-Y(0)|X]]\\ & =E_{X}[ E[Y|T=1,X]-E[Y|T=0,X]] \end{aligned} E[Y(1)−Y(0)]​=EX​[E[Y(1)−Y(0)∣X]]=EX​[E[Y∣T=1,X]−E[Y∣T=0,X]]​

于是,我们就成功得到了average treatment effect. 接下来回到正题,对于propensity score的作用,

( Y ( 1 ) , Y ( 0 ) ) ⊥ T ∣ X ⇒ ( Y ( 1 ) , Y ( 0 ) ) ⊥ T ∣ e ( X ) ( Y ( 1 ) , Y ( 0 ) ) \bot T | X \Rightarrow ( Y ( 1 ) , Y ( 0 ) ) \bot T | e ( X ) (Y(1),Y(0))⊥T∣X⇒(Y(1),Y(0))⊥T∣e(X)

显然, e ( X ) e(X) e(X)起到了替代X的作用!也就是说,用一个一维的东西代替了一个高维的变量。那么从直觉上,这个东西为什么成立呢?


看上图,上面的W是我们的X,因为我们已知给定可以block掉confounder,因为e(W)是W的函数,可以认为e(W)也block掉了路径。

该正式证明过程如下:

首先因为T是二值变量,所以概率可以写成期望

P ( T = 1 , ∣ Y ( t ) , e ( X ) ) = E [ T ∣ Y ( t ) , e ( X ) ] P(T=1,|Y(t),e(X))=E[T|Y(t),e(X)] P(T=1,∣Y(t),e(X))=E[T∣Y(t),e(X)]

根据iterated expectations,可以额外增加一个 X \displaystyle X X作为条件

E [ T ∣ Y ( t ) , e ( X ) ] = E X [ E [ T ∣ Y ( t ) , e ( X ) , X ] ∣ Y ( t ) , e ( X ) ] E[T|Y(t),e(X)]=E_{X}[ E[T|Y(t),e(X),X]|Y(t),e(X)] E[T∣Y(t),e(X)]=EX​[E[T∣Y(t),e(X),X]∣Y(t),e(X)]

因为我们给定了 X \displaystyle X X,所以 e ( X ) \displaystyle e(X) e(X)只是一个X的函数,所以是可以去掉的:

= E X [ E [ T ∣ Y ( t ) , X ] ∣ Y ( t ) , e ( X ) ] =E_{X}[ E[T|Y(t),X]|Y(t),e(X)] =EX​[E[T∣Y(t),X]∣Y(t),e(X)]

根据 ( Y ( 1 ) , Y ( 0 ) ) ⊥ T ∣ X \displaystyle (Y(1),Y(0))\bot T|X (Y(1),Y(0))⊥T∣X,

= E X [ E [ T ∣ X ] ∣ Y ( t ) , e ( X ) ] =E_{X}[ E[T|X]|Y(t),e(X)] =EX​[E[T∣X]∣Y(t),e(X)]

又因为T是二值的,所以期望可以写成概率

= E X [ p ( T = 1 ∣ X ) ∣ Y ( t ) , e ( X ) ] = E X [ e ( X ) ∣ Y ( t ) , e ( X ) ] = e ( X ) \begin{aligned} & =E_{X}[ p( T=1|X) |Y(t),e(X)]\\ & =E_{X}[ e( X) |Y(t),e(X)]\\ & =e( X) \end{aligned} ​=EX​[p(T=1∣X)∣Y(t),e(X)]=EX​[e(X)∣Y(t),e(X)]=e(X)​

最后,因为条件集出现 e ( X ) \displaystyle e(X) e(X),所以这个期望最终的就是 e ( X ) \displaystyle e(X) e(X),从而与 T \displaystyle T T是独立的。

Inverse Probability Weighting (IPW)

从上面可以看到,阻碍我们正确预测Y的就是因为存在confounder,即

然后,我们希望的是没有confounder的情况,也就是,

这两幅图对应分布的区别是什么呢?那就是T和W的独立性,换句话说,我们希望,

P ( T , Y , W ) = P ( Y ∣ T , W ) P ( T ) P ( W ) P(T,Y,W)=P(Y|T,W)P(T)P(W) P(T,Y,W)=P(Y∣T,W)P(T)P(W)

然后实际上,有confounder的情况下他的分布应该是:
P ^ ( T , Y , W ) = P ( Y ∣ T , W ) P ( T ∣ W ) P ( W ) \hat{P}(T,Y,W)=P(Y|T,W)P(T|W)P(W) P^(T,Y,W)=P(Y∣T,W)P(T∣W)P(W)

那有没有可能找到一种方法使得他们相等?解决这个问题的一般方法是reweight,也就是说:

P ( T , Y , W ) = P ( T ) P ( T ∣ W ) P ^ ( T , Y , W ) = β P ^ ( T , Y , W ) P(T,Y,W)=\frac{P(T)}{P(T|W)}\hat{P}(T,Y,W)=\beta \hat{P}(T,Y,W) P(T,Y,W)=P(T∣W)P(T)​P^(T,Y,W)=βP^(T,Y,W)

通过乘以一个权重,这两个分布就可以做一个转换了,实际上,更方便的方法是对T作一个“干预操作“,这意味着T的取值一定等于某个确定的数,于是此时, 不管W取什么值,T等于某个值的概率为1,这意味着, P ( T ∣ W ) = P ( T ) = 1 P(T|W)=P(T)=1 P(T∣W)=P(T)=1。因此我们只要将 P ^ ( T , Y , W ) / p ( T ∣ W ) = P ( T , Y , W ) \hat{P}(T,Y,W)/p(T|W)=P(T,Y,W) P^(T,Y,W)/p(T∣W)=P(T,Y,W)就可以变成分布 P P P!也就是说,对于均值,我们有以下关系 E [ I ( T = t ) y ] ⟹ E [ I ( T = t ) Y p ( t ∣ w ) ] E[I(T=t)y]\Longrightarrow E[\frac{I(T=t)Y}{p(t|w)}] E[I(T=t)y]⟹E[p(t∣w)I(T=t)Y​], 这里的 I ( T = t ) I(T=t) I(T=t)其实就可以理解为一种干预操作。. 并且我们可以证明IPW的目标跟standardization treatment effect(另一种说法是back-door adjustment, 一种经过debiased的treatment effect计算方法)是等价的:

∑ w E [ Y ∣ T = t , W = w ] P ( W = w ) \sum _{w} E[ Y|T=t,W=w] P( W=w) w∑​E[Y∣T=t,W=w]P(W=w)

于是

= ∑ w E [ Y ∣ T = t , W = w ] P ( W = w ) p ( t ∣ w ) p ( t ∣ w ) = ∑ w ∑ y y P ( y ∣ T = t , W = w ) P ( W = w ) p ( t ∣ w ) p ( t ∣ w ) = ∑ w ∑ y y P ( y , T = t , W = w ) 1 p ( t ∣ w ) = ∑ w ∑ y ∑ t I ( T = t , W = w ) y P ( y , T = t , W = w ) 1 p ( t ∣ w ) = ∑ w E t , y [ I ( T = t , W = w ) y ] 1 p ( t ∣ w ) = E t , y [ I ( T = t ) y p ( t ∣ w ) ] \begin{aligned} & =\sum _{w} E[ Y|T=t,W=w] P( W=w)\frac{p( t|w)}{p( t|w)}\\ & =\sum _{w}\sum _{y} yP( y|T=t,W=w) P( W=w)\frac{p( t|w)}{p( t|w)}\\ & =\sum _{w}\sum _{y} yP( y,T=t,W=w)\frac{1}{p( t|w)}\\ & =\sum _{w}\sum _{y}\sum _{t} I( T=t,W=w) yP( y,T=t,W=w)\frac{1}{p( t|w)}\\ & =\sum _{w} E_{t,y}[ I( T=t,W=w) y]\frac{1}{p( t|w)}\\ & =E_{t,y}\left[\frac{I( T=t) y}{p( t|w)}\right] \end{aligned} ​=w∑​E[Y∣T=t,W=w]P(W=w)p(t∣w)p(t∣w)​=w∑​y∑​yP(y∣T=t,W=w)P(W=w)p(t∣w)p(t∣w)​=w∑​y∑​yP(y,T=t,W=w)p(t∣w)1​=w∑​y∑​t∑​I(T=t,W=w)yP(y,T=t,W=w)p(t∣w)1​=w∑​Et,y​[I(T=t,W=w)y]p(t∣w)1​=Et,y​[p(t∣w)I(T=t)y​]​

最后一条等式考虑了 p ( t ∣ w ) \displaystyle p( t|w) p(t∣w)中的条件 w \displaystyle w w,默认了是 W = w \displaystyle W=w W=w,所以为了方便起见,就把 I \displaystyle I I中的 W \displaystyle W W忽略掉,其实是需要加上去的,不过好像大家都是这么写的,就忽略掉了。

最后我们的计算公式就是如下:

τ ≜ E [ Y ( 1 ) − Y ( 0 ) ] = E [ 1 ( T = 1 ) Y e ( W ) ] − E [ 1 ( T = 0 ) Y 1 − 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​]

其估计值:

τ ^ = 1 n ∑ i ( 1 ( t i = 1 ) y i e ^ ( w i ) − 1 ( t i = 0 ) y i 1 − e ^ ( w i ) ) = 1 n 1 ∑ i : t i = 1 y i e ^ ( w i ) − 1 n 0 ∑ i : t i = 0 y i 1 − e ^ ( w i ) \left. \begin{array}{l}{ \hat { \tau } = \frac { 1 } { n } \sum _ { i } ( \frac { 1 ( t _ { i } = 1 ) y _ { i } } { \hat { e } ( w _ { i } ) } - \frac { 1 ( t _ { i } = 0 ) y _ { i } } { 1 - \hat { e } ( w _ { i } ) } ) }\\{ = \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 } ) } }\end{array} \right. τ^=n1​∑i​(e^(wi​)1(ti​=1)yi​​−1−e^(wi​)1(ti​=0)yi​​)=n1​1​∑i:ti​=1​e^(wi​)yi​​−n0​1​∑i:ti​=0​1−e^(wi​)yi​​​

参考资料

https://www.bradyneal.com/causal-inference-course

https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/

Propensity score简介相关推荐

  1. Propensity Score Matching

    Propensity Score Matching 倾向性得分匹配 直观解释 引言 Randomized Controlled Trials Vs Observational Studies The ...

  2. 倾向性评分匹配 Propensity Score Matching

    @[TOC](倾向性得分匹配 Propensity Score Matching)k 前言 提示:本文为基于Youtube视频:An intuitive introduction to Propens ...

  3. Propensity Score Matching(PSM)倾向性评分匹配

    Propensity Score Matching(PSM)倾向性评分匹配 PSM能够解决什么问题? 在医疗领域,研究一款新药是否有效,通常需要做的是大规模分组实验,treatment(实验组) 与 ...

  4. R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算、估计(Propensity score)、预测倾向性评分并可视化不同分组倾向性评分的分布

    R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算.估计(Propensity score).预测倾向性评分并可视化不同分组倾向性评分的分布 目录

  5. [因果推断] 倾向得分Propensity Score 原理(二)

    目录 一 前置知识 干预效果 Treatment Effect Randomized Controlled Trials(RCT) Observational Studies ATT Average ...

  6. R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算、估计(Propensity score)

    R语言使用glm构建logistic回归模型,构建多个协变量和分组变量之间的关系模型进行倾向性评分计算.估计(Propensity score) 目录

  7. 倾向得分匹配(Propensity Score Matching) 通俗解析及在Stata里的运用

    转载: http://blog.sina.com.cn/s/blog_626867f30101h3ea.html 倾向得分匹配法是一种研究方法,它在研究某项治疗.政策.或者其他事件的影响因素上很常见. ...

  8. 论文实现stata《Latent variables and propensity score matching a simulation study ...》

    论文:Latent variables and propensity score matching a simulation study - stata实现 cd D:\stata_workspace ...

  9. R语言倾向性匹配得分(Propensity score matching)PSM分析实战

    R语言倾向性匹配得分(Propensity score matching)PSM分析实战 目录 R语言倾向性匹配得分(Propensity score matching)PSM分析实战 #倾向性匹配得 ...

最新文章

  1. [BZOJ 4800][Ceoi2015]Ice Hockey World Championship(Meet-in-the-Middle)
  2. 编程之美 set 1 不要被阶乘吓倒
  3. 谈谈对Canal(增量数据订阅与消费)的理解
  4. loc和iloc的用法汇总(完成)
  5. SAP Fiori 的 UI 新主题 Horizon
  6. java虚拟机工作原理图_Java虚拟机工作原理
  7. [mybatis]sqlSessionFactory.openSession()
  8. 分组数据方差公式_连续变量假设检验 之 单因素方差检验
  9. 从HTTP响应头看苹果国内用了哪家CDN及CDN高防DDOS技术
  10. python是什么语言-python底层是什么语言
  11. SpringBoot→初始化项目just run@SpringBootApplication、请求处理@RequestMapping、属性配置yml
  12. 短信开发系列(二):GSM手机短信开发之短信解码
  13. 发那科程序全部输出_如何拷贝FANUC系统全部程序
  14. 数据分析挖掘全套课程视频spss/sas/R/excel/案例实战体系教学
  15. 矩阵理论——Smith标准型的学习
  16. Ios 12 linux,iOS12.3~12.4.2支持越狱?包括 A12 设备
  17. 国际标准智商测试题答案
  18. 从单一服务到多元化服务,智能机器人JIMI的架构改造及逐步开放的过程
  19. oracle+sql+按中文拼音排序,Oracle 中文字段进行排序的sql语句
  20. python输入数字并求和_Python如何输入数字并求和

热门文章

  1. IPRAN学习---Qos
  2. AS400如何检查谁删除了文件
  3. 安卓应用(APK)逆向工程
  4. 老板是个黑心狼 3 蠢-- 骂 老板 9 第一季大结局
  5. Linux查看电脑硬件详细信息: HardInfo - System Profiler and Benchmark
  6. 餐厅无线AP覆盖具有哪些特点
  7. 朋友面试大数据架构师岗,碰了一鼻子灰后发现…
  8. 坐标变换的艺术—PMSM估计轴系的扩展反电势公式推导
  9. android ratingbar 点击事件,android – Capture RatingBar点击
  10. 命令行注册或反注册DLL