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 2021/11/6
Java多线程编程 Java给多线程编程提供了内置的支持.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个钱程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用 ...
- Scala(一)【安装和IDEA中开发】
目录 一.下载 二.windows安装 三.linux环境安装 四.Ida开发Scala 1.在线下载Scala插件 2.离线下载Scala插件 3.验证 五.HelloWorld入门程序 1.新建M ...
- 【bfs】洛谷 P1443 马的遍历
题目:P1443 马的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 记录一下第一道ac的bfs,原理是利用队列queue记录下一层的所有点,然后一层一层遍历: 其中: 1.p ...
- Linux基础命令---htpasswd创建密码文件
htpasswd htpasswd指令用来创建和更新用于基本认证的用户认证密码文件.htpasswd指令必须对密码文件有读写权限,否则会返回错误码. 此命令的适用范围:RedHat.RHEL.Ubun ...
- Linux系统的文件复制移动删除与VIM编辑
目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...
- Windows异常分发
当有异常发生时,CPU会通过IDT表找到异常处理函数,即内核中的KiTrapXX系列函数,然后转去执行.但是,KiTrapXX函数通常只是对异常做简单的表征和描述,为了支持调试和软件自己定义的异常处理 ...
- 使用NTP原理进行时间同步
在一些物联网企业,平台会和嵌入式一起配合进行工作. 有时平台会希望嵌入式这边不使用现成的NTP方案自己去同步时间,而希望以平台下发的时间为准. 此时就有两个方案. 方案1. 平台下发一个时间戳tim ...
- 成本计划的输出(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 所谓"输出"就是把数据摆出来让人看,好吧,这种"看",可以直接在屏幕上看,也可以打 ...
- flink使用命令开始、停止任务
命令操作 进行flink的安装目录 动态上传jar包启动job ./bin/flink run -c com.test.CountMain -P 3 Test-1. 0-SNAPSHOT.jar -- ...
- dart系列之:dart优秀的秘诀-隔离机制
目录 简介 dart中的隔离机制 生成一个Isolate Isolate之间的交互 一个例子 总结 简介 之前介绍了很多dart中的异步编程技巧,不知道大家有没有发现一个问题,如果是在java的异步编 ...