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

这一章讲一种新的方法: propensity scores.

15.1 Outcome regression

在满足条件可交换性下,

\[\mathbb{E} [Y^{a=1, c=0}|L=l] = \mathbb{E} [Y|A=1, C=0, L=l].
\]

之前的模型都是对等式左端进行建模, 倘若我们对等式右端进行建模呢?

\[\mathbb{E} [Y|A,C=0, L] = \alpha_0 + \alpha_1 A + \alpha_2 AL + \alpha_3L.
\]

15.2 Propensity scores

在IP weighting 和 g-estimation的使用过程中, 我们需要估计条件概率\(\mathrm{Pr}[A=1|L]\), 记为\(\pi (L)\).

\(\pi (L)\) 就是所谓的propensity scores, 其反应了特定\(L\)的一种倾向.

首先我们要证明,

\[Y^a \amalg A | L \Rightarrow Y^a \amalg A | \pi(L).
\]

不妨假设\(\pi(L) = s \Leftrightarrow L \in \{l_i\}\), 则

\[\begin{array}{ll}
\mathrm{Pr}[Y^a|\pi(L)=s]
&= \mathrm{Pr} [Y^a|L \in \{l_i\}] \\
&= \frac{\sum_i\mathrm{Pr}[Y^a,L=l_i]}{\sum_i \mathrm{Pr} [L=l_i]}\\
&= \frac{\sum_i\mathrm{Pr}[Y|A=a, L=l_i]\mathrm{Pr}[L=l_i]}{\sum_i \mathrm{Pr} [L=l_i]}\\
&= \frac{\mathrm{Pr}[A=a|L=l] \cdot \sum_i\mathrm{Pr}[Y|A=a, L=l_i]\mathrm{Pr}[L=l_i]}{\mathrm{Pr}[A=a|L=l]\sum_i \mathrm{Pr} [L=l_i]}\\
&= \frac{\cdot \sum_i\mathrm{Pr}[Y|A=a, L=l_i]\mathrm{Pr}[A=a, L=l_i]}{\sum_i \mathrm{Pr} [A=a, L=l_i]}\\
&= \frac{\cdot \sum_i\mathrm{Pr}[Y, A=a, L=l_i]}{\sum_i \mathrm{Pr} [A=a, L=l_i]}\\
&= \frac{\cdot \mathrm{Pr}[Y, A=a, \pi(L)=s]}{\mathrm{Pr} [A=a, \pi(L)]}\\
&= \mathrm{Pr} [Y|A=a, \pi(L)=s].
\end{array}
\]

注意: \(\pi(l_i) = \pi(l_j) = \pi(l) = s\).

注意到, 上面有很重要的一步, 我们上下同时乘以\(\mathrm{Pr}[A=a|L=l]\), 实际上只有当\(A \in \{0, 1\}\)的时候才能成立, 因为二元, 加之\(\pi(L)=s\), 所以

\[\mathrm{Pr}[A=a|L=l_i] = \mathrm{Pr}[A=a|L=l_j].
\]

也就是说当\(A\)不是二元的时候, 上面的推导就是错误的了.

怪不得书上说, propensity scores这个方法是很难推广的非二元treatments的情况的.

15.3 Propensity stratification and standardization

此时, 我们可以把\(\pi(L)\)看成一个新的中间变量\(L\)(confounder?), 如下图:

要知道, 原来的\(L\)可能是一个高维向量, 现在压缩为一维, 这意味着我们的可以将

\[\mathbb{E}[Y|A, C=0, \pi(L)]
\]

假设地更加精简.

估计或许更加牢靠(直接无参数模型?).

但是需要指出是, 不同个体的\(\pi(L)\)往往都是不同的, 这就导致我们想要估计

\[\mathbb{E} [Y|A=1, C=0|\pi(L)=s] - \mathbb{E} [Y|A=0, C=0|\pi(L)=s]
\]

几乎是不可能的.

一种比较好的做法是, 分成一段段区间, 考虑

\[\mathbb{E} [Y|A=1, C=0|\pi(L)\in \Delta_s] - \mathbb{E} [Y|A=0, C=0|\pi(L)\in \Delta_s].
\]

比如书上推荐的10分位.

当然这种做法会在一定程度上破化条件可交换性, 但是可以认为如果区间取得比较合适, 结果应该是比较合理的.

另外需要指出的, 我们往往会陷入一个误区, 觉得\(\pi(L)\), 即条件概率\(\mathrm{Pr}[A=1|L]\)的估计越准确越好, 实际上不是.

我们需要保证的仅仅是满足条件可交换性, 实际上准确度无关紧要.

有些时候过分追求准确度会适得其反, 因为这时我们往往会引入很多的变量, 导致我们的条件可交换性被大大破坏了.

所以不要仅仅当成是回归问题来看.

15.4 Propensity matching

看就是就是matching的翻版, 不过我matching也没搞懂哦.

