4.5 观察性实验中的重合度 困难与机会

1 重合度的含义

我们在第三部分假设了可忽略性 Z{Y(1),Y(0)}|X 和重合性 0<e(X)<1. 更多的协变量意味着可忽略性更合理, 但是重合性会更不合理, 因为在给出更多的协变量时, 实验处理变得更加可预测.
如果有些单元有 e(X){0,1}, 则关于反事实潜在结果, 我们就没法想象. 如果一个单元明确地接受实验, 拿猜想对照下的潜在结果就没有意义了, 反之亦然. 即使真的倾向得分不是精确的 01, 但是在有限样本中倾向得分的估计值可能也会很接近 01, 这样 IPW 下的结果数值上不稳定. 这个问题已经在 3.2 观察性实验中的倾向得分 中讨论了.
很多统计分析需要一个更严格的重合性假设:

假设 严格重合性

存在 η(0,12), ηe(X)1η.

X=(X1,,Xp), e=P(Z=1) 为实验单元的比例.

定理 1.1

上述假设说明 ηe1η, 且 1pk=1p|E(Xk|Z=1)E(Xk|Z=0)|Cp(eλ1+(1e)λ0), 这里 C=(eη)(1eη)e2(1e)2η(1η) 是个正的常量, 只关于 e,η, 且 λ1,λ0 分别是协方差矩阵 Cov(X|Z=1), Cov(X|Z=0) 的最大特征值.

一般来说这个最大特征值的阶是 O(p), 除非 X 的组成部分有高度相关性. 反之如果没有高度相关性, 则左边部分收敛到 0. 从数学上, 左侧收敛到 0 可以排除"X 所有维度在两组间都存在显著均值差异"的可能性, 这是一个极其苛刻的要求.

1.1 修剪

如果 严格重合性假设 不成立, 我们通常基于估计的倾向得分来修剪单元, 它将重合度小的区域里的单元舍弃, 这会改变群体和待估计量. 通常我们需要更多进行修剪来满足假设, 以及要修剪一大部分单元来在高维下获得理想的重合性.

1.2 结果的建模

在高维协变量下, 结果的建模更加重要. 如果结果均值只取决于原始的协变量 E[Y(z)|X]=fz(r(X)),z=0,1, 则只需要控制 r(X) (一个原始协变量的低维概括).

2 无重合性的因果推断: 断点回归

我们先从单变元 X 开始. 考虑一个极端的、确定的分配方式: Z=1{Xx0}. 这样可假设性 Z{Y(1),Y(0)}|X 自动成立. 但是重合性假设不成立: e(X)=P(Z=1|X)={1,Xx0,0,X<x0. 那么我们第四部分介绍的各种分析手段都不适用了. 下面我们介绍一种称为 断点回归 的方法.
我们把 X 称为驱动变量, 它决定了单元是否接受实验处理. 从直观上, 断点回归能在截断 x0 处识别一个局部平均因果效应 τ(x0)=E[Y(1)Y(0)|X=x0].
特别地, (右连续性)E[Y(1)|X=x0]=limε0+E[Y(1)|X=x0+ε](Z的定义)=limε0+E[Y(1)|Z=1,X=x0+ε]=limε0+E[Y|Z=1,X=x0+ε]. 类似地 E[Y(0)|X=x0]=limε0+E[Y|Z=0,X=x0ε]. (假设 x0 处左连续). 这样局部平均因果效应就是两个极限之差.

定理 2.1

假设实验处理被 Z=1{Xx0} 决定, 这里 x0 是事先确定好的阈值. 假设 E[Y(1)|X=x]x0 右侧连续, E[Y(0)|X=x]x0 左侧连续. 则 X=x0 的局部平均因果效应为 τ(x0)=limε0+E[Y|Z=1,X=x0+ε]limε0+E[Y|Z=0,X=x0ε].

2.1 边界处的回归

如果我们很幸运, 图形诊断有时会展示截断点的因果效应. 但是很多结果充满了噪音, 图形诊断对有限样本并不适用.
假设 E(Y|Z=1,X=x)=γ1+β1x, E(Y|Z=0,X=x)=γ0+β0x 关于 x 是线性的. 我们能在实验/对照数据上跑 OLS 来得到拟合的 γ^1+β^1xγ^0+β^0x. 这样 τ^(x0)=(γ^1γ^0)+(β^1β^0)x0. 数值上它就是 Yi{1,Zi,Xix0,Zi(Xix0)} 的 OLS 中 Zi 的系数, 以及也是 Yi{1,Zi,Ri,Li}Zi 的系数, 这里 Ri=max(Xix0,0), Li=min(Xix0,0) 表示 Xix0 的右、左部分.
但是这个方法在非线性下会被破坏. 另外选取跑回归的"局部点"的规则很复杂. 不过 R 中的 rdrobust.rdrobust 函数内置了不同的选法. 由于选取局部点是断点回归的关键, 报告不同选法的估计和置信区间. 这可以看作断点回归的 敏感性分析.

2.2 问题

一个挑战是识别断点的邻域. 此外, 定理2.1 假设了连续性条件, 但实际可能会不满足 (不过也很难验证是否满足).
有人提出一种不直接的检验有效性的办法: 检查截断点处的驱动变量. 驱动变量截断点处密度的不连续性会表明, 有些单元能完美操作, 来进入处理状态. 可以用 R 中的 rdd.DCdensity.