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. Java 数据类型转化

    目录 Java类型转化 基本数据类型自动类型转换 自动类型提升 强制类型转换 - 自动类型提升的逆运算 int与long int类型与String类型 int类型转换成String类型 方法1:+ 拼 ...

  2. 一文搞懂指标采集利器 Telegraf

    作者| 姜闻名 来源|尔达 Erda 公众号 ​ 导读:为了让大家更好的了解 MSP 中 APM 系统的设计实现,我们决定编写一个<详聊微服务观测>系列文章,深入 APM 系统的产品.架构 ...

  3. 13. 搭建arm-linux-gcc交叉编译环境

    1.下载工具并解压 下载路径  http://www.arm9.net/download.asp 将 arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 拷贝到 Linux ...

  4. Java、Scala获取Class实例

    Java获取Class实例的四种方式 package com.test; /** * @description: TODO * @author: HaoWu * @create: 2020/7/22 ...

  5. openwrt装载固件

    方法1. 确定串口号以后(在设备管理器可以查看) 打开SecureCRT软件,选择串口,设置合适的波特率(我用的115200),然后快速连接, 板子通电启动,在启动的时候会提示按任意键中断,这时按下任 ...

  6. IDEA2021.2安装与配置

    https://blog.csdn.net/qq_37242720/article/details/119349394

  7. Oracle中的instr函数

    最近修改某个条件,由原来输入一个数据修改为可以输入多个,如图所示: 在实现时用到了regexp_substr函数进行分割连接起来的数据,查询时还用到了instr函数进行判断,但出现了问题,当子库存输入 ...

  8. Oracle删除重复数据记录

    删除重复记录,利用ROWID 和MIN(或MAX)函数, ROWID在整个数据库中是唯一的,由Oracle自己产生和维护,并唯一标识一行(无论该表中是否有主键和唯一性约束),ROWID确定了每条记录在 ...

  9. 【spring AOP】@Pointcut的12种用法

    @Pointcut用来标注在方法上来定义切入点. 使用格式:@ 注解(value="表达标签 (表达式格式)").如:@Pointcut("execution(* com ...

  10. 【Java多线程】线程池-ThreadPoolExecutor

    ThreadPoolExecutor提供了四个构造方法: 我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor(int corePoolSi ...