Stata论文复现:适用于小样本的RDD-rdlocrand
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会课程 · 2023 五一论文班
作者:张迪 (中南财经政法大学)
邮箱:zhangdi_16@126.com
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
编者按:本文主要摘译自下文,特此致谢!
Source:Cattaneo M D, Frandsen B R, Titiunik R. Randomization inference in the regression discontinuity design: An application to party advantages in the US Senate[J]. Journal of Causal Inference, 2015, 3(1): 1-24. -PDF- -Replication1- -Replication2- -Replication3-
目录
1. 研究背景
2. 基本原理
2.1 随机推断框架
2.2 窗口选择
3. 实证分析
3.1 研究设计
3.2 实证结果
4. 推广和应用
4.1 有弱工具变量的模糊 RDD
4.2 离散和多分组变量
4.3 匹配和参数化建模
4.4 敏感性分析及相关技术
4.5 与标准 RDD 模型的联系
5. 结论
6. 相关推文
1. 研究背景
作者认为,断点回归 (Regression Discontinuity,RD) 是一种局部随机实验。它的一个重要假设是协变量在断点周围保持连续变化,在此基础上,断点处接受干预的概率跳跃即为处理效应。该结论是在局部随机假设成立的情况下得出,但是尚未有研究证明局部连续性的存在。本文贡献如下:
对标准 RDD 进行补充和稳健性检验,提出一种小样本适用的随机化推断方法; 将改进的 RDD 随机化推断方法应用到美国选举案例中。
2. 基本原理
RDD 模型需要三个要件:
样本值:本文的样本取值为政党在选举中的选票率; 断点值 :本文的断点值是 50%; 干预状态:本文的干预状态是政党选举是否受到在任的影响。
RDD 又分为精确 RDD 和模糊 RDD。精确 RDD (Sharp Regression Discontinuity,SRD) 是指在断点值附近,个体受到干预的概率由 跳跃至 。模糊 RDD (Fuzzy Regression Discontinuity,FRD) 是指在断点值附近,个体受到干预的概率由 跳跃至 。本文使用的是精确 RDD。
文章中各个数学符号含义如下:
符号 | Description | 案例中的含义 |
---|---|---|
第 个样本, 。一共有 个样本。 | 州 | |
样本 的观测值,即上面所说的 RDD 模型三要素之一的样本值。 也是分组变量,根据其与 比较大小,来确定是否受到干预。 个样本的观测值集合在 中。 | 民主党在 州获胜的边际效用。 | |
集合 中的值。 | - | |
断点值。 | - | |
样本 的潜在结果。 | - | |
样本 的观测结果,有 。 个样本的观测结果结合在 中。 | - | |
干预状态指标,有 () 和 () 。 | 政党选举是否受到在任的影响。 |
2.1 随机推断框架
2.1.1 局部随机假设
假设 1 局部随机假设:存在一个邻域 ( ), 对于满足 的所有样本 ,有:
对于所有的 ,有
其中, 是 样本 的观测值 的条件分布函数。
假设 1 的数学含义:
在窗口 中的所有观测值服从同一分布,近似于随机分配实验,总体函数在 的连续; 潜在结果 只由窗口 的干预指标决定。其一,在窗口 方面,防止了窗口 外的样本值影响窗口 内潜在结果 ( );其二,影响指标方面,要求窗口 内样本的潜在结果只由指标决定,而不是指标的具体值决定 ()。
假设 1 在本案例中的解释:在断点周围的一个小窗口中,只有在 选举赢得席位,才会影响到后面选举的选票率。
假设 1 存在的问题:大多数情况下,假设 1 只在断点附近的小窗口范围内适用,即适合于只有少量的观测样本。为了解决该问题,本文进一步提出了精确 RDD 的随机化方法。
根据假设 1,首先需要确定干预指标 的随机机制,即样本点如何随机分配在断点两侧。常见的有伯努利随机分配机制和固定边际随机机制。
伯努利随机分配机制:干预变量 服从参数为 的伯努利分布。 的条件分布为 (),其中, 是单位向量。
伯努利随机分配机制的存在问题:一是随机分布取决于参数 的取值,而 RDD 模型中通常无法明确知道参数 的值。二是会导致窗口内有正概率的样本会被分到同一组。
固定边际随机机制:固定边际随机机制 (fixed-margins randomization) ,即窗口内处理组的样本数固定为 。 有
的概率包含 个 向量和 个 向量。本文提出的随机推断方法就使用了固定边际随机机制。2.1.2 检验统计量
检验统计量需要确定原假设和检验统计量的分布。
在选择随机机制后,可以在假设 1 下检验零处理效应的精确 RDD 原假设 (原假设 H0:分组变量的概率密度函数在断点初处连续),这意味着无论干预指标 的取值是什么,观测结果是固定的。换言之,在窗口 内,潜在结果 不是干预状态指标 的函数,即窗口 内的所有样本 ,都有 (),而且 是固定的标量。
可使用的检验统计量包括均值差异检验、K-S 检验和分位差检验等。一般情况下,大样本的不同的检验统计量的结果相近,假设 1 成立的情况下,小样本的不同检验统计量的结果也相近,这后面的分析中会用到这一点。检验统计量 的分布和 的分布已知,则统计量结果取决于固定的观测结果 的取值。
置信区间和处理效应的点估计需要另外的假设。
假设 2 局部稳健假设:对于满足 的所有样本 ,如果 ,则 。
假设 2 的数学含义:
样本 的潜在结果只由 决定; 结合假设 1,窗口 中的潜在结果 可以简化为 和 ; 结合假设 1,窗口 中 个潜在结果的总体分布或分位数决定了处理效应 。
确定的置信区间用 和 表示。 代表 的第 分位数的概率, 同理。 包含窗口 中大于断点的处理组的样本值 ,因此,假设 在大多数特定的检验中不被拒绝。
分位数处理效应为 。
假设 3 局部不变的处理效应模型:对于满足 的所有样本 ,有 。其中,。
假设 3 的数学含义:结合假设 1、假设 2,并假设 即为处理效应。用 调整,调整后的处理效应 保持不变。因此,在该模型下,对 的假设检验与上述精确 RDD 原假设检验完全相同,只是用调整后的处理效应来代替原始的处理效应。
设检验统计量为 。可以通过找到所有的 值来确定处理效应的置信区间,使得 的检验不被拒绝。还可以通过点估计值来找到 的值,使观察到的检验统计量 等于其在原假设下的期望。
2.2 窗口选择
假设 1 中涉及到窗口 的选择,本文提出了一种基于协变量的窗口选择方法。
2.2.1 窗口选择原理
检验协变量在断点处是否存在跳跃,若是存在跳跃,说明该协变量的条件密度函数在断点处不是连续的,需要剔除。如果协变量在断点处连续,则可以用于 RDD。假设 1 成立的窗口 内,协变量 的处理效应为零。
假设样本 有协变量 ,协变量 与窗口 内部的取值无关、外部取值有关,存在窗口 ():
当 时,协变量和样本值相关; 当 时,协变量和样本值无关。
如果在给定的窗口中,精确 RDD 原假设被拒绝,则该窗口严格大于 。
2.2.2 窗口选择过程
从最大的窗口开始,对协变量的连续性做检验,然后依次缩小窗口大小,直至无法拒原假设,使得窗口内的协变量都是连续的。
设协变量的集合为 ,等价于之前定义的 。
假设 4 协变量的零处理效应假设:对于满足 的所有样本 、所有的 ,有协变量 满足 。
假设 4 的数学含义:对于 中的样本,处理效应 对协变量 没有影响。表明协变量是事先确定的,是否干预不可能影响协变量,协变量的处理效应为零。
接下来需要证明窗口 的选择建立在协变量连续的基础之上,即协变量和在 之外的样本值相关。基于此提出假设 5。
假设 5 之外,协变量和样本值相关假设:定义 ,其中 满足 条件,而且 。对于满足 , 的所有样本 ,有:
; 如果 ,则会出现以下两种情况之一。一是 ,二是 。
假设 5 的数学含义: 以外得到样本之间进行非随机选择,从而使协变量和 的样本值相关。
具体的窗口选择过程总结如下:选择一个统计量 ,设 是样本值 中的第 j 个值 (按照 的顺序)。
第一步:设 , , 。选择最小值 和 使 成立,此时 含所需的最小样本; 第二步:使用统计量 进行零处理效应检验; 第三步:如果拒绝原假设,增加 ,减少 。如果 且 ,则重复第二步;相反,如果 或 ,则无法选择 的下端和上端。如果没有拒绝原假设,将 和 作为所选窗口的两端。
实施上面提出的程序需要三个部分:检验统计量、最小样本量 、检验程序和相关的显着性水平 。
选择检验统计量:零处理效应的精确 RDD 原假设可以使用不同的检验统计量,如均值差异检验、Wilcoxon秩和检验、K-S检验,因为它们中的随机分布是已知的。本文采用均值差异检验统计量。
选择最小样本量:设定最小样本量的主要目标是防止在最小可能的窗口中进行假设检验时,观测值过少。本文建议设置 和 ,使在断点的两侧大约至少包含 10 个观测值。 和 设定的越高,窗口内所包含的样本值越多,越可能是非随机实验,检验偏离假设 1 的能力越强,选择的 越小。
检验方法和显著性水平 *:
不使用多种检验方法,只选择一种。本文采用均值差异检验。 值越大,选择的 就越小。选择高于常规水平的显著性水平,以便选择小的 。本文采用 。 在每个候选窗口中对多个协变量进行精确 RDD 原假设检验时,多个检验的结果必须在一个 值中汇总。为了尽可能保守,我们在每个窗口的所有检验中选择最小 值。
3. 实证分析
3.1 研究设计
3.1.1 研究背景
美国参议院的任期是 6 年,有 100 个席位。参议院席位被划分为大致相同规模的三类 (第 I 类、第 II 类和第 III 类),每两年只有一类中的席位进行选举。每个州选举两名不同阶级的参议员。由于两名参议员属于不同阶级,每个州的参议院选举间隔为 2 年和 4 年。在两党制下,当一个政党在前一次选举中获得 50% 以上的选票时,享有执政地位,否则就失去了执政地位。这意味着:
选举席位上:可以任选三类席位中两类席位进行分析; 选举时间上:在 、 和 三次连续的选举中,任何连续的两次选举都是不同席位的选举,因此,可以选取连续的两次选举分析反对党优势,连续三次的选举分析在任党优势。所以本文选取连续的三年选举进行分析; 断点:50%。
结合上述背景,定义:
在任党优势:民主党赢得参议院 A 席位对其在接下来的选举中 A 席位的选票率的影响。如果 时当选的议员,并且将在 时参与该席位的竞选 (由于先前在任期的作为等会影响其当期的选票),见下表的设计 II; 反对党优势:民主党赢得参议院 A 席位对其在接下来的选举中 B 席位的选票率的影响,见下表的设计 I。
选举时间 | A 席位 | B 席位 | 设计和结果 |
---|---|---|---|
举行选举,P 政党的 C 候选人当选 | 不举行选举 | - | |
不举行选举 | 举行选举,C 不参与 | 设计 II:P 在 时赢得席位 A 对P在 时对席位 B 的选票率的影响 (反对党优势) | |
举行选举,C 是或不是 P 政党的候选人 | 不举行选举 | 设计 I:P 在 时赢得席位 A 对 P 在 时对席位 A 的选票率的影响 (在任党优势) |
3.1.2 模型设定
研究问题:先前在任地位是否可以转化为选举的在任优势。模型设定如下:
设定 | 计量符号 | |
---|---|---|
样本 | 州 | |
样本值 | 在选举 时,政党在 州获得的选票率 | |
断点值 | 50% | |
干预状态 | 在 时的选票率是否超过 50% 来确定干预状态,将样本划分为实验组和对照组 | |
潜在结果 | 政党在接下来选举中的选票率 | 时: ; 时: |
州的处理效应:
在任党优势: 反对党优势:
根据上面的模型设定,本研究将勉强赢得席位的州和勉强输掉席位的州作为实验组和对照组 (使用 “勉强” 这个词是因为在断点的领域内研究小样本),对比实验组和对照组在接下来的某次选举的情况,计算实验组选票率和对照组选票率之差 (即胜出的政党高于输了的政党的选票数),即本文的处理效应。
3.1.3 样本数据
选用 1914 年至 2010 年的美国参议院选举数据。因为议员任期内离职,该空缺职位会被州长任命,直至下次选举时选出新议员,而且被任命的议员与离职的议员大多数情况下不同属于同一个政党,因此,研究中删除在 6 年任期内离职的议员数据。共有 1390 个观测值。
* 需要注意的是,在正式运行前,需要安装最新的命令
net install rdrobust, from(https://raw.githubusercontent.com/rdpackages/rdrobust/master/stata) replace
net install rdlocrand, from(https://raw.githubusercontent.com/rdpackages/rdlocrand/master/stata) replace
net install rddensity, from(https://raw.githubusercontent.com/rdpackages/rddensity/master/stata) replace
net install rdpower, from(https://raw.githubusercontent.com/rdpackages/rdpower/master/stata) replace
net install lpdensity, from(http://fmwww.bc.edu/RePEc/bocode/l) replace
. clear all
. set more off
. set linesize 200
. use senate.dta, clear // 链接:https://file.lianxh.cn/data/t/T_2021_PPRN-main.zip
. global x demmv
. global y2 demvoteshfor2
. global y1 demvoteshfor1
. global c = 0
. global cov presdemvoteshlag1 demvoteshlag1 demvoteshlag2 demwinprv1 demwinprv2 dmidterm dpresdem dopen
. gen T=. // T 干预变量
. replace T=0 if $x<0 & $x!=.
. replace T=1 if $x>=0 & $x!=.
. label var T "Democratic Win at t"
. order $x $y2 $y1 T
. sum $y2 $y1 $x $cov
Variable | Obs Mean Std. dev. Min Max
-------------+---------------------------------------------------------
demvoteshf~2 | 1,297 52.66627 18.12219 0 100
demvoteshf~1 | 1,341 52.41856 18.36641 0 100
demmv | 1,390 7.171159 34.32488 -100 100
presdemvot~1 | 1,387 46.11975 14.31701 0 97.03408
demvoteshl~1 | 1,349 52.69048 18.2706 0 100
-------------+---------------------------------------------------------
demvoteshl~2 | 1,308 52.86918 18.23913 0 100
demwinprv1 | 1,349 .5441067 .4982355 0 1
demwinprv2 | 1,308 .543578 .4982879 0 1
dmidterm | 1,390 .5136691 .499993 0 1
dpresdem | 1,390 .3884892 .4875822 0 1
-------------+---------------------------------------------------------
dopen | 1,380 .2471014 .4314826 0 1
. ttest $y2, by(T)
Two-sample t test with equal variances
------------------------------------------------------------------------------
Group | Obs Mean Std. err. Std. dev. [95% conf. interval]
---------+--------------------------------------------------------------------
0 | 595 40.92053 .4989536 12.17079 39.9406 41.90045
1 | 702 62.6217 .6147484 16.28793 61.41474 63.82867
---------+--------------------------------------------------------------------
Combined | 1,297 52.66627 .5032002 18.12219 51.67909 53.65344
---------+--------------------------------------------------------------------
diff | -21.70118 .810499 -23.29121 -20.11114
------------------------------------------------------------------------------
diff = mean(0) - mean(1) t = -26.7751
H0: diff = 0 Degrees of freedom = 1295
Ha: diff < 0 Ha: diff != 0 Ha: diff > 0
Pr(T < t) = 0.0000 Pr(|T| > |t|) = 0.0000 Pr(T > t) = 1.0000
. ttest $y1, by(T)
Two-sample t test with equal variances
------------------------------------------------------------------------------
Group | Obs Mean Std. err. Std. dev. [95% conf. interval]
---------+--------------------------------------------------------------------
0 | 610 44.59452 .5748448 14.19762 43.4656 45.72344
1 | 731 58.94751 .6990316 18.89973 57.57516 60.31986
---------+--------------------------------------------------------------------
Combined | 1,341 52.41856 .5015448 18.36641 51.43466 53.40246
---------+--------------------------------------------------------------------
diff | -14.35299 .9280913 -16.17366 -12.53232
------------------------------------------------------------------------------
diff = mean(0) - mean(1) t = -15.4651
H0: diff = 0 Degrees of freedom = 1339
Ha: diff < 0 Ha: diff != 0 Ha: diff > 0
Pr(T < t) = 0.0000 Pr(|T| > |t|) = 0.0000 Pr(T > t) = 1.0000
对被解释变量 y1、 y2 做 检验,结果表明,处理组和对照组的 y1、y2 有明显差异,因此后文可以进一步分析这种差异。也可以通过做散点图进行判断,如 rdplot $y1 $x, c($c) p(1)
。
3.2 实证结果
3.2.1 窗口选择
根据前文所说的协变量选择法进行窗口选择。步骤如下:
第一,窗口设置。 根据描述性统计结果,所有的样本值最大为 100,最小为 -100,因此设最大的窗口为 。在窗口 中,断点两侧分别有 9 个和 14 个样本值,因此,设最小的窗口为 ,将 和 设置约为 10。即:
第二,窗口增量设置和协变量。 以 0.125% 的增量,在 和 之间断点附近所有的对称窗口中,对协变量都进行了随机化方法的精确 RDD 原假设检验。协变量包括:
变量 | 解释 |
---|---|
presdemvoteshlag1 | 州在过去的总统选举中的投给民主党的选票占比 |
demvoteshlag1 | 选举时民主党的选票占比 |
demvoteshlag2 | 选举时民主党的选票占比 |
demwinprv1 | 选举时民主党的获胜的指标 |
demwinprv2 | 选举时民主党的获胜的指标 |
dopen | 选举时参议院的开放席位指标 |
dmidterm | 选举时中期 (非总统) 选举的指标 |
dpresdem | 选举时美国总统是否属于民主党的指标 |
第三,显著性水平设置、检验统计量的选择和随机分配机制。
显著性水平:; 检验统计量:均值差异。检验是基于 的随机分布的 10000 次模拟。对每个窗口,选择这些协变量检验的最小 值; 随机分配机制:固定边际分配机制。
. rdwinselect $x $cov, cutoff($c) wmin(0.5) wstep(0.125) reps(10000) nwin(797) ///
> approximate plot // 797 是从 [-0.05,0.05] 到 [-100,100] 的 0.125 增量的所有窗口
Window selection for RD under local randomization
Cutoff c = 0.00 | Left of c Right of c Number of obs = 1390
------------------+----------------------- Order of poly = 0
Number of obs | 640 750 Kernel type = uniform
1st percentile | 6 7 Reps = .
5th percentile | 32 37 Testing method = approximate
10th percentile | 64 75 Balance test = diffmeans
20th percentile | 128 150
| Bal. test Var. name Bin. test
Window | p-value (min p-value) p-value Obs<c Obs>=c
------------------+-------------------------------------------------------------
-0.500| 0.500 | 0.205 dopen 0.230 9 16
-0.625| 0.625 | 0.306 dopen 0.377 13 19
-0.750| 0.750 | 0.260 dopen 0.200 15 24
...
-99.750| 99.750 | 0.000 demwinprv2 0.113 597 654
-99.875| 99.875 | 0.000 demwinprv2 0.107 598 656
-100.000| 100.000 | 0.000 demwinprv2 0.007 600 698
Variable used in binomial test (running variable): demmv
Covariates used in balance test: presdemvoteshlag1 demvoteshlag1 demvoteshlag2 d
> emwinprv1 demwinprv2 dmidterm dpresdem dopen
Recommended window is [-0.750; 0.750] with 39 observations (15 below, 24 above).
根据前面的设定,协变量检验从最小窗口 开始以 0.125 的长度依次增长,rdwinselect
命令画出图 1,并推荐了窗口 。
图 1 是窗口选择的结果。x 轴为 和 之间以 0.125% 增量的所有对称窗口 (例如,x 轴上的点 20 对应于 窗口),y 轴为最小 值。图中红线和蓝线分别表示 0.15 显著性水平和 0.05 显著性水平。图 1 表明:
大多数窗口内 值小于 0.05,意味着在 5% 的显著性水平上拒绝原假设; 极少数窗口内 值大于 0.15。为了接受原假设为真,需要在显著性水平 0.15 之上选取 值对应的窗口; 值单调递减,快速递减为 0,表明大多数情况下拒绝了假设 1,即假设 1 不合理,除非非常接近断点。
前面设定 ,因此,选择的窗口是 ,因为它是在 值大于 15% 的所有样本内,窗口最大的。该图的分析与 rdwinselect
命令推荐的窗口一致。
窗口选择过程表明,假设 1 在窗口 中是成立的,在其他窗口内被拒绝。对窗口 中的 38 个结果的进一步观察发现,这些样本不相关:竞选并不集中在特定的年份或地理区域,这 38 场选举分布在 24 个不同的年份中,在同一年份中不超过 3 个,在 26 个不同的州中最多 4 个出现在同一州,这意味着,观察结果是随机分配的,支持了假设 1。
3.2.2 在选定的窗口内进行分析
由于篇幅限制,此处只给出了 时的结果。
. * 局部多项式
. * 参数估计:四阶局部多项式点估计
. rdrobust $y1 $x, c($c) p(4) h(abs(-100) 100) kernel(uniform) // t+1时
. rdrobust $y2 $x, c($c) p(4) h(abs(-100) 100) kernel(uniform) // t+2时
Sharp RD estimates using local polynomial regression.
Cutoff c = 0 | Left of c Right of c Number of obs = 1297
-------------------+---------------------- BW type = Manual
Number of obs | 595 702 Kernel = Uniform
Eff. Number of obs | 595 702 VCE method = NN
Order est. (p) | 4 4
Order bias (q) | 5 5
BW est. (h) | 100.000 100.000
BW bias (b) | 100.000 100.000
rho (h/b) | 1.000 1.000
Outcome: demvoteshfor2. Running variable: demmv.
--------------------------------------------------------------------------------
Method | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------------+------------------------------------------------------------
Conventional | 9.4071 1.6928 5.5570 0.000 6.08916 12.725
Robust | - - 4.0211 0.000 4.07894 11.8365
--------------------------------------------------------------------------------
. * 非参数估计:局部多项式非参数点估计
. rdrobust $y1 $x, c($c) kernel(triangular) bwselect(mserd) all // t+1时
. rdrobust $y2 $x, c($c) kernel(triangular) bwselect(mserd) all // t+2时
Sharp RD estimates using local polynomial regression.
Cutoff c = 0 | Left of c Right of c Number of obs = 1297
-------------------+---------------------- BW type = mserd
Number of obs | 595 702 Kernel = Triangular
Eff. Number of obs | 360 323 VCE method = NN
Order est. (p) | 1 1
Order bias (q) | 2 2
BW est. (h) | 17.754 17.754
BW bias (b) | 28.028 28.028
rho (h/b) | 0.633 0.633
Outcome: demvoteshfor2. Running variable: demmv.
--------------------------------------------------------------------------------
Method | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------------+------------------------------------------------------------
Conventional | 7.4141 1.4587 5.0826 0.000 4.5551 10.2732
Bias-corrected | 7.5065 1.4587 5.1460 0.000 4.64747 10.3655
Robust | 7.5065 1.7413 4.3110 0.000 4.0937 10.9193
--------------------------------------------------------------------------------
. * 随机化方法
. * 最优带宽选择
. rdwinselect $x $cov, cutoff($c) wmin(0.5) wstep(0.125) reps(10000) nwin(797) ///
> approximate plot // 797 是从 [-0.05,0.05] 到 [-100,100] 的 0.125 增量的所有窗口
. * 基于所选带宽的随机化估计
. global window = 0.75
. rdrandinf $y1 $x, cutoff($c) wl(-$window) wr($window) reps(10000) interfci(0.15) ci(0.05) // t+1时
. rdrandinf $y2 $x, cutoff($c) wl(-$window) wr($window) reps(10000) interfci(0.15) ci(0.05) // t+2时
Selected window = [-.75 ; .75]
Running randomization-based test...
Randomization-based test complete.
Inference for sharp design
Cutoff c = 0.00 | Left of c Right of c Number of obs = 1297
------------------+----------------------- Order of poly = 0
Number of obs| 595 702 Kernel type = uniform
Eff. Number of obs| 15 22 Reps = 10000
Mean of outcome| 42.808 52.497 Window = set by user
S.D. of outcome| 7.042 7.742 H0: tau = 0.000
Window| -0.750 0.750 Randomization = fixed margins
Outcome: demvoteshfor2. Running variable: demmv.
--------------------------------------------------------------------------------
| Finite sample Large sample
| --------------- -------------------------------
Statistic| T P>|T| P>|T| Power vs d = 3.52
------------------+-------------------------------------------------------------
Diff. in means| 9.689 0.000 0.000 0.300
--------------------------------------------------------------------------------
Calculating confidence interval...
Confidence interval for w = [ -0.750 , 0.750]
------------------------------------------
Statistic| [95% Conf. Interval]
------------------+-----------------------
Diff. in means| 4.790 14.590
------------------------------------------
和 两个选举的结果如表 3 所示。
表 3 对比了我们的随机化方法的结果和两种经典方法获得的结果。列 (1) 报告了四参数拟合的回归结果;列 (2) 报告了三角核函数的非参数局部线性回归结果,用均方差误 (MSE) 选择最优带宽;列 (3) 报告了本研究提出地随机化方法的政党优势估计和检验,其中,选择的窗口是前文所分析的 。
面板 A 展示了设计 I 中在任党优势的结果,被解释变量是民主党在 选举中的得票数。面板 B 提出了关于设计 II 反对党优势的结果,被解释变量是民主党在 选举中的得票数。
面板 A 的第一行中的点估计值显示,标准 RD 方法认为在任党优势效应约为 7 至 9 个百分点,而随机化方法认为有 9 个百分点,而且三种方法的 值都较低。三种方法都表明,对于同一席位,在任政党具有很大的优势。而且随机化方法相当于对标准 RDD 方法做了稳健性检验,上述结论稳健。
面板 B 的结果也表明反对党优势效应约为 0.35-0.64,较小而且均不显著,因此无法拒绝零处理效应的假设,认为美国参议院选举中不存在反对党优势。而随机化方法的点估计为负数,也不显著,表明反对党优势或许不存在。
回归分析结果表明,标准 RDD 方法使用远离断点的数百个观测值进行局部或全局估计,估计的结果与随机化方法分析所使用的 38 个小样本估计结果基本一致。结论通过图 2 进一步得到证明。
图 2 设计 I 的两图是在 选举时,局部线性回归确定的最佳带宽为 。随机化方法的带宽为 ,是民主党在 选举获胜的边际与民主党在 选举的选票率之间的关系图。图中的点是选票率的平均值。以上表明:
表明局部线性回归中,断点附近出现了明显正跳跃; 表明在窗口 两侧的民主选票率的平均值在断点处出现较大的正跳跃。
图 2 设计 II 的两图是在 选举时,局部线性回归确定的最佳带宽为 ,随机化方法的带宽为 ,民主党在 选举获胜的边际与民主党在 选举的选票率之间的关系图,图中的点是选票率的平均值。以上表明:
表明局部线性回归中,断点附近没有出现明显跳跃; 表明在窗口 中,对照组的均值略大于处理组的均值,而且在断点处出现不太明显的负跳跃。
结论:存在明显的在任党优势效应,但不存在反对党优势效应,而且反对党优势结果对窗口选择很敏感,在较小的窗口内会变得更大、更重要。
3.2.3 敏感性分析
从两个方面研究结果的敏感性:窗口大小和检验统计量。选择更大的窗口 、 和更小的窗口 重复上述步骤进行敏感性分析。选择不同的检验统计量对精确 RDD 零处理效应模型进行检验:设窗口为 ,断点为 ,以下两种检验统计量:
在断点 两侧, 分别对 回归估计值 的差异 (线性 值); 在断点 两侧, 分别对 和 回归估计值 的差异 (二次 值)。
. * 不同窗口的置信区间比较 (t+2)
. * 不同带宽对应的处理效应取值下的 p 值矩阵
. rdsensitivity $y2 $x, cutoff($c) wlist(0.5 0.75 1 2) tlist(0(1)20) verbose
| .5 .75 1 2
-------------+--------------------------------------------
0 | .012 0 0 0
1 | .016 .004 0 0
2 | .028 .004 0 0
...
18 | .022 .002 0 0
19 | .008 .002 0 0
20 | .002 0 0 0
. * 求出窗口 [-0.5,0.5] 的 95% 的置信区间为 [4,16]
. rdsensitivity $y2 $x, cutoff($c) wlist(0.5 0.75 1 2) tlist(0(1)20) nodots nodraw ci(-0.5 0.5)
Confidence interval for w = [ -0.500 , 0.500]
------------------------------------------
Statistic| [95% Conf. Interval]
------------------+-----------------------
Diff. in means| 4.000 16.000
------------------------------------------
. * 求出窗口 [-0.75,0.75] 的 95% 的置信区间为 [5,14]
. rdsensitivity $y2 $x, cutoff($c) wlist(0.5 0.75 1 2) tlist(0(1)20) nodots nodraw ci(-0.75 0.75)
Confidence interval for w = [ -0.750 , 0.750]
------------------------------------------
Statistic| [95% Conf. Interval]
------------------+-----------------------
Diff. in means| 5.000 14.000
------------------------------------------
. * 求出窗口 [-1,1] 的 95% 的置信区间为 [6,14]
. rdsensitivity $y2 $x, cutoff($c) wlist(0.5 0.75 1 2) tlist(0(1)20) nodots nodraw ci(-1 1)
Confidence interval for w = [ -1.000 , 1.000]
------------------------------------------
Statistic| [95% Conf. Interval]
------------------+-----------------------
Diff. in means| 6.000 14.000
------------------------------------------
. * 求出窗口[-2,2] 的 95% 的置信区间为 [7,14]
. rdsensitivity $y2 $x, cutoff($c) wlist(0.5 0.75 1 2) tlist(0(1)20) nodots nodraw ci(-2 2)
Confidence interval for w = [ -2.000 , 2.000]
------------------------------------------
Statistic| [95% Conf. Interval]
------------------+-----------------------
Diff. in means| 7.000 14.000
------------------------------------------
第一行命令的结果可以看出这个四个窗口内的 值变化 (其中第一行处理效应对应为 0,即零处理效应的原假设),结合后面四行命令的结果,可以看出当窗口为 时,在 95% 的显著性水平下,处理效应估计值为 5-14,不会拒绝原假设,故认为窗口 对应的处理效应值在 5 到 14 之间。
其他三个窗口的结果同理,在 95% 的显著性水平下,窗口 、 、 对应的处理效应分别为 [4, 16]、[6, 14]、[7, 14]。这表示,在同一置信水平上,带宽发生变化时,处理效应的结果相对比较稳健,敏感性较弱。 选举的结果略有不同,表现出一定的敏感性。但是,仅从处理效应置信区间的值不能得出十分可靠的结论,下面将进一步从不同检验统计量的 值变化进行论证。
* 不同窗口下,不同检验统计量的 p 值比较 (t+2)
* [-0.5,0.5]
rdrandinf $y2 $x, cutoff($c) wl(-0.5) wr(0.5) reps(10000) interfci(0.15) ci(0.05)
rdrandinf $y2 $x, cutoff($c) wl(-0.5) wr(0.5) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(1)
rdrandinf $y2 $x, cutoff($c) wl(-0.5) wr(0.5) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(2)
* [-0.75,0.75]
rdrandinf $y2 $x, cutoff($c) wl(-0.75) wr(0.75) reps(10000) interfci(0.15) ci(0.05)
rdrandinf $y2 $x, cutoff($c) wl(-0.75) wr(0.75) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(1)
*rdrandinf $y2 $x, cutoff($c) wl(-0.75) wr(0.75) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(2)
* [-1,1]
rdrandinf $y2 $x, cutoff($c) wl(-1) wr(1) reps(10000) interfci(0.15) ci(0.05)
rdrandinf $y2 $x, cutoff($c) wl(-1) wr(1) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(1)
rdrandinf $y2 $x, cutoff($c) wl(-1) wr(1) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(2)
* [-2,2]
rdrandinf $y2 $x, cutoff($c) wl(-2) wr(2) reps(10000) interfci(0.15) ci(0.05)
rdrandinf $y2 $x, cutoff($c) wl(-2) wr(2) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(1)
rdrandinf $y2 $x, cutoff($c) wl(-2) wr(2) reps(10000) interfci(0.15) ci(0.05 0(1)20) p(2)
不同检验统计量随窗口选择不同的分布如表 4 结果所示。
表 4 是敏感性分析结果。面板 A 显示了在 (设计 I) 的民主党选票率的结果,而面板 B 在 (设计 II) 的民主党选票率的结果。所有小于或等于 0.05 的 值在表中以粗体显示。
在任党优势效应和反对党优势效应的结果之间存在明显差异:
设计 I (面板A) 的结果对于检验统计量来说是稳健的。在较大和较小的窗口内,在任党优势效应均明显存在; 设计 II (面板B) 的结果敏感性更强。在较大的窗口中,拒绝了零处理效应的假设;在所选的窗口 中,精确 RDD 零处理效应的假设被线性检验统计量拒绝,而没有被二次统计量拒绝;在较小的窗口内,精确 RDD 零处理效应的假设被均值差异检验和二次检验统计量拒绝,而没有被线性统计量拒绝。也就是说,随着窗口大小的变换,检验统计量的结果存在差异。因而,反对党优势是否存在因窗口大小和检验统计量的不同而变换。
为了进一步研究此问题,绘制了在两个不同窗口 和 中的经验累积分布函数 (ECDF)。
图 3(a) 表明, 选举时,在两个窗口中,处理组分位数的 ECDF 左移至向对照组分位数的 ECDF 的右侧,表明处理组分位数大于控制组分位数。由此认为处理组的结果高于控制组的在结果的结论稳健。
图 3(b) 左图表明, 选举时,对照组分位数的 ECDF 右移至处理组分位数的 ECDF 的左侧,表明控制组的结果高于处理组,印证了表 4 第一列的负效应,即反对党优势。但是图 3(b) 右图表明, 选举时,处理的结果高于控制组,即存在正效应。两个窗口是 的子集,两个窗口相结合,则可能在 存在不同的处理效应,也就是结果的敏感性较强。
敏感性分析结论:在任政党的优势结果是稳健的,但反对党优势结果更敏感。
4. 推广和应用
本文的研究引入了一个框架来分析采用 “局部” 随机化的 RDD,并提出使用随机化方法对小样本做精确 RDD 断点回归分析。接下来将讨论该问题的五个推广,包括模糊 RDD、离散值与多个分组变量、匹配技术、敏感度分析,以及随机化方法与常规的大样本 RDD 方法之间的联系。
4.1 有弱工具变量的模糊 RDD
在精确 RDD 中,处理效应为 ,处理组的分组模拟实际干预状态。在模糊 RDD 中,干预状态 不完全由其与 的相对位置决定,因此, 可能与 不同。
为了把本研究中的随机化方法直接推广至模糊 RDD,可以引入弱工具变量。设当 时,有:
:样本 的潜在干预状态; :潜在处理结果; :潜在干预状态向量; :观测到的干预状态; :观测到的潜在处理效应。
是 的工具变量,随机化推断取决于 的分布。假设 1 推广如下。
假设 1' 局部随机假设:存在一个邻域 () ,对于满足 的所有样本 ,有:
; 对于所有的 、,有 ,且 。
该假设也可以检验上述零处理效应的原假设,因为基于该假设,研究样本变为潜在干预状态 会随着 的变化而变化的样本。
在模糊 RDD 中,构造置信区间和点估计需要将假设 2 一般化,并添加一个额外的假设。
假设 2' 对于满足 的所有样本 ,有:
如果 ,则 ; 如果 , ,则 。
假设 6 局部额外限制:对于满足 的所有样本,以及所有的 、所有的 ,有 。
假设 6 意味着潜在反应取决于干预状态和断点的相对位置。因此,在假设 1'、2' 和 6 下,窗口内的潜在反应为 。此外,在假设 3 的局部不变的处理效应模型下,估计和推断的过程与之前完全一样,只是调整后的反应变为为 。
模糊 RDD 是通常的工具变量 (IV) 模型的局部应用,因此在这种情况下也可能出现弱工具变量的问题。但是,本文所提出的随机化方法能避免这个问题,因为该方法将研究限定在了小样本中。
4.2 离散和多分组变量
该框架在分组变量不是单变量,也不是连续的,可以进行 RDD 分析。当分组变量是离散的或有大量样本点时,常规的非参数平滑方法通常无法处理这种情况,而随机化方法适用于这种情况。同样,该方法自然推广到存在多个分组变量的 RDD 中。
4.3 匹配和参数化建模
常规的 RDD 采用连续的分组变量和大样本,通常不关注协变量和参数模型的作用,而是依赖于局部不连续的非参数平滑方法。然而,在实践中,研究人员在进行推理时,往往在断点附近的 “小” 邻域内,同时使用协变量和参数模型。本文所提出的随机化方法为此提供了局部随机化分析思路。
4.4 敏感性分析及相关技术
在随机化方法的背景下,敏感性分析是检验结果的合理性的一个有用工具,它考虑结果在偏离随机化假设时的变化情况。在随机化假设下,处理组和对照组接受干预的概率相等。敏感性分析提出了一个接受干预的概率模型,允许组之间接受干预的概率不同,并重新计算 值、置信区间或点估计。
例如,如果处理组和控制组之间接受干预的概率的微小差异导致显著不同的结论 (即,如果无处理效应的原假设最初被拒绝,但随后不再被拒绝) ,那么我们得出结论,结果是敏感的,结果不具有很强的稳健性。敏感性分析可以直接应用分析在 内处理组和控制组接受干预的概率不同的情况下,研究结论是否仍然有效。
4.5 与标准 RDD 模型的联系
该部分要论证大样本 RDD 方法与本文的小样本随机化方法的联系。在标准的 RDD 中,
:个体的随机潜在结果。由分组变量 () 和干预状态 () 决定; :观测结果。通过在断点 附近把 或 当做是连续的进行识别。
假设 7 标准 RDD 假设:当 , 时,有:
连续分布; 中 在 处保持 Lipschitz 连续; 中 在 处保持 Lipschitz 连续。
这些条件与大样本 RDD 非常相似。主要的区别在于,我们要求潜在结果函数的连续性,而不仅仅是潜在结果的条件期望或分布的连续性。潜在结果函数的连续性排除了极端情况,即在断点处潜在结果的混淆偏差刚好偏移了在断点处分组变量的排序,使得潜在结果的条件期望在断点处仍然是连续的。在排除这种极端的情况时,在技术上该条件比常规的识别条件更强,但实质上并不强。
常规的 RDD 将在断点附近结果的条件分布近似为局部线性,并且使用大样本进行分析。本文的随机化方法提出了另一种局部不变的近似,并使用小样本。局部线性近似可能比远离断点的局部不变近似更准确,但大样本的近似结果可能较差。局部不变近似可能只适用于非常接近断点的地方,这对于小样本来说推理仍然有效。假设 1 中的小样本条件可以看作是由假设 7 中给出的更常规的 RDD 识别条件的近似,其近似误差由窗宽控制。
结果 1 RDD 框架之间的联系:
,表示分组变量近似独立于断点附近的潜在结果,或者说,在潜在结果固定的小样本中,每个样本的分组变量近似具有相同的分布 (在i.i.d.采样下)。对应于假设 1 (局部随机化) 的 (a) 部分,并在标准的 RDD 框架和我们的随机化推理框架之间给出了正式的联系; ,表明潜在结果仅近似取决于断点 附近的干预状态,对应假设 1(b)。
5. 结论
在将 RDD 解释为局部实验的启发下,提出了一种随机化推理框架,在该设计中进行精确 RDD 的小样本推理。当在断点附近只有几个观测值时,该方法特别有用,而局部随机化是可行的。随机化方法既可以用于检验和选择 RDD 断点附近的窗口,也可以对窗口中的效果进行统计推断。应用美国参议院选举中政党优势的分析,解释了本文所提出的方法,并表明随机化方法大样本的标准 RDD 方法结论有所不同。
本文所提出方法是对现有的 RDD 分析的参数和非参数方法的补充。利用本文所提出的方法,学者们可以提供关于 RDD 的随机解释的合理性的证据,并仅利用非常接近 RDD 断点的少数观测值进行精确 RDD 的小样本推断。在一个小窗口内,协变量的零处理效应的精确 RDD 原假设也被拒绝,学者们就不应该依赖于他们的设计的局部随机化解释,更应该关注由标准方法强加的连续性假设的合理性。
6. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 断点, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:Stata绘图 Stata绘图:世行可视化案例-条形图-密度函数图-地图-断点回归图-散点图 专题:断点回归RDD Stata:聚束效应-bunching-另类断点回归 倒U型+RDD:利用断点回归检验 U 形关系 Stata:基于大带宽的断点分位数回归稳健推断-rdqte Stata:RDD-DID-断点回归与倍分法完美结合 RDD断点回归:多个断点多个分配变量如何处理 Stata+R:一文读懂精确断点回归-RDD RDD:离散变量可以作为断点回归的分配变量吗? RDD:断点回归可以加入控制变量吗? 断点回归RDD:样本少时如何做? Stata:断点回归分析-RDD-文献和命令 Stata:两本断点回归分析-RDD-易懂教程 Stata:时间断点回归RDD的几个要点 Stata:断点回归分析-(RDD)-文献和命令 Stata:断点回归RDD简明教程 RDD:断点回归的非参数估计及Stata实现 Stata: 两本断点回归分析 (RDD) 易懂教程 Stata: 断点回归 (RDD) 中的平滑性检验 Stata 新命令:多断点 RDD 分析 - rdmc RDD 最新进展:多断点 RDD、多分配变量 RDD
课程推荐:基于机器学习的因果推断方法
主讲老师:司继春
🍓 课程主页:https://gitee.com/lianxh/YGqjp
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。