北京物流信息联盟

非参断点回归(Non-parametric RDD)

2022-01-26 10:22:12

❀  引言





接上回书,今天继续谈RDD。


❀❀❀ 额<( ̄︶ ̄)>,接下来的两个月里,更新可能会暂停,因为小编要准备申请研究生的东西啦,等小编的后路安定下来后,定给大家带来更加精彩的推送!敬请谅解!❀❀❀


接着说....断点回归是一个能够让我们识别 localized causal effect 的一种技术。 具体内容可见上回推送:谈谈因果识别与断点回归设计(RDD)


今天,给大家带来的是非参估计下的断点回归。


上篇推送的例子主要是基于线性关系的假设。也就是:图上都是直线.....


但是,更令人感兴趣或者说更接近现实的是,因变量和自变量之间存在非线性的关系(nonlinear)。也就是今天的重点:非参数断点回归!


❀❀  RDD 的前提及检验





在进入正题之前,我们先来回顾一下断点回归的前提。

在统计学和计量经济学中,所有基于非实验数据的识别方法都希望能够符合“外生性”假设,就是说,导致结果变量 y 的原因变量 x 跟残差项是不相关的。 


如果能够找到一个外生的变量驱动我们关注的核心变量的话,那么因果推断就很简单了。在这个例子中,显然,仅仅控制 X 然后看它对 Y 的影响是远远不足的。

因为在这个例子中,那些获得 treatment 的人和没有获得 treatment 的人是 systematically 不一样的。


在断点回归的假设中,

❀    因为 cut off 在事前是不知道的,

❀❀ X 变量的取值又是不能完全被操控的。

那么在政策评判标准出来之后(公布cut off),在断点周围近距离的两组人就不会是:systematically 不一样的。


在实际操作中,一般我们怎么检查这两个前提在你的例子里面是否成立呢? 1) 样本数量分布check:做一个样本分布的 density 图(stata  histogram 命令),在断点附近样本的 density 是基本一致的,至少不能出现跳跃。2)样本的组成 check,利用一些 pre-determine 变量对断点左右两组人进行事前特征对比,证明这两组人的事前特征无显著差异。两个检验通过,那么随机就能够得到保证。


那么,我们可以自信地说因为这两个前提,使得 cut off 对于断点附近的个体来说相当于一个随机的外生变量。这样我们得出来的 Causal effect 就是很干净的,至少比起 IV,DD 等常见方法都干净。比如,一般地,在 IV 方法中,我们面临着严重的 untestable 问题;在 DD 方法中,我们很难下论断说控制组和实验组都是随机的,只要非随机,别人就可以质疑你的结果;在 PSM 方法中,永远存在遗漏变量问题,那么就跟 OLS 一样了,此时,核心变量的系数是正是负都无法确定,这就尴尬了。


下面将通过:个体“上暨南大学”的效益和 这个个体“未来的表现(假设是一个综合性指数 Performace Index)”的例子来说明。即 “performance” 变量为 outcome ;“暨大” 为 treatment; treatment 根据 score(高考分数)来决定。


❀❀❀  模拟数据生成





clear

set obs 10000

set seed 100

gen score = 3^((runiform()-.75)*4)

label var score "高考分数"


sum score

gen perf0 = ln(score) + sin((score-r(min))/r(max)*4*_pi)/3 + 3

label var perf0 "Performance Index - Base"


scatter perf0 score


*从散点图可以看到很漂亮的非线性关系。


* 让我们来点黑暗料理(Random Noise)


gen perf1 = perf0 + rnormal()*.5

label var perf1 "Performance Index - with noise"


scatter  perf1 score


*安装 rcspline 命令,我们可以看到基于分数的 local average 的 performance 函数的拟合线。\\ rcspline calls mkspline, cubic to create variables containing a restricted cubic spline of xvar.  It then calls regress to regress yvar against those new variables, and thus obtains predicted (smoothed) values of yvar given xvar.  Finally, it calls graph to plot data and smooth.\\


* ssc install rcspline


rcspline perf1 score,  nknots(7) showknots title(三次样条曲线)


recode score (0/0.5=0) (0.5/3=1), gen(暨大)

sum 暨大


* 加一点“暨大”效应

*标准化 Running Variable

gen score_center = score-0.5

gen perf2 = perf1 + 0.5* 暨大 - 0.1*score_center* 暨大

* 所以 暨大 这个 treatment 对于分数更低的个体来说是更有效的

label var perf2 "Observed Performance"


❀❀❀❀   估计





rcspline perf2 score_center,  knots(.15 .25 .35 .37 .4 .45 .5 .55 .6 .65 .75 .85 1.1 1.25 1.5) title(三次样条曲线)



reg perf2 score  暨大



我们可以看到这里估计出来的“暨大”效应是完全偏离我们模拟数据时的设定系数(0.5)。


rdrobust 命令下的估计



*findit rdrobust

rdrobust perf2 score_center

* 此命令用到来选择 bandwidth 是 CCT 方法




rd命令下的估计



*findit rd

rd perf2 score_center




*rd命令中默认的 mbw 是 "100 50 200" ,就是说该命令根据 100 MSE (mean squared error) 的最小化来选取 bandwidth,(接着是 50一半 和 200 两倍)。


bandwidth的背后是啥?



* 我们可以把使用不同带宽情况下的估计值画出来。


gen effect_est = .

label var effect_est "Estimated Effect"


gen band_scale = .

label var band_scale "Bandwidth as a Scale Factor of Bandwidth that Minimizes MSE"


forv i = 1/16 {

  rd perf2 score_center, mbw(100 `=`i'*25')

    if `i' ~= 4 replace effect_est = _b[lwald`=`i'*25'] if _n==`i'

    if `i' == 4 replace effect_est = _b[lwald] if _n==`i' 

    replace band_scale = `=`i'*25'     if _n==`i'   

}


gen true_effect = .5

label var true_effect "True effect"


two (scatter effect_est band_scale) (line true_effect band_scale)



我们可以看到在一开始带宽比较窄的时候,估计值是比较稳定且接近真实值的,而后就剧烈的偏离了。


在RDD方法的 bandwidth (带宽) 背后其实是一对 trade off,因为 RDD 前提成立时,则局部随机,bandwidth 太大的话,估计结果的随机性就降低了,远离断点的两组个体可能是 systematically  不一样的;但是如果带宽太小的话,估计值的准确性会因样本量太少而受到威胁。所以在非参 RDD 中,带宽的选择是一个很大的学问。有兴趣的读者可以继续阅读参考文献。


❀❀❀❀❀  参考文献






[1] CALONICO, S., M. D. CATTANEO, AND R. TITIUNIK (2014): “Robust Nonparametric Confidence Intervals for Regression-Discontinuity Designs,” Econometrica, 82, 2295–2326. [2455,2471-2473,2478] (2015):


[2] “Optimal Data-Driven Regression Discontinuity Plots,” Journal of the American Statisitcal Association (forthcoming). [2475]


[3] CARD, D., D. S. LEE, Z. PEI, AND A. WEBER (2012): “Nonlinear Policy Rules and the Identification and Estimation of Causal Effects in a Generalized Regression Kink Design,” Working Paper 18564, NBER. [2460,2471,2473]


[4]  “Local Polynomial Order in Regression Discontinuity Designs.” Unpublished Manuscript. [2471,2472] (2014)


[5] “Inference on Causal Effects in a Generalized Regression Kink Design,” Technical Report 15-218, Upjohn Institute Working Paper.[2466,2473,2474,2476]  (2015a):


[6]  David Card & Zhuan Pei, 2016, "Regression Kink Design:Theory and Practice"



转载请联系公众号授权

点击“阅读原文(read more)”获取数据


往期推文推荐:

0、如何用Stata进行地图数据可视化

1、如何使用ArcGIS制作地图展示数据

2、Stata常用字符串数据处理函数

3、民主能促进经济增长吗?
4、好男人都结婚了吗?--我国男性工资婚姻溢价形成机制
5、怎样用Stata获取已知地址经纬度坐标
6、如何用LaTeX快速做笔记
7、Heckman Selection Model-An Example Using Stata

8、如何使用Stata识别重复观测值

9、工具变量法--An Example in Stata

10、Stata作图也可以跟R一样美观




小花经济学术

本公众号由暨南大学经济系2013级本科生彭文威运营,致力于分享经济学科研软件应用和有趣的经济学文献。
长按二维码关注



友情链接

Copyright © 2023 All Rights Reserved 版权所有 北京物流信息联盟