查看原文
其他

rddensity-RDD中的平滑性检验和操纵检验

连享会 连享会 2022-12-31

👇 连享会 · 推文导航 | www.lianxh.cn

作者: 黄天泽 ( 中山大学 )
邮箱: huangtz@mail2.sysu.edu.cn

Source: Cattaneo, M. D., Jansson, M., & Ma, X. (2020). Simple local polynomial density estimators. Journal of the American Statistical Association, 115(531), 1449-1455. -Link-


目录

  • 1. 方法介绍

    • 1.1 断点回归

    • 1.2 传统方法不足和本方法创新

  • 2. 边界自适应密度估计量

    • 2.1 局部多项式密度估计量

    • 2.1 边界自适应效果

  • 3. 技术结果

    • 假设 1

    • 假设 2

    • 定理 1(近似分布)

    • 定理 2 (方差估计)

  • 4. 在操纵检验中的应用

    • 4.1 测试设置

    • 4.2 带宽选择及稳健性检验

  • 5. stata 实现

    • 5.1 数据来源

    • 5.2 stata 程序

    • 密度图

  • 6. 小结

  • 7. 参考文献

  • 6. 相关推文



温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:

1. 方法介绍

1.1 断点回归

社会科学家希望研究政策和的结果之间的因果关系,但这种实验往往是不可控制的。研究人员急切的想要找到一种严格的非实验设计方法论,而断点回归 (RD) 就是近年来受到广泛关注的一种方法。

RD 分析的特点是,干预的分配是基于评级变量(rating variable)与断点(cut-point)的大小关系,以及是否在该点上产生概率的不连续,出现不连续则干预是有效的。

1.2 传统方法不足和本方法创新

McCrary(2008)对这一现象进行了正式的实证检验,评估了在断点处评级变量密度的不连续性是否等于零。以下概述了实现该测试的步骤:

  • 使用特定大小的 bin 创建一个密度直方图,确保不与切点重叠。
  • 运行两个局部线性回归程序,一个在断点的右边,一个在断点的左边。在这些回归中,每个 bin 的中点的评级变量的值是回归变量,每个 bin 的频率计数构成结果。
  • 测试两个回归的截距的对数差是否与 0 有统计学差异。

与上面描述的图形分析一样,在进行此分析时,最重要的决策是选择 bin 大小(直方图中每个点包含的评级变量数量)和带宽(包含的点的范围)。

同时,传统的基于核函数的密度估计方法由于其边界偏差,在边界附近或边界处不再一致。可选择的平滑方法用于处理密度估计中的边界点,但它们都需要额外的调优参数选择或其他典型的特殊修改,具体取决于所考虑的评估点和/或方法。

而本文介绍了一种基于局部多项式技术的直观且易于实现的非参数密度估计方法。该估计量是完全边界自适应和数据驱动的,不需要预分组或任何其他的数据转换。并且给出了估计量的主要渐近性质,并利用这些结果提供了估计、推理和带宽选择方法。同时它在边界处的表现也比传统估计量要好。 

2. 边界自适应密度估计量

2.1 局部多项式密度估计量

假设 为随机样本,同时 是一个连续随机变量,并且在其支集 上有平滑的累积分布函数。它的概率密度函数为,当在支集的边界时可以认为是单侧导数。该文章的结果适用于有界限和无界限的支集

表示经典经验分布函数,则提出的局部多项式密度估计量为

估计量 就是局部多项式近似值中一阶项的斜率系数。

注:

  • 是第二个 -维的单位向量
  • 是一个 阶多项式展开
  • 代表一个核函数
  • 是一个大于零的带宽

有关 rddesitiny 命令的介绍,参见:Cattaneo et al. (2018)。

2.1 边界自适应效果

如上图所示, 考虑 邻近下界, 是内部一点, 是上界. 传统的核密度估计量, , 只对内部的点是有效的。而新估计量 对所有 的点都是有效的,并且可以不加调整的直接使用。上图是使用 个观察值构造的。上部用深灰色表示经验分布函数 ,用红色表示局部多项式拟合,对 下方用 (二次逼近)和带宽 实现。垂直的浅灰色区域突出了由带宽选择控制的定位区域,也就是说,只有落在这些区域的观测值通过局部多项式近似来平滑经验分布函数。估计量 是局部多项式逼近中伴随一阶项的斜率系数,如图的底部面板中红色实线所示。底部的面板还绘制了其他三条曲线:蓝色虚线对应于总体密度函数,绿色虚线对应于模拟中估计的密度的平均值,而黑色虚线对应于标准核密度估计的平均值 。 

3. 技术结果

本节给出了该密度估计量的两个主要的大样本结果:(i)一个具有精确偏差和方差特征的渐近分布近似,(ii)一个一致的标准误差估计,它也是数据驱动和全自动的。这两个结果都是边界自适应的,不需要预先知道 的形状。

假设 1

是随机样本,其分布函数 阶连续可导,对于 在估计点 附近的区间内。 的概率密度函数表示为 , 在 处为正。

这个假设对数据生成过程施加了基本的正则性条件,确保 是定义良好的,具有足够的平滑性。

假设 2

核函数 在其支集 上连续、非负、对称。

这是非参数估计中一个标准假设,并且适用于一般的核函数。

下面的定理给出了 的渐近偏差和方差的表征,以及一个有效的近似分布。

定理 1(近似分布)

Theorem 1 (Distributional Approximation). 在假设 1、2 成立的前提下。如果 并且 , 则

定义

,


渐进误差和方差分别是

定理 2 (方差估计)

在定理 1 成立的前提下,有

正如次定理所示 不需要知道估计点在边界 上的相对位置, 即 也是边界自适应的。同理也可以构建一个边界自适应的偏误估计量 。这些证明都在文章的补充材料中。

利用上述结果,在条件下,我们提出的密度估计器 ˆf(x)的点态近似 mse 最优带宽选择是 for our proposed density estimator is

只需要将 替换为一致估计量 就可以轻松计算。

作者建议在应用密度估计量 式选择 ,对应于多项式的最小奇阶选择(minimal odd polynomial order choice)。可以使用更高阶的局部多项式,但它们往往在边界点附近出现难以预测的结果。

4. 在操纵检验中的应用

操纵检验在实证研究中被用作回归不连续设计的证伪测试,以及在其他方案评估环境中具有实质性影响的实证测试。

在本文中,作者基于提出的局部多项式密度估计介绍了一个新的操作测试程序。这种方法只需要选择一个调优参数,避免预分组数据,并允许使用简单的加权方案。

4.1 测试设置

假设,如果 ,则该单位被分配到一个控制组,如果 ,则被分配到处理组。

在下面讨论的应用程序中,作者使用了 Head Start 数据,其中 是县级的贫困指数, 是确定一个县是否有资格参与到该计划的硬性标准呢。目的是测试密度 处是否连续。两个子样本为 ,则零假设和备择假设为:

此时上文提出的估计量 很容易应用,因为它是完全自动且边界自适应的。

为经验分布函数,分别使用 构造。之后, 可以被使用两次,截断点之上和之下,来获得在边界点 的两个密度估计量 ,表示为 。则检验统计量为:


并且 表示上文提到的方差估计量,但是使用两个不同的样本 分别计算。 表示在边界点 之下和之上的带宽。

应用上文的理论结果, 可以近似为标准正态分布,可以进一步得到:

如果 ,则

表示标准高斯分布的 -分位数,。当且仅当 时拒绝

4.2 带宽选择及稳健性检验

一个关键问题是带宽 h 的选择,这是文献中可用的所有非参数操纵检验面对的共同问题。

为了以自动和数据驱动的方式选择 h,作者为点估计量 获得了一个近似的 MSE-最优带宽,表示为

给定了 ,遵循 Calonico, Cattaneo, 和 Titiunik (2014) and Calonico, Cattaneo, and Farrell (2018)工作中的思路,进一步提出了一个简单的稳健偏倚校正测试统计方法( simple robust bias-corrected test statistic implementation)。

具体来说,该数据驱动的稳健偏倚校正检验统计量为 ,对于一个 -分位测试,当且仅当 时拒绝 。一个自然的选择是 ,这是该文章对应的 Stata 和 R 程序中的默认值。

5. stata 实现

5.1 数据来源

学前教育计划 (Head Start Program) 是美国一项为 3 至 5 岁的贫困儿童及其家庭提供学前教育、保健和其他社会服务的政策,每年为 90 多万儿童提供服务。在这一实证应用中,1965 年该计划首次实施时,县级项目资金的获取出现了中断:联邦政府向 300 个最贫困的县提供拨款书面援助,贫困程度利用 1960 年的人口普查变量计算出来的贫困指数衡量。因此造成了项目资格的中断。 表示 县的贫困指数, 是分界点(即排名第 300 位的县的贫困指数)。

在这种情况下,操纵检验相当于测试位于断点以上的县与位于断点以下的县的数量是否不成比例。

5.2 stata 程序

因为本文提供的方法是数据驱动而且边界自适应的,所以借助已有的 rddensity 命令进行操作十分简单,整个程序也非常精炼。

安装命令:

. net install st0522.pkg, replace

实例演示:

* 数据地址
* https://gitee.com/arlionn/data/raw/master/data01/headstart.dta
* 或
* https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/LPZLBF

*-在线导入数据
use "https://gitee.com/arlionn/data/raw/master/data01/headstart.dta", clear

replace povrate60 = povrate60 - 59.198

* 在每一边用不同的带宽进行操纵检验
. rddensity povrate60, p(1) bwselect(each) // 结果从略
. rddensity povrate60, p(2) bwselect(each) // 结果从略
. rddensity povrate60, p(3) bwselect(each)
Computing data-driven bandwidth selectors.

RD Manipulation test using local polynomial density estimation.

c = 0.000 | Left of c Right of c Number of obs = 2804
-------------------+---------------------- Model = unrestricted
Number of obs | 2504 300 BW method = each
Eff. Number of obs | 884 232 Kernel = triangular
Order est. (p) | 3 3 VCE method = jackknife
Order bias (q) | 4 4
BW est. (h) | 22.132 10.709

Running variable: povrate60.
------------------------------------------
Method | T P>|T|
-------------------+----------------------
Robust | -0.7594 0.4476
------------------------------------------

P-values of binomial tests. (H0: prob = .5)
-----------------------------------------------------
Window Length / 2 | <c >=c | P>|T|
-------------------+----------------------+----------
0.293 | 9 11 | 0.8238
0.586 | 20 20 | 1.0000
0.880 | 32 27 | 0.6029
1.173 | 44 35 | 0.3682
1.466 | 53 41 | 0.2564
1.759 | 60 49 | 0.3382
2.053 | 70 58 | 0.3309
2.346 | 74 66 | 0.5543
2.639 | 80 73 | 0.6278
2.932 | 93 83 | 0.4976
-----------------------------------------------------


* 在每一边用相同的带宽进行操纵检验
. rddensity povrate60, p(1) bwselect(each) // 结果从略
. rddensity povrate60, p(2) bwselect(each) // 结果从略
. rddensity povrate60, p(3) bwselect(each)
Computing data-driven bandwidth selectors.

RD Manipulation test using local polynomial density estimation.

c = 0.000 | Left of c Right of c Number of obs = 2804
-------------------+---------------------- Model = unrestricted
Number of obs | 2504 300 BW method = each
Eff. Number of obs | 884 232 Kernel = triangular
Order est. (p) | 3 3 VCE method = jackknife
Order bias (q) | 4 4
BW est. (h) | 22.132 10.709

Running variable: povrate60.
------------------------------------------
Method | T P>|T|
-------------------+----------------------
Robust | -0.7594 0.4476
------------------------------------------

P-values of binomial tests. (H0: prob = .5)
-----------------------------------------------------
Window Length / 2 | <c >=c | P>|T|
-------------------+----------------------+----------
0.293 | 9 11 | 0.8238
0.586 | 20 20 | 1.0000
0.880 | 32 27 | 0.6029
1.173 | 44 35 | 0.3682
1.466 | 53 41 | 0.2564
1.759 | 60 49 | 0.3382
2.053 | 70 58 | 0.3309
2.346 | 74 66 | 0.5543
2.639 | 80 73 | 0.6278
2.932 | 93 83 | 0.4976
-----------------------------------------------------

结果经整理如下

相关说明如下:

  • (i) Tp (h) 表示操作检验统计量使用 阶密度估计和带宽选择 (可以是两边相同或不同),h p 表示估计 MSE-optimal pth-order 密度估计或者不同的带宽估计;

  • (ii) 带宽下的列报告估计的 mse 最优带宽,Eff 下的列。n 报告断点两侧的有效样本量,检验统计量的检验报告值(T)和 p-value 下的列;

  • (iii) 前三行允许在截止的每一边有不同的带宽,而后三行在断点的两边采用一个共同的带宽。

  • (iv) 最后一行标记为 McCrary,对应于 McCrary(2008)的原始实现方法,因此 Prebinning 下的列,以及 Eff 下的列报告了用于预分组数据的 bin 总数。N 报告用于局部线性密度估计的 bin 数量。

密度图

不同带宽的局部二次拟合

rddensity povrate60, p(2) bwselect(each) ///
plot plot_range(-40 20) plot_n(100 100) ///
hist_range(-40 20) hist_n(20 10) ///
graph_opt(xtitle("Running Variable") legend(off) yscale(r(0 0.035)))

实证结果显示没有操纵的证据。事实上,这一发现与该计划的基本制度是一致的:贫困指数是在 1965 年由联邦政府利用 1960 年县级人口普查信息建立的,这意味着,认为个别县可以操纵其指定的贫困指数确实是极不可信的。研究结果对不同的带宽和局部多项式阶数是稳健的。

最后,我们注意到两个基于理论的经验发现:

  • 提出的操作检验采用稳健的偏差校正方法,因此导致不对称的置信区间 (不一定围绕密度点估计);
  • 原始 McCrary 检验的有效样本量比我们建议的操作检验要小得多,这是因为数据的预分组,因此会导致检验的威力显著降低。

6. 小结

引入了一种基于局部多项式方法的边界自适应核密度估计器,它只需要选择一个调优参数,并且不需要特定于边界的数据转换。给出了估计量的主要渐近性质,并利用这些结果在密度检验中利用不连续提出了一种新的操纵检验。

7. 参考文献

  • Cattaneo, Matias D., Michael Jansson, and Xinwei Ma. 2020. “Simple Local Polynomial Density Estimators.” Journal of the American Statistical Association 115 (531): 1449–55. -PDF-
  • Cattaneo, Matias D.,  Michael Jansson,  Xinwei Ma, 2018, Manipulation Testing Based on Density Discontinuity, Stata Journal, 18(1): 234–261. -PDF-, -PDF2-
  • Cattaneo, M. D., Jansson, M., & Ma, X. (2019). lpdensity: Local polynomial density estimation and inference. arXiv preprint arXiv:1906.06529. -PDF-
  • Ludwig, J., & Miller, D. L. (2007). Does Head Start improve children's life chances? Evidence from a regression discontinuity design. The Quarterly journal of economics, 122(1), 159-208. -PDF-
  • Jacob, R., Zhu, P., Somers, M. A., & Bloom, H. (2012). A practical guide to regression discontinuity. MDRC. -PDF-

6. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh
安装最新版 lianxh 命令:
ssc install lianxh, replace

  • 专题:Stata绘图
    • Stata绘图:世行可视化案例-条形图-密度函数图-地图-断点回归图-散点图
  • 专题:断点回归RDD
    • 倒U型+RDD:利用断点回归检验 U 形关系
    • Stata:基于大带宽的断点分位数回归稳健推断-rdqte
    • Stata:RDD-DID-断点回归与倍分法完美结合
    • RDD断点回归:多个断点多个分配变量如何处理
    • 当PSM遇上RDD:rddsga命令详解
    • Stata+R:一文读懂精确断点回归-RDD
    • RDD:离散变量可以作为断点回归的分配变量吗?
    • rddensity, lpdensity无法安装?那就手动安装
    • RDD:断点回归可以加入控制变量吗?
    • 断点回归RDD:样本少时如何做?
    • Stata:断点回归分析-RDD-文献和命令
    • Stata:RDD-中可以加入控制变量
    • Stata:两本断点回归分析-RDD-易懂教程
    • Stata:时间断点回归RDD的几个要点
    • Stata:断点回归分析-(RDD)-文献和命令
    • Stata:断点回归RDD简明教程
    • RDD:断点回归的非参数估计及Stata实现
    • Stata: 两本断点回归分析 (RDD) 易懂教程
    • Stata: 断点回归 (RDD) 中的平滑性检验
    • Stata 新命令:多断点 RDD 分析 - rdmc
    • RDD 最新进展:多断点 RDD、多分配变量 RDD
  • 专题:内生性-因果推断
    • Abadie新作:简明IV,DID,RDD教程和综述

New! Stata 搜索神器:lianxhsongbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下:连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存