第 20 章 观察性研究里的重叠:困难与机会

20.1 重叠意味着什么

本书第三部分谈观察性研究里的因果推断,站在两条关键假定上:可忽略性

\[ Z\perp\!\!\!\perp\{Y(1),Y(0)\}\mid X \]

与重叠

\[ 0<e(X)<1. \]

D’Amour et al. (2021) 指出这两条之间的张力:通常,协变量越多,可忽略性越像那么回事(先把第 16.3.1 节的 M 偏倚放下);可协变量越多,重叠越不像那么回事——因为给定更多协变量,处理变得更好预测。

若有些单元 \(e(X)=0\)\(e(X)=1\),反事实潜在结果在哲学上就开始别扭(King and Zeng, 2006)。特别是:若一个单元注定接受处理,再去想象它在对照下的潜在结果,未必有意义;若一个单元注定接受对照,再去想象它在处理下的潜在结果,也未必有意义。即便真倾向得分并不恰好是 \(0\)\(1\),有限样本里估计倾向得分仍可能贴得很近,于是基于 IPW 的估计量数值上就不稳。第 11 章已经谈过这件事。

许多统计分析,其实需要一条更强的重叠:

假设 20.1(严格重叠) 对某个 \(\eta\in(0,1/2)\),有 \(\eta\le e(X)\le 1-\eta\)

可 D’Amour et al. (2021, Corollary 1) 表明:协变量一多,假设 20.1 的推论非常强。为简单起见,我只写他们的一条结果。令 \(X_k\)\(k=1,\ldots,p\))为协变量 \(X=(X_1,\ldots,X_p)\) 的第 \(k\) 个分量,并令

\[ e=\operatorname{pr}(Z=1) \]

为处理单元的比例。

定理 20.1 假设 20.1 蕴含 \(\eta\le e\le 1-\eta\),以及

\[ p^{-1}\sum_{k=1}^{p} \bigl\lvert\mathrm{E}(X_k\mid Z=1)-\mathrm{E}(X_k\mid Z=0)\bigr\rvert \le p^{-1/2}C^{1/2} \bigl\{e\lambda_1^{1/2}+(1-e)\lambda_0^{1/2}\bigr\}, \tag{20.1} \]

其中

\[ C = \frac{(e-\eta)(1-e-\eta)}{e^{2}(1-e)^{2}\eta(1-\eta)} \]

是只依赖 \((e,\eta)\) 的正常数,\(\lambda_1\)\(\lambda_0\) 分别是协方差矩阵 \(\operatorname{cov}(X\mid Z=1)\)\(\operatorname{cov}(X\mid Z=0)\) 的最大特征值。

定理 20.1 里最大特征值是什么量级?D’Amour et al. (2021) 表明:除非 \(X\) 的各分量高度相关,它通常小于 \(O(p)\)。若各分量高度相关,纳入一部分之后,另一些就是多余的。若并不高度相关,则右边趋于零。于是协变量均值差的平均接近零,也就是:把所有维度平均起来看,处理组与对照组几乎在均值上平衡。数学上,(20.1) 左边趋于零,就排除了这种可能——\(X\) 的每一个维度,在处理组与对照组之间都有不消失的均值差。协变量很多的观察性研究里,这是一条很强的要求。

20.1.1 重叠有限时的修剪

假设 20.1 不成立时,常见做法是按估计倾向得分修剪单元(Crump et al., 2009; Yang and Ding, 2018b)。修剪丢掉重叠很少的那些区域,于是总体与估计目标都换了。假设 20.1 那些苛刻的推论提示:高维里更常常需要修剪,而且可能要修剪掉很大一部分人,才能得到像样的重叠。

20.1.2 重叠有限时的结果建模

D’Amour et al. (2021) 这些偏负面的结果,也点出:重叠有限时,只盯着倾向得分是不够的。这在某种意义上挑战了 Rubin (2008) 那句「要做客观的因果推断,设计胜过分析」。Rubin (2008) 力陈观察性研究里「设计」阶段的角色。设计阶段盯的是倾向得分;协变量一多,它未必满足重叠。

协变量维度高时,结果建模变得更重要。特别地,若结果均值只依赖原始协变量的某个函数:

\[ \mathrm{E}\{Y(z)\mid X\}=f_z\bigl(r(X)\bigr), \qquad (z=0,1), \]

那么控制 \(r(X)\) 就够了——它是原始协变量的一个低维摘要。细节见习题 20.1。因为降了维,\(r(X)\) 上的严格重叠,可以比 \(X\) 上的严格重叠弱得多。概念上并不绕,可相应的理论与方法,目前还缺着。

20.2 没有重叠时的因果推断:断点回归

先从最简单的情形说起:协变量 \(X\) 是一维的。一种极端的处理分配,是确定性的:

\[ Z=I(X\ge x_0), \]

其中 \(x_0\) 是事先定好的阈值。一个有趣的后果是:可忽略性自动成立,

\[ Z\perp\!\!\!\perp\{Y(1),Y(0)\}\mid X, \]

因为 \(Z\)\(X\) 的确定性函数,而常数与任何随机变量都独立。可重叠按定义就被打破了:

\[ e(X)=\operatorname{pr}(Z=1\mid X)=I(X\ge x_0) = \begin{cases} 1, & X\ge x_0,\\ 0, & X<x_0. \end{cases} \]

于是第三部分那些依赖重叠的分析策略,在这里都用不上了。必须换一个角度看。

上面的讨论听起来像纸上的极端情形:处理分配是确定的。有意思的是,实践里它有许多应用,名字叫做断点回归(regression discontinuity)。下面我先回顾几个典范例子,再给这类研究一个数学表述。

20.2.1 例子与图诊断

例 20.1 Thistlethwaite and Campbell (1960) 最先提出断点回归这个想法。他们的动机例子是:学生赢得优绩证书(Certificate of Merit)对日后职业规划的效应;证书是否颁发,取决于奖学金资格考试(Scholarship Qualifying Test)分数是否超过某个阈值。他们最初的分析主要靠图。原书图 20.1 就是其中一幅。

原书图 20.1 来自 Thistlethwaite and Campbell (1960),对原文里看不清的字做了少许修改。横轴是能力测验分数(任意单位),竖轴是有特定学业或职业规划的学生百分比。虚线竖线是阈值:左边是「受到表彰的学生」,右边是「优绩证书获得者」。两条序列分别是:计划读三年及以上研究生(博士或医学博士)的比例,以及计划成为大学教师或科学研究人员的比例。两条线在阈值处都往上跳。

例 20.2 Bor et al. (2014) 用断点回归研究:何时开始给 HIV 患者用抗逆转录病毒药,对死亡率有什么效应。处理由患者的 CD4 计数是否低于 \(200\) cells/\(\mu\)L 决定。(CD4 细胞是对抗感染的白细胞。)

例 20.3 Carpenter and Dobkin (2009) 研究饮酒对死亡率的效应,利用法定最低饮酒年龄作为饮酒行为的一个断点。他们从美国国家卫生统计中心取出死亡数据,包括死者的出生日期与死亡日期,并计算每十万人年死亡数随年龄的曲线,结果用下面九个变量来度量:

变量 含义
all 全部死亡,内因与外因之和
internal 内因死亡
external 外因死亡,其余各项之和
homicide 他杀
suicide 自杀
mva 机动车事故
alcohol 提及酒精的死亡
drugs 提及药物使用的死亡
externalother 其他外因死亡

原书图 20.2 画出这九项每十万人年死亡数,数据来自 Angrist and Pischke (2014) 用过的那套。从 21 岁处的跳跃看,死亡率在 21 岁上升相当明显,主要来自机动车事故。正式分析留给习题 20.4。

20.2.2 断点回归的一个数学表述

决定处理的那个变量 \(X\),术语叫驱动变量(running variable)。直觉上,断点回归能识别的,是阈值 \(x_0\) 处的局部平均因果效应:

\[ \tau(x_0)=\mathrm{E}\{Y(1)-Y(0)\mid X=x_0\}. \]

特别地,对处理下的潜在结果,

\[\begin{align} \mathrm{E}\{Y(1)\mid X=x_0\} &= \lim_{\varepsilon\to 0^{+}}\mathrm{E}\{Y(1)\mid X=x_0+\varepsilon\} \tag{20.2} \\ &= \lim_{\varepsilon\to 0^{+}}\mathrm{E}\{Y(1)\mid Z=1,X=x_0+\varepsilon\} \tag{20.3} \\ &= \lim_{\varepsilon\to 0^{+}}\mathrm{E}(Y\mid Z=1,X=x_0+\varepsilon), \tag{20.4} \end{align}\]

其中 (20.2) 在 \(\mathrm{E}\{Y(1)\mid X=x\}\)\(x_0\) 从右边连续时成立,(20.3) 由 \(Z\) 的定义得到。同理,对照下的潜在结果有

\[ \mathrm{E}\{Y(0)\mid X=x_0\} = \lim_{\varepsilon\to 0^{+}}\mathrm{E}(Y\mid Z=0,X=x_0-\varepsilon), \]

只需 \(\mathrm{E}\{Y(0)\mid X=x\}\)\(x_0\) 从左边连续。于是 \(x_0\) 处的局部平均因果效应,可以由这两个极限之差来识别。关键识别结果汇总如下。

定理 20.2 假定处理由 \(Z=I(X\ge x_0)\) 决定,其中 \(x_0\) 是事先定好的阈值。假定 \(\mathrm{E}\{Y(1)\mid X=x\}\)\(x_0\) 从右边连续,\(\mathrm{E}\{Y(0)\mid X=x\}\)\(x_0\) 从左边连续。则 \(X=x_0\) 处的局部平均处理效应由下式识别:

\[ \tau(x_0) = \lim_{\varepsilon\to 0^{+}}\mathrm{E}(Y\mid Z=1,X=x_0+\varepsilon) - \lim_{\varepsilon\to 0^{+}}\mathrm{E}(Y\mid Z=0,X=x_0-\varepsilon). \]

等式右边只涉及可观测量,因而参数 \(\tau(x_0)\) 是非参数可识别的。可识别公式的模样,与我们前面推过的那些完全不同。特别地,它牵涉两个条件期望函数的极限。

20.2.3 边界附近的回归

运气好时,图诊断有时能把阈值处的因果效应看得清清楚楚。可许多结果很吵,有限样本里只靠图不够。原书图 20.3 给出四个模拟例子:两例在阈值处跳跃很明显,两例并不明显——尽管底层的数据生成过程都有间断。

原书图 20.3:黑点是观测结果,灰点是未观测的反事实结果。第一列的数据生成过程在阈值处留下看得见的跳跃;第二列的跳跃就不那么显眼。第一行 \(\tau(x)\) 为常数;第二行 \(\tau(x)\)\(x\) 变。

假定 \(\mathrm{E}(Y\mid Z=1,X=x)=\gamma_1+\beta_1 x\)\(\mathrm{E}(Y\mid Z=0,X=x)=\gamma_0+\beta_0 x\)\(x\) 都是线性的。可以分别用处理组与对照组的数据做 OLS,得到拟合直线 \(\hat\gamma_1+\hat\beta_1 x\)\(\hat\gamma_0+\hat\beta_0 x\)。于是 \(X=x_0\) 处的平均因果效应可以估成

\[ \hat\tau(x_0)=(\hat\gamma_1-\hat\gamma_0)+(\hat\beta_1-\hat\beta_0)x_0. \]

数值上,\(\hat\tau(x_0)\) 等于下面这次 OLS 里 \(Z_i\) 的系数:

\[ Y_i\sim\{1,\ Z_i,\ X_i-x_0,\ Z_i(X_i-x_0)\}, \tag{20.5} \]

也等于下面这次 OLS 里 \(Z_i\) 的系数:

\[ Y_i\sim\{1,\ Z_i,\ R_i,\ L_i\}, \tag{20.6} \]

其中

\[ R_i=\max(X_i-x_0,0), \qquad L_i=\min(X_i-x_0,0) \]

分别标出 \(X_i-x_0\) 的右半边与左半边。代数细节留给习题 20.2。

可这条路对线性模型假定的违背可以很敏感。理论建议:只用阈值附近的局部观测来做回归。1 可怎样选这些「局部点」,规则相当绕。好在 R 包 rdrobust 里的 rdrobust 函数,实现了多种选择。既然选「局部点」是断点回归的关键,更稳妥的做法,是按多种选择分别报告估计与置信区间。这可以看成断点回归的一种敏感性分析。

20.2.4 一个例子

Lee (2008) 给过一个著名例子:用断点回归研究美国众议院的现任优势(incumbency advantage)。他写道:「现任者,按定义,就是上一轮选举里成功的那些政客。若让他们成功的那些东西在时间上有些持续性,他们竞选连任时,就应当再成功一些。」因此,这从根本上是一道很难的因果推断题。断点回归是一套巧妙的设计,正好用来碰它。

驱动变量是上一轮选举的得票,已中心化到 \(0\);结果是本轮选举的得票;单元是国会选区。处理是该选区当前现任政党的二值指示,由上一轮得票决定。下面的 R 代码生成原书图 20.4,画出原始数据。

house = read.csv("house.csv")[, -1]
plot(y ~ x, data = house, pch = 19, cex = 0.1)
abline(v = 0, col = "grey")

原书图 20.4 是 Lee (2008) 的原始散点:横轴是中心化后的上一轮得票,竖轴是本轮得票,竖线在 \(0\)。点非常密,阈值附近两边都有一团云。

rdrobust 函数给出三套点估计与置信区间。它们都指向正向的现任优势。

> library(rdrobust)
> RDDest = rdrobust(house$y, house$x)
Warning message:
In rdrobust(house$y, house$x) :
  Mass points detected in the running variable.
> cbind(RDDest$coef, RDDest$ci)
Coeff CI Lower CI Upper
Conventional \(0.0637\) \(0.0422\) \(0.0852\)
Bias-Corrected \(0.0594\) \(0.0379\) \(0.0808\)
Robust \(0.0594\) \(0.0348\) \(0.0839\)

也可以用 OLS,按不同的局部窗口 \(\lvert X\rvert<h\) 得到点估计与置信区间,代码如下。

house$z = (house$x >= 0)
hh = seq(0.05, 1, 0.01)
local.lm = sapply(hh, function(h){
  Greg = lm(y ~ z + x + z*x, data = house,
            subset = (abs(x) <= h))
  cbind(coef(Greg)[2], confint(Greg, "zTRUE"))
})
plot(local.lm[1, ] ~ hh, type = "p",
     pch = 19, cex = 0.3,
     ylim = range(local.lm),
     xlab = "h",
     ylab = "point and interval estimates",
     main = "subset linear regression: |X|<h")
lines(local.lm[2, ] ~ hh, type = "p",
      pch = 19, cex = 0.1)
lines(local.lm[3, ] ~ hh, type = "p",
      pch = 19, cex = 0.1)

原书图 20.5 把点估计与置信区间画成 \(h\) 的函数。点估计和区间对 \(h\) 的选择都敏感,可定性结论与上面相同:现任优势为正,区间大体不盖住 \(0\)

20.2.5 断点回归会哪里出错

断点回归分析会哪里出错?技术上的挑战,是指定阈值附近的邻域。上面已经谈过。

此外,定理 20.2 依赖一条连续性条件。实践里它可能被打破。例如,若死亡率本身就在 21 岁跳跃,我们就不能把原书图 20.2 里的跳跃,归因于法定饮酒年龄带来的饮酒行为变化。可连续性条件是否被违背,经验上很难直接检查。

McCrary (2008) 给断点回归的有效性提过一个间接检验。他建议看驱动变量在阈值处的密度。若密度在阈值处不连续,可能提示:有些单元能够完美地操纵自己的处理状态。R 包 rdd 里的 DCdensity 实现了这个检验。细节我略过。

20.3 习题

20.1 重叠有限时,结果建模角色的一条定理
本题把第 20.1.2 节的讨论说正式一点。定理如下。

定理 20.3 假定

\[ Z\perp\!\!\!\perp Y(z)\mid X, \qquad (z=0,1) \]

\[ \mathrm{E}\{Y(z)\mid X\}=f_z\bigl(r(X)\bigr), \qquad (z=0,1) \]

对某个函数 \(r(X)\) 成立。则平均因果效应 \(\tau=\mathrm{E}\{Y(1)-Y(0)\}\) 可由

\[ \tau = \mathrm{E}\bigl\{\mathrm{E}(Y\mid Z=1,r(X))-\mathrm{E}(Y\mid Z=0,r(X))\bigr\} \]

\[ \tau = \mathrm{E}\left\{\frac{ZY}{e\bigl(r(X)\bigr)}\right\} - \mathrm{E}\left\{\frac{(1-Z)Y}{1-e\bigl(r(X)\bigr)}\right\} \]

识别,其中 \(e\bigl(r(X)\bigr)=\operatorname{pr}\{Z=1\mid r(X)\}\)

证明定理 20.3。

注:\(r(X)=X\) 时,定理 20.3 退回平均因果效应的标准 IPW 公式。当 \(r(X)\) 的维数低于 \(X\) 时,即便 \(e(X)\) 上的重叠失败,\(e(r(X))\) 上的重叠仍可能成立,于是定理 20.3 的适用范围更宽。

20.2 线性潜在结果模型
本题把第 20.2.3 节的数值等价说细一些。

证明 \(\hat\tau(x_0)\) 等于 OLS 拟合 (20.5) 与 (20.6) 里 \(Z_i\) 的系数。

注: 不妨先画出 \(Z_i(X_i-x_0)\)\(L_i\)\(R_i\),横轴是 \(X_i\)。结论来自 OLS 的再参数化。

20.3 断点回归的模拟
原书图 20.3 里,潜在结果是从线性模型模拟的。请改成非线性模型,再比较不同的点估计与置信区间,包括点估计的偏倚与方差,以及置信区间的覆盖。

20.4 再分析法定最低饮酒年龄的数据
原书图 20.2 画出了阈值处的跳跃。请分析 Carpenter and Dobkin (2009) 的数据 mlda.csv

20.5 再分析 Lee (2008) 的数据
原书图 20.5 的置信区间,用的是假定同方差的标准误。请再画一张图,置信区间改用 OLS 的 EHW 标准误。

20.6 推荐阅读
D’Amour et al. (2021) 讨论过高维协变量下重叠的含义。

Thistlethwaite and Campbell (1960) 关于断点回归的原文,后来作为 Thistlewaite and Campbell (2016) 重印,并附有许多有洞察的评论。巧合的是,Thistlethwaite and Campbell (1960) 与 Rubin (1974) 都发表在 Journal of Educational Psychology


第五部分 工具变量


  1. 非参数统计里这叫局部线性回归(local linear regression),属于更广的局部多项式回归(Fan and Gijbels, 1996)。↩︎