15.5 Propensity models, structural models, predictive models

就主要是15.3里讲过的.

Fine Point

Nuisance parameters

Effect modification and the propensity score

Technical Point

Balancing scores and prognostic scores

Chapter 15 Outcome Regression and Propensity Scores的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 15 用实例了解互动控制项「Button」I

    原文:零元学Expression Blend 4 - Chapter 15 用实例了解互动控制项「Button」I 本章将教大家如何更改Button的预设Template,以及如何在Button内设置 ...

  2. Propensity Scores

    目录 基本的概念 重要的结果 应用 Propensity Score Matching Stratification on the Propensity Score Inverse Probabili ...

  3. Thinking in Java from Chapter 15

    From Thinking in Java 4th Edition. 泛型实现了:参数化类型的概念,使代码可以应用于多种类型.“泛型”这个术语的意思是:“适用于许多许多的类型”. 如果你了解其他语言( ...

  4. Think Python - Chapter 15 - Classes and objects

    15.1 User-defined typesWe have used many of Python’s built-in types; now we are going to define a ne ...

  5. 《C++ Primer》 chapter 15 TextQuery

    <C++ Primer>中第15章为了讲解面向对象编程,举了一个例子:设计一个小程序,能够处理查询给定word在文件中所在行的任务,并且能够处理“非”查询,“或”查询,“与”查询.例如执行 ...

  6. 【C++ Primer 5th】Chapter 15

    摘要: 1. 面向对象程序设计的核心思想是数据抽象.继承和动态绑定.数据抽象将类的接口和实现分离:继承定义相似的类型并对齐相似关系建模:动态绑定,在一定程度上忽略相似类型的区别,而以统一的方式使用它们 ...

  7. 《算法导论》— Chapter 15 动态规划

    序 算法导论一书的第四部分-高级设计和分析技术从本章开始讨论,主要分析高效算法的三种重要技术:动态规划.贪心算法以及平摊分析三种. 首先,本章讨论动态规划,它是通过组合子问题的解而解决整个问题的,通常 ...

  8. MySQL Crash Course #07# Chapter 15. 关系数据库. INNER JOIN. VS. nested subquery

    索引 理解相关表. foreign key JOIN 与保持参照完整性 关于JOIN 的一些建议,子查询 VS. 联表查询 我发现MySQL 的官方文档里是有教程的. SQL Tutorial - W ...

  9. Chapter 6 — Improving ASP.NET Performance

    https://msdn.microsoft.com/en-us/library/ff647787.aspx Retired Content This content is outdated and ...

随机推荐

  1. A Child's History of England.13

    Then came the boy-king, Edgar, called the Peaceful, fifteen years old. Dunstan, being still the real ...

  2. absorb

    absorb 物理的absorb比较直观.被书本/知识absorb也好理解.涉及到money/time时有点抽象,但汉语也有"吸金"的说法,consume, use up.可以吸收 ...

  3. Spark(四)【RDD编程算子】

    目录 测试准备 一.Value类型转换算子 map(func) mapPartitions(func) mapPartitions和map的区别 mapPartitionsWithIndex(func ...

  4. c学习 - 第八章:函数

    8.7 数组作函数的参数 1.数组元素作函数的参数--值传递,单向传递 2.数组名做函数的参数--地址传送 (1)实参:数组名做实参,传递的是数组首元素的地址 (2)形参:使用同类型的数组名或指针变量 ...

  5. 类型类 && .class 与 .getClass() 的区别

    一. 什么是类型类 Java 中的每一个类(.java 文件)被编译成 .class 文件的时候,Java虚拟机(JVM)会为这个类生成一个类对象(我们姑且认为就是 .class 文件),这个对象包含 ...

  6. 【Linux】【Database】【MySQL】使用percona搭建高可用的MySQL数据库

    1. 简介 1.1. 官方文档: 数据库架构:https://docs.openstack.org/ha-guide/shared-database.html 1.2. 本次使用的的是Percona ...

  7. 图书管理系统总结——数据库操纵(二):DML语句

    这里以最基本的DML语句作为例子,其他各种复杂的DML语句可以根据这些基本JDBC语句得到. 一.查询表格 这里以两张表关联查询为例,采用动态方式,根据输入的条件在WHERE语句后面接上相应的各种条件 ...

  8. MyBatis绑定Mapper接口参数到Mapper映射文件sql语句参数

    一.设置paramterType 1.类型为基本类型 a.代码示例 映射文件: <select id="findShopCartInfoById" parameterType ...

  9. java代码从出生到执行的过程浅析

    阅读<深入理解java虚拟机 第二版 JVM高级特性与最佳实践> - jdk版本为1.6 1.什么是编译型语言.解释型语言 解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码, ...

  10. 莫烦python教程学习笔记——利用交叉验证计算模型得分、选择模型参数

    # View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: ht ...