RDD断点回归-handbook
一、RDD原理分析
原理部分的说明可以参考陈强《高级计量经济学及stata应用》
!!注:搞清楚原理非常重要
重要概念辨析:
1 结果变量,因变量(Y, outcome variable; dependent variable)
2 分组变量(X,assignment variable;forcing variable;running variable)
3 处理变量(D,treatment variable)
二、代码解释及说明:
Rd语法说明
rd outcomevar [treatmentvar] assignmentvar [if] [in] [weight] [, options]
其中,“outcomevar”为结果变量,“treatmentvar”为处理变量,assignmentvar为分组变量。
较为常用的Options:
- “z0(real)”用来指定断点位置,默认值为“z0(0)”,即断点为原点。
- “mbw(numlist)”用来指定带宽,默认值为“mbw(50 100 200)”(会给出最优带宽,最优带宽的1/2和2倍)。
- “graph”表示根据所选的每一 带宽,画出其局部现行回归图。 “bdep”表示通过画图来考察断点回归估计量对带宽的依赖性。
- “oxline”表示在此图的默认带宽上画一条直线,以便识别。
- “Kernel(rectangle)”表示使用矩形核(即均匀核),默认使用三角核。
- “cov(varlist)”用来指定加入局部线性回归的协变量。
- “x(varlist)”表示检验这些协变量是否在断点处有跳跃(估计其跳跃值和显著性)
- 还有cluster(varlist)等选项,可以通过stata help rd查看
- 如果省略处理变量treatment variable,则默认为精确断点回归,并根据分组变量x来计算处理变量,即x≥断点,D=1,反之D=0。Options:strineq表示根据严格不等式来计算处理变量,即x>断点,D=1,反之D=0.
【注:对于rd的使用具体可以参考第四部分的第一个和第二个案例】
Rdrobust语法说明
rdrobust depvar runvar [if] [in] [, c(cutoff) p(pvalue) q(qvalue) deriv(dvalue) fuzzy(fuzzyvar [sharpbw]) covs(covars) kernel(kernelfn) weights(weightsvar) h(hvalueL hvalueR) b(bvalueL bvalueR) rho(rhovalue) scalepar(scaleparvalue) bwselect(bwmethod) scaleregul(scaleregulvalue) vce(vcemethod) level(level) all]
其中:
depvar is the dependent variable
runvar is the running variable
主要的options:
- c(cutoff)指定RD跳跃点。 默认值为c(0)。
- p(pvalue)指定用于构造点估计量的局部多项式的阶数。 默认值为p(1)(局部线性回归)。 (多项式选择与否)
- q(qvalue)指定用于构造偏差校正的局部多项式的阶数。 默认值为q(2)(局部二次回归)。
- Fuzzy(fuzzyvar [sharpbw])指定用于实现模糊RD估计的处理状态变量 covs(covars) ,
kernel(kernelfn)同上 - h(hvalueL hvalueR)指定要在跳跃点的左侧和右侧分别使用的主带宽h。 如果仅指定一个值,则在两侧都使用该值。如果未指定,则带宽h由伴随命令rdbwselect计算。
- b(bvalueL bvalueR)指定偏置带宽b,分别在截止点的左侧和右侧使用。 如果仅指定一个值,则在两侧都使用该值。
- 如果未指定,则带宽b由伴随命令rdbwselect计算。
- bwselect(bwmethod)指定要使用的带宽选择过程。默认情况下,除非指定rho,否则它将同时计算h和b,在这种情况下,它将仅计算h并设置b = h / rho。
- 其他的可自行通过help rdrobust查看
【rdrobust的使用具体可以参考第四部分第一个和第三个案例】
Rdcv语法说明
一般rdcv运行特别慢,很少用到,因此不做过多介绍。
【rdcv的使用具体可以参考第四部分的第一个案例】
Rdplot语法说明
rdplot depvar runvar [if] [in] [, c(cutoff) p(pvalue kernel(kernelfn) weights(weightsvar) h(hvalueL hvalueR) nbins(nbinsvalueL nbinsvalueR) binselect(binmethod) scale(scalevalueL scalevalueR) ci(cilevel) shade support(supportvalueL supportvalueR) genvars graph_options(gphopts) hide]
其中主要的options:
C(cutoff): 用于设定断点位置,默认为0;
P(pvalue):用于设定多项式阶数,默认为1,局部线性回归;
kernel(kernelfn):即表示设定多项式拟合时的核函数,kernelfn可以有三种选择:三角核函数triangular、Epanechnikov核函数、矩形核函数 uniform,默认为矩形核。
h(hvalueL hvalueR):指定主要带宽h,分别用在断点的左边和右边。如果只指定一个值,则该值在两边都使用。如果指定了两个带宽,则第一个带宽用于断点左侧的带宽,第二个带宽用于断点右侧的数据。如果没有指定,则选择它来跨数据的全部支持。
nbins(##)设定划分的区间数,提供两个数值,则分别为左右的区间数;提供一个数值,则断点左右使用共同的区间数。
ci( bilevel)可以根据设定的ci-level画出每个区间拟合点的置信区间,选加 shade置信区间用阴影表示。
shade:指定可选的图形选项,以用阴影区域替换置信区间。
support(supportvalueL supportvalueR)指定一个可选的扩展变量支持,用于构建容器。默认是sample范围。
generate()可以将划分的区间以及拟合的数值保存在相应的变量中
graph_options(gphopts)绘制图形命令的图形选项。 hide省略了RD图形
其他的可自行通过helprdrobust查看
DCdensity语法说明
DCdensity assign_var,breakpoint(#) generate(Xj Yj r0 fhat se_fhat) graphname(filename)
assign_var 为分组变量
必选项breakpoint(#)用来指定断点位置
generate(Xj Yj r0 fhat se_fhat)用来指定输出变量名
*“Xj. Name of variable in which to store cell midpoints of histogram”
*“Yj. Name of variable in which to store cell heights of histogram”
*“r0. Name of variable in which to store evaluation sequence for local linear regression loop”
*“fhat. Name of variable in which to store local linear density estimate”
*“se_fhat. Name of variable in which to store standard error of local linear density estimate”graphname用来命名指定密度函数图
【DCdensity的应用具体可以参考第四部分的第二个案例】
三、RDD回归分析流程
1 判断X和Y之间是否存在断点
画图:Rdplot
(画X和Y之间的关系)
2 判断是精确断点回归还是模糊断点回归
画图:rdplot
(画X和D之间的关系)
3 断点回归(精确断点和模糊断点)
4 稳健性检验
A 检验分组变量的条件密度在断点处是否连续
检验方法:DCdensity
B 检验协变量的条件密度在断点处是否连续
画图:rdplot (画协变量和Y的图)
回归:rdrobust
5 其他的稳健性检验:
“由于断点回归在操作上存在着不同选择,故在实践中,一般建议同时汇报以下结果,以保证结果的稳健性
(1)分别汇报三角核和矩形核的局部线性回归结果
(2)分别汇报使用不同带宽的结果(rdrobust一般会自动给出最优带宽,可以给出最优带宽的1/2或者两倍带宽的回归结果)
(3)分别汇报包含协变量余不包含协变量的情况 (4)进行模型设定检验,包括检验分组变量与协变量的条件密度是否在断点处连续。”
——来自陈强《高级计量经济学及Stata应用(第二版)》
(回归全套标准操作可参考:
1 一文读懂断点回归(RD)学习手册(包含设计前提条件内生分组等显著性检验、精确断点&模糊断点等全套标准操作)_变量 (sohu.com)
2 RDD断点回归, Stata程序百科全书式的宝典 (qq.com) )
四、实际操作案例
1 连享会教程中的案例及回归结果的解释说明(文件:RDD_data1.dta和RDD_data2代码1.do)
注:案例中使用的是清晰断点回归方法,且只有一个断点和一个分配变量
地址:Stata: 断点回归 (RDD) 教程 - 知乎 (zhihu.com)
2 陈强《高级计量经济学及Stata应用(第二版)》课后代码(文件:RDD_data2.dta和RDD_data2_代码.do)
3 2021年《中国工业经济》《养老金对缓解农村居民医疗负担的作用——为何补贴收入的效果好于补贴医保》(文件:RDD_data3.dta和RDD_data3_代码.do)
4 张川川老师b站分享的教程(文件:RDD_data4.dta和RDD_data4_代码.do)
视频地址:RD(断点回归)估计及其在STATA中的实现_哔哩哔哩_bilibili
五、其他参考网站
断点回归(regression discontinuity design)学习笔记_Claire_chen_jia的博客-CSDN博客_断点回归
断点回归设计RDD分类与操作案例 (douban.com)3 2019中怎么设定断点_RDD: 断点回归命令rdrobust(附rdbwselect、rdplot)及Stata实现_李永乐老师的博客-CSDN博客
Stata:断点回归分析教程_检验 (sohu.com)
断点回归设计的前沿研究现状, RDD (qq.com)
让“跳跃”更有意义:断点回归设计(RDD) (360doc.com)
断点回归(regression discontinuity design)学习笔记
RDD断点回归-handbook相关推荐
- RDD断点回归案例怎么分析?
1.背景 一般来讲美国民主党更倾向于更多的联邦支出,案例研究是否民主党获选对于联邦支出的影响.通常情况下如果得票率大于50%即会获选,反之小于50%则会落选.因而得票率则为驱动变量X,此处0.5则可作 ...
- RDD: 断点回归的非参数估计及Stata实现
作者: 崔颖(中央财经大学) Source: Non-Parametric Regression Discontinuity (Francis, 2013) 连享会计量方法专题-- 本篇推文介 ...
- Stata:时间断点回归RDD的几个要点
原文链接:https://www.lianxh.cn/news/56cc4fa415482.html 目录 1. 时间断点的特点 2. 三个可能陷阱 2.1 样本量问题 2.2 时序特征 2.3 假设 ...
- 断点回归(regression discontinuity design)学习笔记
本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让 ...
- Stata: 断点回归 (RDD) 教程
作者:张子楠 (浙江财经大学) Stata 连享会: 知乎 | 简书 | 码云 | CSDN | StataChina公众号 Stata连享会 计量专题 || 精品课程 || 简书推文 || ...
- Stata: 断点回归 (RDD) 中的平滑性检验
作者:李鑫 (云南大学) 连享会 - 与君分享 lianxh.cn Stata连享会 主页 || 视频 || 知乎 扫码查看连享会最新专题.公开课视频和 100 多个码云计量仓库链接. 连 ...
- Stata:断点回归RDD简明教程
原文链接:https://www.lianxh.cn/news/789f031b0c110.html 目录 1. RDD基本原理 2. 图形观察 2.1 生成模拟数据 2.2 断点效应的图形观察 3. ...
- RDD:断点回归的非参数估计及Stata实现
原文链接:https://www.lianxh.cn/news/f51c762f78644.html 断点回归 (RDD) 的应用日益广泛.在 「连享会-RDD 专辑1」 和 「连享会-RDD 专辑2 ...
- 政策评价效应---断点回归(RDD)
1. 断点回归基本原理 断点回归分析被认为是最接近随机实验的检验方法,能够缓解参数估计的内生性问题,近来在越来越多的研究中得到使用.现有资料已经对断点回归方法的基本原理和效应识别进行了较为广泛的介绍, ...
最新文章
- jpanel不使用jframe保存的图片为空_使用DataBinding还在为数据处理头疼?这篇文章帮你解决问题
- 基于机器学习的文本分类!
- java打印出继承体系的类(包括抽象类)、接口、域字段
- Android开发--Spinner控件的使用
- 一言不合就删库跑路?万名贡献者和阿里巴巴开源的二三事
- go 打印 %v %+v %#v 的区别
- uva 10891 - Game of Sum
- win10系统做游戏服务器吗,win10架构游戏服务器
- 数据库grant 授权
- linux虚拟机镜像下载
- 《自拍教程74》Python 假装企业微信电脑在线并定时关机,骗老板的好方法!
- .net mysql 博客_asp.net搭建博客,使用BlogEngine.NET+MySql搭建博客
- TI的单芯片毫米波雷达传感器配置命令是如何传递到DSP和ARM核的?(串口程序代码走读)
- NVIDIA NCCL 源码学习(八)- 数据通信链路transport的建立
- There is no getter for property named ‘pCode‘ in ‘classXXX‘
- Python编程的一些实例(1)
- maven完全离线开发【解决jar包自动从网络下载导致打包失败】
- ae2020不支持的视频驱动程序_pr2020显示不支持的视频驱动程序(如图)?
- 享受知识饕餮盛宴,尽在2016年课程安排
- ios中导入第三方类库