断点回归前沿-多断点RDD
计量经济学服务中心专辑汇总!计量百科·资源·干货: Stata |Python |Matlab |Eviews |R Geoda |ArcGis |GeodaSpace |SPSS 一文读懂 |数据资源 |回归方法 |网络爬虫 门限回归 |工具变量 |内生性 |空间计量 因果推断 |合成控制法 |倾向匹配得分 |断点回归 |双重差分 面板数据 | 动态面板数据
断点回归由Thistlewaite and Campbell(1960)首次使用,但直到1990年代末才引起经济学家的重视。
Thistlethwaite、Campbell于1960年首次提出使用断点回归设计研究处理效应, 在该文中他们的目的是研究奖学金对于未来学业的影响, 学生是否获得奖学金取决于考试的分数。由于奖学金由学习成绩决定,故成绩刚好达到获奖标准与差一点达到的学生具有可比性。如果考试分数大于获奖标准分数, 则进入处理组;如果考试分数小于获奖标准分数, 则进入控制组。因此处理变量在获奖标准分数处形成了一个断点, 该研究设计的主要思想是可以利用靠近这一断点附近的样本来有效估计处理效应。
Angrist and Lavy(1999)在研究班级规模对成绩的影响时,利用以色列教育系统的一项制度进行断点回归;该制度限定班级规模的上限为40名学生,一旦超过40名学生(比如41名学生),则该班级被一分为二。
此后30年, 该方法并未引起学术界的重视,直到1990年以后, 断点回归设计开始被应用于各种领域,并且近年来成为因果分析和政策评估领域最重要的研究方法。
Hahn et al(2001)提供了断点回归在计量经济学理论基础。目前,断点回归在教育经济学、劳动经济学、健康经济学、政治经济学以及区域经济学的应用仍方兴未艾。参见Imbens and Lemieux(2008),Van Der Klaauw(2008)以及Lee and Lemieux(2010)的文献综述。
断点回归设计是一种准自然实验, 其基本思想是存在一个连续变量, 该变量能决定个体在某一临界点两侧接受政策干预的概率, 由于X在该临界点两侧是连续的,因此个体针对X的取值落入该临界点任意一侧是随机发生的, 即不存在人为操控使得个体落入某一侧的概率更大, 则在临界值附近构成了一个准自然实验。一般将该连续变量X称为分组变量 (assignment variable)
多断点回归可以使用rdmc命令
help rdmc
然后进行命令的下载和安装,该命令的语法格式为:
Standard use of rdmc
rdmc yvar xvar, cvar(cvar)
rdmc with plots of estimates and weights
rdmc yvar xvar, cvar(cvar) plot
rdmc showing output from rdrobust and specifying uniform kernel
rdmc yvar xvar, cvar(cvar) verbose pooled_opt(kernel(uniform))
该命令配套的还有rdmcplot 这个命令可以进行多断点回归,操作为:
use simdata_multic, clear
sum
tab c
rdmcplot y x, c(c) ci(95) genvars nodraw
结果为:
. use simdata_multic, clear
. sum
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
c | 2,000 49.5 16.50413 33 66
x | 2,000 50.79875 28.95934 .0184725 99.97507
t | 2,000 .516 .4998689 0 1
y | 2,000 1728.135 545.0856 540.0849 3015.232
. tab c
c | Freq. Percent Cum.
------------+-----------------------------------
33 | 1,000 50.00 50.00
66 | 1,000 50.00 100.00
------------+-----------------------------------
Total | 2,000 100.00
.
end of do-file
. do 'C:\Users\admin\AppData\Local\Temp\STD16910_000000.tmp'
. rdmcplot y x, c(c) ci(95) genvars nodraw
绘图结果为:
rdmcplot y x, c(c) ci(95) genvars
或者
rdmcplot y x, c(c)
传统的绘图方法为:
twoway (scatter rdmcplot_mean_y_1 rdmcplot_mean_x_1, mcolor(navy) msize(small)) ///
(line rdmcplot_hat_y_1 rdmcplot_mean_x_1 if t==1, sort lcolor(navy)) ///
(line rdmcplot_hat_y_1 rdmcplot_mean_x_1 if t==0, sort lcolor(navy)) ///
(scatter rdmcplot_mean_y_2 rdmcplot_mean_x_2, mcolor(maroon) msize(small)) ///
(line rdmcplot_hat_y_2 rdmcplot_mean_x_2 if t==1, sort lcolor(maroon)) ///
(line rdmcplot_hat_y_2 rdmcplot_mean_x_2 if t==0, sort lcolor(maroon)), ///
xline(33, lcolor(navy) lpattern(dash)) ///
xline(66, lcolor(maroon) lpattern(dash)) ///
legend(off)
结果为:
出现置信区间的图为: