在因果效应推断中,最重要的一个假设可能就是条件独立性假设,也称为非混淆性(unconfoundedness)假设/可忽略性(ignorability)假设/基于观测变量选择(selection on observables)/选择外生性(exogenous selection)等等。这个假设意味着处理配置与潜在结果无关,潜在结果只条件于所有已知的混淆因子。这个假设非常强,也不可检验,也就是说,数据并不能告诉我们该假设是否成立。
在因果效应推断中,条件独立性假设可以表达成:
或者
其中, 是处理配置,潜在结果,是协变量。
我对条件独立性假设的理解是:协变量中包含了决定两个潜在结果的所有信息。也就是说,条件于协变量,潜在结果与处理变量独立。(注意,这里并不是说结果变量与处理变量独立,而是潜在结果)
怎么理解呢?
我们考虑一下,潜在结果发生在处理配置之前。也就是说,处理发生前,每个个体都会有两个结果——。例如,【应用计量系列95】匹配估计量(1):小小的匹配从来没有伤害过任何人举过《复仇者联盟4:终局之战》电影例子,在平行宇宙中,存在两条时间线——一条是灭霸打响指杀死了一半宇宙人口,另一条是复仇者们打响指挽救了一半宇宙人口。也就是说,无论古一法师和绿巨人在争夺时间宝石时,古一发生是否将时间宝石交给绿巨人(处理),上述两条时间线总是存在的。
但是,处理配置肯定为两个潜在结果中的一个“打开的一扇门”。这也是古一法师不愿意将时间宝石交给绿巨人的原因,因为她的职责就是守护她所在的时间线(灭霸后来打响指杀死了一半宇宙人口),因为她知道,一旦将时间宝石交给绿巨人,就打开了另一条时间线。而正是处理才使得其中一个潜在结果成为现实结果Y。
对于潜在结果来说,唯一的原因是协变量(因为对于潜在结果来说,处理还没有发生)。
如果导致潜在结果的协变量也使得个体选择进入处理,这就是的处理配置和潜在结果存在依赖性(dependence)。这就是我们所称的“混淆(confounding)”。而非混淆性(unconfoundedness)假设就意味着,我们已经观测到了所有的协变量,足以让我们消除混淆。
我们将条件独立性假设写成可能更加清晰。此时,我们首先考虑处理变量与潜在结果的独立。它强调的是处理配置的机制。尤其是,条件于协变量,处理配置机制与潜在结果无关。正是这种外生的处理配置机制使得我们可以仅仅使用可观测结果Y,处理Z和协变量X来估计处理效应。
它这么重要,但现实总是给我们重重一击,因为数据并不能告诉我们该假设是否成立。经济学家总是“明知不可为,而为之”。因为我们可能想知道:条件独立性假设在我们的经验研究中有多重要?或者,我们所获得的结果对违反条件独立性假设程度有多敏感?
Masten and Poirier (2018,EMCA)在“Identification of Treatment Effects under Conditional Partial Independence)”发展了一系列的理论结果来回答上述问题。他们提出了一个“条件局部独立性”假设——比完全条件独立性假设更弱。据此,他们定义了一类假设,称之为“条件c依赖性(conditional c-dependence)”。这些假设用一个参数来定义条件独立性假设的放松程度。对应于条件独立性假设。而则表示条件独立性假设部分成立,因此我们可能不能完全相信处理效应估计量。相反,我们可以得到一个区间。Masten and Poirier (2018,EMCA)在“Identification of Treatment Effects under Conditional Partial Independence)”将区间刻画成c的函数。较小的c值给出较窄的区间,而较大的c值给出较宽的区间。
Masten, Poirier, and Zhang (2020,2021)开发了一个stata命令tesensitivity来计算这些区间,并显示处理效应对于参数c的敏感性。除此之外,该命令还计算了处理效应包含0的临界值。该临界值是处理效应仍存在的最大c。
加载stata包:
① 从https://github.com/wenddymacro/tesensitivity下载所有的文件;
② 将tesensitivityStataPackage文件夹中的所有文件copy到stata包ado的文件夹中。
下面来看看Masten, Poirier, and Zhang (2020,2021)的例子——LaLonde(1986):
use "/Users/xuwenli/Library/Application Support/Stata/ado/plus/t/lalonde1986.dta",clear
local outcome "re78"
local treatment "treat"
local controls "married age black hispanic education re74 re75 re74pos re75pos"
数据集中sample1标记了来自于NSW项目的处理组和控制组的实验样本;sample2标记了NSW处理组和PSID的控制组的样本;sample3与sample2相同,且删除了项目开始前3-4年收入超过5000美元的工人。
首先,我们用teffects包来估计ATE:
teffects ipw (`outcome') (`treatment' `controls') if sample1
teffects ipw (`outcome') (`treatment' `controls') if sample3
从上述sample1和sample3的估计结果来看,在标准的条件独立性假设下,ATE在95%的置信水平上显著为正。下面,我们用tesensitivity命令来分析这些结果对于该假设的敏感性。
主要的命令是tesensitivity cpi,估计给定参数c的值的处理效应统计量,以及处理效应在一个阈值之上的临界值。该命令默认计算40等分c值的ATE区间,以及ATE>0的临界值:
tesensitivity cpi (`outcome') (`treatment' `controls') if sample1,ate
我们也可以用图形来展示上述结果:
tesensitivity cpiplot
图中的红色虚线表示处理效应为0,上下两条曲线表示处理效应相对于敏感性参数c的区间。从结果可以看出,c=0.06左右是处理效应消失的临界值点,也就是条件独立性假设违反6%以上可能就不存在处理效应。
那6%这个违反程度是大是小呢?也就是说,c的合理取值应该是多少?Masten
and Poirier (2018)提出了一种检验方法:将舍弃一个协变量的倾向得分与包含所有协变量的倾向得分。这为理解c值变化由哪些遗漏变量引起提供了一种直观的方式。命令tesensitivity cscale计算每个协变量分布的最大值,50/75/90分位值:
tesensitivity cscale
我们也可以画出,舍弃的协变量的倾向得分概率密度图,例如,education
tesensitivity cscale education, density
我们还可以将每个协变量最大偏离处ATE的c值画在上述区间图中:
tesensitivity cpi (`outcome') (`treatment' `controls') if sample1,ate cref
tesensitivity cpiplot, creflines
更多功能和分析参见
Masten, Poirier, and Zhang (2020) Assessing Sensitivity to Unconfoundedness: Estimation and Inference, Working paper
Masten, Poirier, and Zhang (2021)tesensitivity: A Stata Package for Assessing
Sensitivity to the Unconfoundedness Assumption