作者:张子楠 (浙江财经大学)
Stata 连享会: 知乎 | 简书 | 码云 | CSDN | StataChina公众号
连享会计量方法专题……
文章目录
1. RDD基本原理
断点回归分析被认为是最接近随机实验的检验方法,能够缓解参数估计的内生性问题,近来在越来越多的研究中得到使用。现有资料已经对断点回归方法的基本原理和效应识别进行了较为广泛的介绍,但对阶数选择和稳健性检验等问题的仍相对较少涉及。本文将基于Stata软件来系统介绍断点回归方法的图形观测、效应识别和有效性和稳健性检验。限于篇幅,本文将内容限定于清晰断点回归方法(Sharp Regression Discontinuity Design ),且只考虑只有一个断点和一个分配变量的问题。
2. 图形观察
2.1 生成模拟数据
我们先生成一份模拟数据,并保存为 RDD_simu_data0 。生成的数据中, z1 和 z2 为控制变量。 y1 为结果变量(outcome variable)。x 为分配变量(assignment vaiable)。分配点(cutoff point)设定为 0.5 ,从而x大于0.5 的为实验组,小于0.5的为对照组。
此外,在RDD检验中,我们通常还会对分配变量进行去中心化处理,即用分配变量减去分配点值。如本文中,令 xc=x-0.5 。进而 xc 大于 0 的位实验组,反之为对照组。
本部分的相应代码如下:
clear all
global dir d:/RDDStata
capture mkdir $dir
cd $dir
set obs 4000
set seed 123
gen x = runiform() //分配变量
gen xc = x-0.5 //分配变量去中心化
gen e = rnormal()/5 // noise
gen z1 = rnormal()*0.5 //控制变量
gen z2=1+3*invnormal(uniform())+sin(x*5)/3+e //另一个控制变量
gen T=0
replace T=1 if x>0.5 //treatment
gen g0 = 0 + 3*log(x+1) + sin(x*6)/3
gen g1 = T + 3*log(x+1) + sin(x*6)/3
gen y1 = g1 + 0.5*z1 +0.3*z2+ e // outcome vaiable,with cutoff effect
gen y0 = g0 + 0.5*z1 +0.3*z2+ e // outcome variable, without cutoff effect
label var y1 "Outcome variable (y)"
label var y0 "Outcome variable (y)"
label var x "Assignment variable (x)"
label var xc "Centered Assignment variable (x-c)"
label var T "T=1 for x>0.5, T=0 otherwise&