Hern\(\'{a}\)n M. and Robins J. Causal Inference: What If.

概

计算causal effect的一个令人头疼的地方就在于, 往往对于一个个体来讲, 我们是无法同时观测到\(Y^0, Y^1\)的, 毕竟一个人如果做了心脏迁移手术(\(A=1\)), 则我们就无法得知\(Y^0\), 反之亦然.

2.1 Randomization

要知道, 计算\(\mathrm{Pr}(Y^a)\), 等价于

\[\sum_b \mathrm{Pr}(Y^a|A=b)\mathrm{Pr}(A=b),
\]

由于最开始讲的缘故, 我们很难通过模拟实验通过上式子来计算causal effect.

但是, 如果\(A\)是纯随机选择的, 与\(Y^a\)无关, 则我们有

\[\mathrm{Pr}(Y^a|A) = \mathrm{Pr}(Y^a),
\]

则我们能够很容易地计算出causal effect了.

这个在实际模拟实验中, 便是指, 对于任意一个个体, 我们抛一枚与其无关的硬币来判断其是否进行\(A=1\).

不过需要注意的是, \(Y\)与\(A\)依然不是独立的, 这是因为\(Y\)需要根据\(A\)来选择需要表现出\(Y^0\)或者是\(Y^1\).

\(Y^a\)与\(A\)是独立的, 我们记为\(Y^a \amalg A\).

因为markdown没法用\upmodels这个符号, 就姑且用\amalg来代替了.

2.2 Conditional randomization

自然的, 我们可以在条件\(L\)寻找一个

\[Y^a \amalg A | L.
\]

即, \(\mathrm{Pr}(Y^a|A,L) = \mathrm{Pr}(Y^a|L)\).

在实际的模拟实验中, 即\(A\)根据\(L\)的不同可以进行选择, 但与\(Y^a\)没有任何关系.

上面的两种随机实验的情况, 都是为了满足可交换性, 即exchangeability, 更具体的一个是边际性质的, 一个是条件性质的.

2.3 Standardization

那么根据我们的模拟实验如何计算causal effect呢?

一种方法是standardization, 实际上就是普通的全概率公式.

\[\sum_{l} \mathbb{E}[Y|L=l,A=a] \cdot \mathrm{Pr} [L=l].
\]

2.4 Inverse probability weighting

设想, 计算\(\mathrm{Pr}[Y^a]\), 实际上就只需要知道这个群体的每个个体的\(Y^a\)即可.

现在, 假设我们想要知道\(Y^0\), 但是在模拟实验中一部分是treated\((A=1)\), 所以, 我们需要知道\((A=1)\)的人的\(Y^0\)如何. 假设对这批样本进行的是untreated\((A=0\)), 则因为可交换性, 我们可以得知,

\[\mathrm{Pr}[Y^0|A=1,L=l] = \mathrm{Pr} [Y^0|A=0,L=l],
\]

所以只是单纯的\(\mathrm{Pr}[A=1,L=l]\)乘上右项而已.

可以公式化表示为

\[\mathbb{E} [ \frac{I(A=a)Y}{f[A|L]}],
\]

容易证明这个式子和上面的standardization实际上是一致的.

不过需要注意的是, 这个方法只适用于\(A\)是离散的时候.

Technical Point 2.2 Formal definition of IP weights

p23

Technical Point 2.3 Equivalence of IP weighting and standardization

p24

这个technical 讨论了IP weighting 和 standardization 的等价性以及适用条件, 这里特别注明, 当\(A\)是连续的时候, 且\(f(A|L)\)表示概率密度的时候:

\[\mathbb{E} [ \frac{I(A=a)Y}{f[A|L]}] = \mathbb{E} \{\mathbb{E}[\frac{I(A=a)}{f(a|L)}|L]\mathbb{E}[Y^a|L]\} = \mathbb{E}[\mathrm{Pr}[A=a|L]\mathbb{E}[Y^a|L]] = 0.
\]

最后等于0是因为\(\mathrm{Pr}(A=a|L)=0\).

Chapter 2 Randomized Experiments的更多相关文章

  1. Chapter 3 Observational Studies

    目录 概 3.1 3.2 Exchangeability 3.3 Positivity 3.4 Consistency First Second Fine Point 3.1 Identifiabil ...

  2. Statistical Models and Social Science

    1.1 Statistical Models and Social Reality KEY: complex society v.s statistical models relationship,d ...

  3. CHAPTER 5 ‘The Master of Those Who know’ Aristotle 第5章 “有识之士的大师” 亚里士多德

    CHAPTER 5 ‘The Master of Those Who know’ Aristotle 第5章 “有识之士的大师” 亚里士多德 ‘All men by nature desire to ...

  4. Programming a Hearthstone agent using Monte Carlo Tree Search(chapter one)

    Markus Heikki AnderssonHåkon HelgesenHesselberg Master of Science in Computer Science Submission dat ...

  5. Modern C++ CHAPTER 2(读书笔记)

    CHAPTER 2 Recipe 2-1. Initializing Variables Recipe 2-2. Initializing Objects with Initializer Lists ...

  6. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper

    前面两片文章讲解了通过AIDL和Messenger两种方式实现Android IPC.而本文所讲的并不是第三种IPC方式,而是对前面两种方式进行封装,这样我们就不用直接把Aidl文件,java文件拷贝 ...

  7. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- Messenger

    Messenger类实际是对Aidl方式的一层封装.本文只是对如何在Service中使用Messenger类实现与客户端的通信进行讲解,对Messenger的底层不做说明.阅读Android Prog ...

  8. [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV

    仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/174 ...

  9. Programming Assignment 2: Randomized Queues and Deques

    实现一个泛型的双端队列和随机化队列,用数组和链表的方式实现基本数据结构,主要介绍了泛型和迭代器. Dequeue. 实现一个双端队列,它是栈和队列的升级版,支持首尾两端的插入和删除.Deque的API ...

随机推荐

  1. Angular @ViewChild,Angular 中的 dom 操作

    Angular 中的 dom 操作(原生 js) ngAfterViewInit(){ var boxDom:any=document.getElementById('box'); boxDom.st ...

  2. 100个Shell脚本—【脚本6】拷贝目录

    [脚本6]拷贝目录 编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下: 一.脚本 #!/bin/bash cd /root list=(`ls`) for i i ...

  3. Java 性能优化的 50 个细节

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. #尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间, ...

  4. iOS 的文件操作

    直接上操作 效果:将一张图片写入文件 (图片本身已经在Assets.xcassets里面了) 1.获取当前app的沙盒路径 NSString *documentPath = NSSearchPathF ...

  5. LinkBinTree

    package ch11; import java.util.ArrayList; import java.util.List; import java.util.Stack; public clas ...

  6. 【编程思想】【设计模式】【结构模式Structural】桥梁模式/桥接模式bridge

    Python版 https://github.com/faif/python-patterns/blob/master/structural/bridge.py #!/usr/bin/env pyth ...

  7. 【Matlab】向图像域添加噪声/高斯/均匀/伽马/指数/椒盐

    [向图像域添加噪声] matlab自带一个函数:imnoise,可以对图像添加噪声. Matlab的说明 https://www.mathworks.com/help/images/ref/imnoi ...

  8. 为什么企业全面云化需要IT战略支撑和驱动?

    引子:为什么传统企业全面云化一直磨磨唧唧举步维艰? 笔者将企业上云大体上分为几个阶段: 第一个阶段是基础设施虚拟化.即将应用从物理机搬到(lift and shift migration)虚拟机上.基 ...

  9. windows 显示引用账户已被锁定,且可能无法登录

    今天遇到一个比较尴尬的事情,清理笔记本键盘时,在锁屏界面多次碰到enter键,在登录界面被锁定无法登录. 一开始慌了,因为没遇到过这样的问题.百度一看方法不少,便开始尝试, 有的说是重启进入安全模式, ...

  10. Flutter 中如何优雅的实现多渠道打包(埋点统计系列)

    我是 Zero,脑图先奉上 先赞后看,更新永不断 只要你关注 Flutter,这篇文章你绝对用得着,==> 强烈建议收藏 多渠道打包介绍 多渠道打包的主要作用是满足产品的运营需求,统计渠道和活动 ...