打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R:断点回归分析设计

计量经济学服务中心专辑汇总计量百科·资源·干货:

Stata  |Python  |Matlab  |Eviews  |
Geoda  |ArcGis  |GeodaSpace  |SPSS 
一文读懂   |数据资源   |回归方法  |网络爬虫                                                               
门限回归   |工具变量   |内生性   |空间计量 
因果推断   |合成控制法   |倾向匹配得分   |断点回归   |双重差分   
面板数据  | 动态面板数据

点回归的基本命令是rd,另外,还有一些其他命令,例如rdrobust、rdlocrand、rddensity等等。本文主要介绍R语言中的rdrobust。

rdrobust有两个配套命令:rdbwselect用于带宽选择,rdplot用于RD绘图(详细信息请参见Calonico、Cattaneo和Titiunik [2015a])。

1、rdbwselect

下载安装方法为:

install.packages('rdrobust')

library(rdrobust)

rdrobust语法格式为:

rdbwselect(y, x, c = NULL,  fuzzy = NULL, 
              deriv = NULL, p = NULL, q = NULL, 
              covs = NULL, covs_drop = TRUE,
              kernel = 'tri', weights = NULL, bwselect = 'mserd'
              vce = 'nn',  cluster = NULL, nnmatch = 3, 
              scaleregul = 1, sharpbw = FALSE, 
              all = NULL, subset = NULL, 
              masspoints = 'adjust', bwcheck = NULL,
              bwrestrict = TRUE, stdvars = FALSE)

选项含义为:

y表示因变量。

x表示驱动变量(又称使动变量)。

c指定RD中断点位置;默认值是c = 0。

fuzzy指定用于实现模糊RD估计的处理状态变量,默认是Sharp RD设计,因此不使用此选项。

cov表示指定用于估计和推断的附加协变量。

kernel是用来构造局部多项式估计器的核函数。选项有三角形(默认选项)、epanechnikov和uniform。

weights是用于估计过程的可选加权的变量。单位权重乘以核函数。

bwselect指定要使用的带宽选择过程。

2、rdrobust

语法含义为:

rdrobust(y, x, c = NULL,  fuzzy = NULL, 
          deriv = NULL, p = NULL, q = NULL, 
          h = NULL, b = NULL, rho = NULL, covs = NULL,  covs_drop = TRUE,
          kernel = 'tri', weights = NULL, bwselect = 'mserd'
          vce = 'nn', cluster = NULL, 
          nnmatch = 3, level = 95, scalepar = 1, scaleregul = 1, 
          sharpbw = FALSE, all = NULL, subset = NULL,
          masspoints = 'adjust', bwcheck = NULL,
          bwrestrict = TRUE, stdvars = FALSE)

选项含义为:

y表示因变量。

x表示驱动变量(又称使动变量)。

c指定RD中断点位置;默认值是c = 0。

fuzzy指定用于实现模糊RD估计的处理状态变量,默认是Sharp RD设计,因此不使用此选项。

covs表示指定用于估计和推断的附加协变量。

p指定用于构造点估计器的局部多项式的阶数;默认值是p = 1(本地线性回归)。

q指定用于构造偏差校正的局部多项式的顺序;默认值是q = 2(局部二次回归)。

h指定用于构造RD点估计器的主要带宽。如果没有指定,带宽h将由同伴命令rdbwselect计算。如果指定了两个带宽,第一个带宽用于低于截止值的数据,第二个带宽用于高于截止值的数据。

b指定用于构造偏差校正估计器的偏差带宽。如果没有指定,带宽b将由同伴命令rdbwselect计算。如果指定了两个带宽,第一个带宽用于低于截止值的数据,第二个带宽用于高于截止值的数据。

3、rdplot

语法含义为

rdplot(y, x, c = 0, p = 4, nbins = NULL, binselect = 'esmv',  
          scale = NULL, kernel = 'uni', weights = NULL, h = NULL, 
          covs = NULL, covs_eval = 0, covs_drop = TRUE, 
          support = NULL, subset = NULL, 
          hide = FALSE, ci = NULL, shade = FALSE, title = NULL, 
          x.label = NULL, y.label = NULL, x.lim = NULL, y.lim = NULL, 
          col.dots = NULL, col.lines = NULL)

选项含义为

rdplot函数可用于RD结果的可视化,其语法与rdrobust或者rdrobust相同

y表示因变量。

x表示驱动变量(又称使动变量)。

c指定RD中断点位置;默认值是c = 0。

p指定用于近似控制单元和处理单元的总体条件平均函数的全局多项式的阶数;默认值是p = 4。

binselect指定选择容器数量的过程。

4、案例

rdrobust采用Calonico, Cattaneo和Titiunik (2014a)、Calonico, Cattaneo和Farrell(2018)、Calonico, Cattaneo, Farrell和Titiunik(2019)和Calonico, Cattaneo和Farrell(2020)开发的鲁棒偏差校正置信区间和推理程序,实现了局部多项式回归不连续(RD)点估计。它还计算可供选择的估计和推理程序,在文献中。

配套命令有:rdbwselect用于数据驱动带宽选择,rdplot用于数据驱动RD图(详见Calonico, Cattaneo and Titiunik (2015a))。

这个命令的详细介绍在Calonico, Cattaneo和Titiunik (2015b)和Calonico, Cattaneo, Farrell和Titiunik(2017)中给出。配套的Stata包在Calonico, Cattaneo和Titiunik (2014b)中有描述。

有关更多细节,以及用于分析RD设计的相关Stata和R包,请访问https://sites.google.com/site/rdpackages/

Cattaneo, Frandsen和Titiunik构建的数据集(2015),其中包括1914-2010年期间美国参议院在任优势的衡量。

该数据包含以下两个变量的1390个观察值的数据框架。

其包含两个变量vote和margin,vote表示某次选举民主党在州参议院的席位占比,margin表示上次选举中获得相同参议院席位的边际收益,其中大于0表示民主党胜出,反之则为失败。

将vote作为被解释变量,margin作为解释变量,即可研究民主党赢得参议院席位对于在下次选举中获得相同席位的影响。具体操作代码如下

4.1导入数据

data(rdrobust_RDsenate)

4.2最优带宽

rdbwselect(y = rdrobust_RDsenate$vote, x = rdrobust_RDsenate$margin, all = TRUE) 
summary()

结果为:

> rdbwselect(y = rdrobust_RDsenate$vote, x = rdrobust_RDsenate$margin, all = TRUE) 
Call: rdbwselect

Number of Obs.                 1297
BW type                         All
Kernel                   Triangular
VCE method                       NN

Number of Obs.                 595         702
Order est. (p)                   1           1
Order bias  (q)                  2           2
Unique Obs.                    595         665

=======================================================
                  BW est. (h)    BW bias (b)
            Left of c Right of c  Left of c Right of c
=======================================================
     mserd    17.754     17.754     28.028     28.028
    msetwo    16.170     18.126     27.104     29.344
    msesum    18.365     18.365     31.319     31.319
  msecomb1    17.754     17.754     28.028     28.028
  msecomb2    17.754     18.126     28.028     29.344
     cerrd    12.407     12.407     28.028     28.028
    certwo    11.299     12.667     27.104     29.344
    cersum    12.834     12.834     31.319     31.319
  cercomb1    12.407     12.407     28.028     28.028
  cercomb2    12.407     12.667     28.028     29.344
=======================================================

4.3 参数估计

rdrobust(y = rdrobust_RDsenate$vote, x = rdrobust_RDsenate$margin) %>% summary()

Call: rdrobust

Number of Obs.                 1297
BW type                       mserd
Kernel                   Triangular
VCE method                       NN

Number of Obs.                 595         702
Eff. Number of Obs.            360         323
Order est. (p)                   1           1
Order bias  (q)                  2           2
BW est. (h)                 17.754      17.754
BW bias (b)                 28.028      28.028
rho (h/b)                    0.633       0.633
Unique Obs.                    595         665

=============================================================================
        Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
=============================================================================
  Conventional     7.414     1.459     5.083     0.000     [4.555 , 10.273]    
Bias-Corrected     7.507     1.459     5.146     0.000     [4.647 , 10.366]    
        Robust     7.507     1.741     4.311     0.000     [4.094 , 10.919]    
=============================================================================

4.4 绘图


rdplot(rdrobust_RDsenate$vote, rdrobust_RDsenate$margin, p = 3, x.label = 'Margin', y.label = 'Vote')

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
春节特辑:回顾经典——断点回归设计(RDD)的规定动作
断点回归 (RDD):命令rdrobust、 rdbwselect、rdplot及Stata实现
RDD:断点回归可以加入控制变量吗?
2023年最新断点回归进展文献以及软件包介绍
Stata: 断点回归 (RDD) 教程
【T】每日一生信
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服