Chapter 2 Randomized Experiments
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)\), 等价于
\]
由于最开始讲的缘故, 我们很难通过模拟实验通过上式子来计算causal effect.
但是, 如果\(A\)是纯随机选择的, 与\(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\)寻找一个
\]
即, \(\mathrm{Pr}(Y^a|A,L) = \mathrm{Pr}(Y^a|L)\).
在实际的模拟实验中, 即\(A\)根据\(L\)的不同可以进行选择, 但与\(Y^a\)没有任何关系.
上面的两种随机实验的情况, 都是为了满足可交换性, 即exchangeability, 更具体的一个是边际性质的, 一个是条件性质的.
2.3 Standardization
那么根据我们的模拟实验如何计算causal effect呢?
一种方法是standardization, 实际上就是普通的全概率公式.
\]
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}[A=1,L=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)\)表示概率密度的时候:
\]
最后等于0是因为\(\mathrm{Pr}(A=a|L)=0\).
Chapter 2 Randomized Experiments的更多相关文章
- Chapter 3 Observational Studies
目录 概 3.1 3.2 Exchangeability 3.3 Positivity 3.4 Consistency First Second Fine Point 3.1 Identifiabil ...
- Statistical Models and Social Science
1.1 Statistical Models and Social Reality KEY: complex society v.s statistical models relationship,d ...
- 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 ...
- Programming a Hearthstone agent using Monte Carlo Tree Search(chapter one)
Markus Heikki AnderssonHåkon HelgesenHesselberg Master of Science in Computer Science Submission dat ...
- Modern C++ CHAPTER 2(读书笔记)
CHAPTER 2 Recipe 2-1. Initializing Variables Recipe 2-2. Initializing Objects with Initializer Lists ...
- Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper
前面两片文章讲解了通过AIDL和Messenger两种方式实现Android IPC.而本文所讲的并不是第三种IPC方式,而是对前面两种方式进行封装,这样我们就不用直接把Aidl文件,java文件拷贝 ...
- Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- Messenger
Messenger类实际是对Aidl方式的一层封装.本文只是对如何在Service中使用Messenger类实现与客户端的通信进行讲解,对Messenger的底层不做说明.阅读Android Prog ...
- [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/174 ...
- Programming Assignment 2: Randomized Queues and Deques
实现一个泛型的双端队列和随机化队列,用数组和链表的方式实现基本数据结构,主要介绍了泛型和迭代器. Dequeue. 实现一个双端队列,它是栈和队列的升级版,支持首尾两端的插入和删除.Deque的API ...
随机推荐
- 学习java 7.3
学习内容:定义类不需要加static 成员方法在多个对象时是可以共用的,而成员变量不可以共用,多个对象指向一个内存时,改变变量的值,对象所在的类中的变量都会改变 成员变量前加private,成员方法前 ...
- acid, acknowledge, acquaint
acid sulphuric|hydrochloric|nitric|carbolic|citric|lactic|nucleic|amino acid: 硫|盐|硝|碳|柠檬|乳|核|氨基酸 王水是 ...
- LeetCode1579题——圆圈中最后剩下的数字
1.题目描述:0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字.例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删 ...
- zabbix之邮件报警
创建媒介类型 如果用QQ邮箱的话,先设置一下授权码 为用户设置报警 创建一个用户 配置动作 测试
- 【Java 基础】Java Map中的Value值如何做到可以为任意类型的值
Occasionally the average developer runs into a situation where he has to map values of arbitrary typ ...
- promise ,async 小记
Promise Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及该异步操作的结果值. 摇色子游戏,随机1-6的一个整数,并且将其返回. function fn() { retur ...
- YC-Framework版本更新:V1.0.2
分布式微服务框架:YC-Framework版本更新V1.0.2!!! 版本更新,本次版本为V1.0.2 主要更新内容如下所示: 集成ActiveMQ; 集成微信生态(支持微信公众号.微信支付.微信开放 ...
- CVE 2021-44228 Log4j-2命令执行复现及分析
12月11日:Apache Log4j2官方发布了2.15.0 版本,以修复CVE-2021-44228.虽然 2.15.0 版本解决了Message Lookups功能和JNDI 访问方式的问题,但 ...
- java 多线程 集合的包装方法Collections.synchronizedXXXXX;线程安全的集合类:Java.util.concurrent.ConcurrentXXX;java.util.concurrent.CopyOnWriteXXXX
问题:ArrayList 等线程不安全 当多线程并发修改一个集合数据时,可能同一个下标位置被覆盖. 示例代码: 一个List,我们创建10个线程,每个线程往这个List中添加1000条数据,结果往往 ...
- .Net Core 项目发布在IIS上 访问404 问题对应
对策: 1.进入线程池画面,将当前程序的线程池设为"无托管代码" 2.修改配置文件 Web.config,加上配置 原因: 因为.NetCore 5.0 自带集成了Swag ...