Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者: 黄思佳 (湖南大学)
邮箱: ystone_17@163.com
编者按: 本文主要参考自下文,特此致谢!
Source: Kettlewell N. & Siminski P. (2022). Optimal Model Selection in RDD and Related Settings Using Placebo Zones. -PDF-
目录
断点回归 (RDD) 和拐点回归 (RKD)通常被用来评估政策干预的效果。以RRD为例,通过比较阈值(cut off)左右两侧的平均值来评估政策干预的效果。然而,该方法对模型的选择和参数估计非常敏感。在实证过程中,要面临的首要问题是如何在带宽、函数形式、核密度、协变量等多维度参数中进行选择。选择不合适的模型可能会导致错误的结论。因此,需要选择一个最优模型来准确地评估政策干预的效果。
为了解决上述问题,本文提出了一种新的方法——Placebo Zones。该方法有助于选择最优模型,以评估模型的准确性和稳健性。
具体而言,首先,选择阈值两侧的一定范围内的值来创建安慰剂区(Placebo Zones),在范围足够大的情况下,安慰剂区不会受到政策冲击的影响。安慰剂区中的数据可以用来估计零效应 (null effect) ,如果估计模型是有效的,则该零效应的估计值为0(安慰剂区未受到政策冲击,其真实值为0)。
其次,通过将估计的处理效应与安慰剂区的零效应进行比较,可以评估RDD设定的有效性和所选模型的准确性。如果零效应估计为0,且估计的处理效应具有统计显著性,则说明具有因果效应。反之,如果零效应异于0,则说明模型设定无效,估计的治疗效应可能存在偏差。
综上,Placebo Zones是一种有助于选择最佳回归模型的新方法,能够帮助我们准确评估政策干预的效果。这种方法非常适用于RDD、RKD以及cohort-IV,因为它有助于排除其他因素的影响,从而获得准确和可靠的结果。
参考标准的精确 RDD 模型,考虑一个随机样本
本文的最优模型选择是渐进最优的,即随着安慰剂区重复次数
为了建立渐进最优性,要证明对于每一种候选估计模型,阈值估计的
其中,其中
本文证明上述等式 (1) 在以下假设条件下成立:
考虑一组局部线性模型,每个估计量具有不同的对称带宽
同理, 将
任意估计方式的处理效应的
对于每一个局部线性回归,
假设(3)和假设(4)意味着真正的DGP采用以下形式:
换言之,这些假设意味着CEF是全局立方的,在阈值处有潜在断点
其中,
于是
然而,
所以
这一偏差与
现在证明,对于
并且方程(A8)中的DGP可以表示为:
如果
如果
其中,
式 (17) 也可以做类似的展开。
式 (14)、(15)、(18) 分别等价于式 (2)、(3)、(8) 。其中,
在给定假设 (1) 和 (2) 的情况下,很容易证明
ssc install pzms, replace
net get pzms.pkg, replace //下载作者提供的范例数据
该命令的基本语法为
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
。若pzstepnum
和pzstepsize
均未设定,则默认值为50。pzstepsize(#)
:相邻阈值之间的距离。若已设定pzstepnum
,则不能再设定pzstepsize
。bwstepnum(#)
:介于最小带宽 minbw(#)
与最大带宽 maxbw(#)
之间的带宽数量,若pzstepnum
和pzstepsize
均未设定,则默认值为20。bwstepsize(#)
: 候选估计模型之间的带宽增加(以驱动变量为单位)。nolog
:不显示迭代进度。vce(vce type)
:设定标准误类型,默认为同方差标准误差。covs(varlist)
:设定候选模型中的协变量。若设定此项,则自动为每一个多项式p(#)
进行模型估计。例如,若设定p(2)
,则估计以下四个模型并进行比较:无协变量的线性模型、有协变量的非线性模型、无协变量二次模型和有协变量二次模型。kernel(kernel type)
:设定核密度类型,支持uniform
和triangular
,默认为uniform
。weight(varname)
:指定分析权重aweights
,除了mcustom#
指定的模型之外,适用于所考虑的每个模型。collapse(string)
:在算法运行前将数据折叠至驱动变量水平。若设定了 collapse(weight)
,将根据与折叠仓相对应的观测值数量对估计值进行加权。如果不希望在折叠数据时使用观测频率的权重,则选择collapse(noweight)
。当驱动变量是离散值,且观测值较多,迭代次数较多时,设定collapse(weight)
可以在不影响估计的情况下大大提高运行速度。若要引用其他分析权重,即使设定了collapse(weight)
,也可以将collapse
与weight
组合使用。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)
。
. 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
-------------------------------------------------------------------
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
-------------------------------------------------------------------
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
-------------------------------------------------------------------
. 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
-------------------------------------------------------------------
Note:产生如下推文列表的 Stata 命令为:
lianxh
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh