Stata:pzms-RDD和RKD的最优模型选择

发布时间:2023-04-04 阅读 621

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者: 黄思佳 (湖南大学)
邮箱: ystone_17@163.com

编者按: 本文主要参考自下文,特此致谢!
Source: Kettlewell N. & Siminski P. (2022). Optimal Model Selection in RDD and Related Settings Using Placebo Zones. -PDF-


目录


1. 简介

断点回归 (RDD) 和拐点回归 (RKD)通常被用来评估政策干预的效果。以RRD为例,通过比较阈值(cut off)左右两侧的平均值来评估政策干预的效果。然而,该方法对模型的选择和参数估计非常敏感。在实证过程中,要面临的首要问题是如何在带宽、函数形式、核密度、协变量等多维度参数中进行选择。选择不合适的模型可能会导致错误的结论。因此,需要选择一个最优模型来准确地评估政策干预的效果。

为了解决上述问题,本文提出了一种新的方法——Placebo Zones。该方法有助于选择最优模型,以评估模型的准确性和稳健性。

具体而言,首先,选择阈值两侧的一定范围内的值来创建安慰剂区(Placebo Zones),在范围足够大的情况下,安慰剂区不会受到政策冲击的影响。安慰剂区中的数据可以用来估计零效应 (null effect) ,如果估计模型是有效的,则该零效应的估计值为0(安慰剂区未受到政策冲击,其真实值为0)。

其次,通过将估计的处理效应与安慰剂区的零效应进行比较,可以评估RDD设定的有效性和所选模型的准确性。如果零效应估计为0,且估计的处理效应具有统计显著性,则说明具有因果效应。反之,如果零效应异于0,则说明模型设定无效,估计的治疗效应可能存在偏差。

综上,Placebo Zones是一种有助于选择最佳回归模型的新方法,能够帮助我们准确评估政策干预的效果。这种方法非常适用于RDD、RKD以及cohort-IV,因为它有助于排除其他因素的影响,从而获得准确和可靠的结果。

2. 推导

参考标准的精确 RDD 模型,考虑一个随机样本 (Yi(0),Yi(1),Xi), i=1,2,,n, 其中 Yi(0) 和 Yi(1) 分别为接受和未接受处理的潜在产出。处理 (T) 由驱动变量X决定,Xi0时,Ti=1。感兴趣的参数是平均处理效应 τ=E[Yi(1)Yi(0)|Xi=0]

本文的最优模型选择是渐进最优的,即随着安慰剂区重复次数 m,最优模型最终收敛于在 τ 的所有估计方式中选择具有最低 MSE(τ^) 的估计方式,连续安慰剂阈值之间的距离保持不变。

为了建立渐进最优性,要证明对于每一种候选估计模型,阈值估计的 MSE 与每个相关安慰剂估计的 MSE 相同,即证明:

其中,其中 X=k 是每个安慰剂阈值的位置, b 是用于此估计方式的带宽。对于每个候选估计方式,我们观察每个 k 的 τk^ 。因为τk=0,所以 MSE(τk^)=E(τk^) 。如果等式 (1) 成立,那么 E(τk^)E(τk) 与 k 无关,且 E(τk^)=MSE(τ^)

本文证明上述等式 (1) 在以下假设条件下成立:

  • X均匀分布;
  • Yi(0) 和 Yi(1) 同方差;
  • Yi(0) 和 Yi(1) 关于 X 的条件期望是连续的、平滑的,并且四阶导数为零;
  • 平均处理效应关于 X 的二阶导数为零。

考虑一组局部线性模型,每个估计量具有不同的对称带宽(b)。 τb^ 表示带宽为 b 的局部线性估计的处理效应。在该带宽内,在阈值的两侧均有bn个观测样本。估计的处理效应是 τb^=α2b^α1b^ 。其中 α2b^ 和 α1b^ 可以使用阈值两侧的两个独立的线性回归来估计。简单起见,此处去掉下标 i ,这些回归方程为:

同理, 将 τbk^ 定义为在安慰剂阈值 X=K (真正的断点为零) 处的断点估计, τkb^=αk2b^αk1b^ ,其中 αk2b^ 和 αk1b^ 通过以下回归方程估计得出:

任意估计方式的处理效应的 MSE 为:

对于每一个局部线性回归,MSE(τb^) 是两个回归 (式2和式3) 的方差及估计量偏差的函数:

假设(3)和假设(4)意味着真正的DGP采用以下形式:

换言之,这些假设意味着CEF是全局立方的,在阈值处有潜在断点(τ)和拐点 (ϑ)

其中,δL2bx2x上映射的常数,δL3bx3x上映射的常数,两者均满足bx0。类似地,对于α^2b,使用RHS上的数据$(0

于是

然而,δL2b=δR2bδL3b=δR3b 因此

所以

这一偏差与θ3成正比,与真实DGP的任何其他参数无关。因此,Bias(τ^b|x)与DGP的CEF的三阶导数成正比。

现在证明,对于|k|bBias(τ^b|x)=Bias(τ^kb|x), 代入xk=xk,方程(4)和(5)等价于:

并且方程(A8)中的DGP可以表示为:

如果 kb

如果 kb

其中,π0=α+τ+kϑ+kθ1+k2θ2+k3θ3π1=θ1+ϑ+2kθ2+3k2θ3π2=θ2+3kθ3

式 (17) 也可以做类似的展开。

式 (14)、(15)、(18) 分别等价于式 (2)、(3)、(8) 。其中,x>0。同理,如果x<0,则阈值xk=0。如前面所示,、RDD估计的偏差仅与真实DGP的CEF的三阶导数成正比。式(18)的三阶导数(6θ3)与式(8)相同,因此,因此对于 |k|>bBias(τkb^)=Bias(τb^)

在给定假设 (1) 和 (2) 的情况下,很容易证明 Var(τkb^)=Var(τb^) 。因此, MSE(τkb^)=MSE(τb^) ,在假设 (1)-(4)下,本文的方法满足渐进最优性。

3.命令安装与介绍

3.1 命令安装

ssc install pzms, replace 
net get pzms.pkg, replace //下载作者提供的范例数据

3.2 命令介绍

该命令的基本语法为

pzms depvar runvar [if] [in] , maxbw(real) [options]

其中,

  • maxbw(real)表示用于估计的最大带宽

选择项的含义:

  • maxbw(#) : 在整个安慰剂区进行模型比较时考虑的最大带宽,没有默认值。
  • c(#): cut point, 阈值,默认值为0。
  • minbw(#):在整个安慰剂区进行模型比较时考虑的最大小带宽, 若未指定,则设置为 0.1*maxbw
  • pzrange(##):安慰剂区的范围。在使用maxbw(#)进行范围划分后,c(#)须包含在其中。默认值是驱动变量的整个范围。
  • p(#):多项式阶数,默认为1,即一阶线性。若指定为2,则同时考虑一阶线性和二次项。
  • deriv(#):导数阶数,采用精确RDD估计时默认为0,采用精确RKD估计时默认为1。
  • pzstepnum(#):安慰剂区域内的迭代次数。若驱动变量观测值过少或pzstepnum设定值过大时,实际迭代次数可能少于指定次数。因此,迭代次数为安慰剂区域内的最大迭代次数。若已设定pzstepsize,则不能再设定pzstepnum。若pzstepnumpzstepsize均未设定,则默认值为50。
  • pzstepsize(#):相邻阈值之间的距离。若已设定pzstepnum,则不能再设定pzstepsize
  • bwstepnum(#):介于最小带宽 minbw(#) 与最大带宽 maxbw(#) 之间的带宽数量,若pzstepnumpzstepsize均未设定,则默认值为20。
  • bwstepsize(#): 候选估计模型之间的带宽增加(以驱动变量为单位)。
  • nolog:不显示迭代进度。
  • vce(vce type):设定标准误类型,默认为同方差标准误差。
  • covs(varlist):设定候选模型中的协变量。若设定此项,则自动为每一个多项式p(#)进行模型估计。例如,若设定p(2),则估计以下四个模型并进行比较:无协变量的线性模型、有协变量的非线性模型、无协变量二次模型和有协变量二次模型。
  • kernel(kernel type):设定核密度类型,支持uniformtriangular,默认为uniform
  • weight(varname):指定分析权重aweights,除了mcustom#指定的模型之外,适用于所考虑的每个模型。
  • collapse(string):在算法运行前将数据折叠至驱动变量水平。若设定了 collapse(weight),将根据与折叠仓相对应的观测值数量对估计值进行加权。如果不希望在折叠数据时使用观测频率的权重,则选择collapse(noweight)。当驱动变量是离散值,且观测值较多,迭代次数较多时,设定collapse(weight)可以在不影响估计的情况下大大提高运行速度。若要引用其他分析权重,即使设定了collapse(weight),也可以将collapseweight组合使用。
  • bwlfix(#):固定阈值左侧的带宽长度。若因数据限制使阈值左侧带宽较短,右侧带宽较长,或带宽不对称的情况下,则使用该选项。
  • bwrfix(#):固定阈值右侧的带宽长度。若因数据限制使阈值右侧带宽较短,左侧带宽较长,或带宽不对称的情况下,则使用该选项。
  • pzplot:生成核密度图,描述最优模型中安慰剂估计值的分布。该图使用Stata kdensity命令和默认设置。
  • donut(# #): 删除指定范围内的观测值。第一个#指定在临界值左侧的驱动变量的该值内的观测值将被删除。第二个#指定在临界值右侧的驱动变量的该值内的观测值将被删除。
  • {opt mcustom#(# #, {it{mcustom_options})}:自定义模型。可以使用mcustom1()mcustom2()至10个自定义模型。mcustom()中第一个参数是阈值值左侧的多项式阶数,第二个参数是阈值右侧的多项式阶数。例如,mcustom(1 2)表示左侧线性,右侧二项式的估计模型。多项式阶数可为0-10阶。其中,{mcustom_options} 包括:covs(varlist)kernel(kernal type)weight(varname)

4. 示例

4.1 使用默认设置进行模型选择和估计

 . use "pzms_example_data.dta", clear
 . pzms y x, maxbw(0.99)

结果如下

. pzms y x, maxbw(0.99)

Results of Trial
Optimal bandwidth:      0.662
Polynomial order:       1
RMSE:                 .01358279
Effective sample size of placebo estimates from optimal model: 7.753

Estimated Treatment Effect Using Optimal Model   Observations: 1330
                                                 Threshold:       0
                                                 vce:              
-------------------------------------------------------------------
Inference method |  Coef.  Std. Err.   t     P>|t|      [95% CI]
-----------------+-------------------------------------------------
   Homoscedastic | .29204   .01644   17.768  0.0000  0.2598  0.3243
 KS rand. infer. | .29204     .013   22.466  0.0000  0.2611  0.3230
-------------------------------------------------------------------

4.2 使用二阶多项式和聚类标准误

 pzms y x, maxbw(0.99) p(2) vce(cluster x)

结果如下

Results of Trial
Optimal bandwidth:      0.662
Polynomial order:       1
RMSE:                 .01358279
Effective sample size of placebo estimates from optimal model: 7.753

Estimated Treatment Effect Using Optimal Model Observations:   1330
                                               Threshold:         0
                                               vce:       cluster x
-------------------------------------------------------------------
Inference method |  Coef.  Std. Err.   t     P>|t|  [95% CI]       
-----------------+-------------------------------------------------
          Robust | .29204   .01587     18.4  0.0000  0.2606  0.3234
 KS rand. infer. | .29204     .013   22.466  0.0000  0.2611  0.3230
-------------------------------------------------------------------

4.3 增加带宽数量、安慰剂断点之间的距离

pzms y x, maxbw(0.99) p(2) vce(cluster x) bwstepnum(25) pzstepsize(0.02)

结果如下

Results of Trial
Optimal bandwidth:      0.656
Polynomial order:       1
RMSE:                 .01343429
Effective sample size of placebo estimates from optimal model: 14.035

Estimated Treatment Effect with Optimal Model  Observations:   1310
                                               Threshold:         0
                                               vce:       cluster x
-------------------------------------------------------------------
Inference method |  Coef.  Std. Err.   t     P>|t| [95% CI]        
-----------------+-------------------------------------------------
          Robust | .29196   .01614   18.089  0.0000  0.2600  0.3239
 KS rand. infer. | .29196   .01235   23.645  0.0000  0.2653  0.3186
-------------------------------------------------------------------

4.4 考虑一个三角核的自定义线性模型,并绘制最优模型的安慰剂估计

. pzms y x, maxbw(0.99) p(2) vce(cluster x)  ///
          bwstepnum(25) pzstepsize(0.02)   ///
          mcustom(1 1, kernel(triangular)) pzplot

结果如下

. pzms y x, maxbw(0.99) p(2) vce(cluster x)  ///
          bwstepnum(25) pzstepsize(0.02)   ///
          mcustom(1 1, kernel(triangular)) pzplot

Results of Trial
Optimal bandwidth:      0.804
Optimal specification:  mcustom1
RMSE:                 .01307901
Effective sample size of placebo estimates from optimal model: 17.725


Estimated Treatment Effect wiht Optimal Model   Observations:  1610
                                                Threshold:        0
                                                vce:      cluster x
-------------------------------------------------------------------
Inference method |  Coef.  Std. Err.   t     P>|t|  [95% CI]       
-----------------+-------------------------------------------------
          Robust | .29787   .01592   18.712  0.0000  0.2664  0.3293
 KS rand. infer. | .29787    .0122    24.41  0.0000  0.2721  0.3236
-------------------------------------------------------------------

5. 参考资料

  • Kettlewell N. & Siminski P. (2022). Optimal Model Selection in RDD and Related Settings Using Placebo Zones. -PDF-

6. 相关推文

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

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh