👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:最新专题 | 计量专题 | 关于连享会
🍓 课程推荐:连享会:2025 寒假前沿班
嘉宾:杨海生,中山大学
时间:2025 年 1 月 13-24 日
咨询:王老师 18903405450(微信)
作者: 黄思佳 (湖南大学)
邮箱: ystone_17@163.com
编者按: 本文主要参考自下文,特此致谢!
Source: Kettlewell N. & Siminski P. (2022). Optimal Model Selection in RDD and Related Settings Using Placebo Zones. -PDF-
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
目录
1. 简介
2. 推导
3.命令安装与介绍
3.1 命令安装
3.2 命令介绍
4. 示例
4.1 使用默认设置进行模型选择和估计
4.2 使用二阶多项式和聚类标准误
4.3 增加带宽数量、安慰剂断点之间的距离
4.4 考虑一个三角核的自定义线性模型,并绘制最优模型的安慰剂估计
5. 参考资料
6. 相关推文
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 模型,考虑一个随机样本 , , 其中 和 分别为接受和未接受处理的潜在产出。处理 由驱动变量决定,时,。感兴趣的参数是平均处理效应 。
本文的最优模型选择是渐进最优的,即随着安慰剂区重复次数 ,最优模型最终收敛于在 的所有估计方式中选择具有最低 的估计方式,连续安慰剂阈值之间的距离保持不变。
为了建立渐进最优性,要证明对于每一种候选估计模型,阈值估计的 与每个相关安慰剂估计的 相同,即证明:
其中,其中 是每个安慰剂阈值的位置, 是用于此估计方式的带宽。对于每个候选估计方式,我们观察每个 的 。因为,所以 。如果等式 (1) 成立,那么 与 无关,且 。
本文证明上述等式 (1) 在以下假设条件下成立:
均匀分布; 和 同方差; 和 关于 的条件期望是连续的、平滑的,并且四阶导数为零; 平均处理效应关于 的二阶导数为零。
考虑一组局部线性模型,每个估计量具有不同的对称带宽。 表示带宽为 的局部线性估计的处理效应。在该带宽内,在阈值的两侧均有个观测样本。估计的处理效应是 。其中 和 可以使用阈值两侧的两个独立的线性回归来估计。简单起见,此处去掉下标 ,这些回归方程为:
同理, 将 定义为在安慰剂阈值 (真正的断点为零) 处的断点估计, ,其中 和 通过以下回归方程估计得出:
任意估计方式的处理效应的 为:
对于每一个局部线性回归, 是两个回归 (式2和式3) 的方差及估计量偏差的函数:
假设(3)和假设(4)意味着真正的DGP采用以下形式:
换言之,这些假设意味着CEF是全局立方的,在阈值处有潜在断点和拐点 。
其中,是在上映射的常数,是在上映射的常数,两者均满足。类似地,对于,使用上的数据$(0<x<b)$ :<="" p="">
于是
然而,=, =因此
所以
这一偏差与成正比,与真实DGP的任何其他参数无关。因此,与DGP的CEF的三阶导数成正比。
现在证明,对于,, 代入,方程(4)和(5)等价于:
并且方程(A8)中的DGP可以表示为:
如果 ,
如果 ,
其中, , , 。
式 (17) 也可以做类似的展开。
式 (14)、(15)、(18) 分别等价于式 (2)、(3)、(8) 。其中,。同理,如果,则阈值。如前面所示,、RDD估计的偏差仅与真实DGP的CEF的三阶导数成正比。式(18)的三阶导数()与式(8)相同,因此,因此对于 。
在给定假设 (1) 和 (2) 的情况下,很容易证明 。因此, ,在假设 (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
。若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
:生成核密度图,描述最优模型中安慰剂估计值的分布。该图使用Statakdensity
命令和默认设置。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
专题:专题课程 ⏩ 因果推断专题-RDD-DID-IV-合成控制 专题:断点回归RDD Stata:RDD与RKD的最优模型选择-pzms Stata论文复现:适用于小样本的RDD rddensity-RDD中的平滑性检验和操纵检验 倒U型+RDD:利用断点回归检验 U 形关系 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教程和综述
尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。 请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。 我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。