Stata: 断点回归 (RDD) 教程

作者:张子楠 (浙江财经大学)

Stata 连享会: 知乎 | 简书 | 码云 | CSDN | StataChina公众号

Stata连享会   计量专题 || 精品课程 || 简书推文 || 公众号合集

点击查看完整推文列表

连享会计量方法专题……

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&
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值