Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:高净鹤 (东北财经大学)
邮箱:jh.gaook@gmail.com
编者按:本文主要参考自下文,特此致谢!
Source:Kettlewell N, Siminski P. Optimal model selection in RDD and related settings using placebo zones[J]. Life Course Centre Working Paper, 2020 (21). -PDF-
目录
断点回归 (RDD) 和拐点回归 (RKD) 是实证经济学中重要的工具。然而,估计方法的变化是多维度的,如带宽、函数形式、核密度、协变量等,并且在阈值两侧也可以不一致,这使得研究中在实证中通常要面临许多潜在估计方案的选择。在特定的应用情境下,估计值可能会因研究人员的选择而存在较大差异。虽然在模型选择过程中存在各种指导准则,但这些准则通常只针对其中一个维度。
本文提出了一种用于 RDD、RKD 和相关 IV 估计模型选择的新方法。该方法允许产生带宽、多项式和任何其他选择参数的最佳组合。同时,这种方法还可以告知模型类别的选择 (例如 RDD 与 cohort-IV) ,以及任何其他选择,包括协变量、核密度或其他权重等。
参考精确 RDD 模型,考虑一个随机样本
感兴趣的参数是在阈值处的平均处理效应
为了建立渐进最优性,就要证明对于每一种候选估计方式,阈值估计的
其中,其中
本文在以下假设条件下证明等式 (1) 成立:
考虑一组局部线性候选估计方式,每个估计量具有独特的对称带宽
类似地,定义
任意估计方式的处理效应的
对于每一个局部线性回归,
假设 (3) 和 (4) 意味着真正的 DGP,采用以下形式:
换句话说,这些假设意味着 CEF 可以是全局立方的,在阈值处有潜在的断点
其中,
同样,
因此,
然而,
式 (8) 中的 DGP 可以表示为:
展开式 (17) 并且合并同类项:
其中,
如上所示,RDD 估计值的偏差仅与真实 DGP 的 CEF 三阶导数成正比。式 (19) 中的三阶导数
在给定假设 (1) 和 (2) 的情况下,很容易证明
命令安装:
net des pzms
net install pzms.pkg, replace
net get pzms.pkg, replace // 范例数据
命令语法
pzms depvar runvar [if] [in], maxbw(real) [options]
其中,maxbw(real)
用于估计的最大带宽。options
包括:
c(#)
:处理效应的断点值,默认为零。
minbw(#)
:用于估计的最小带宽,未指定时被设置为 0.1*maxbw
。
pzrange(# #)
:安慰剂区的范围,在用 maxbw
中指定的值划分该范围时,必须在其内部包括 c(#)
。默认值是驱动变量的全部范围。
p(#)
:估计时要考虑的多项式阶数,默认为 1,即线性候选模型;当指定为 2 时,将同时考虑线性和二次项。
deriv(#)
:指定候选模型的导数阶数,精确 RDD 默认是 0,精确 RKD 默认为 1。
pzstenum(#)
:要执行的安慰剂区迭代的次数,为最大迭代次数。如果还指定了 pzstepsize
,则不能使用pzstepnum
。如果 pzstepnum
和 pzstepsize
都没有指定,则默认值为 50。
pzstepsize(#)
:连续安慰剂阈值之间的距离,如果还指定了 pzstepnum
,则不能使用 pzstepsize
。
bwstepnum(#)
:最大带宽 maxbw
和最小带宽 minbw
之间的带宽数。如果没有指定 bwstepnum
或 bwstepsize
,则默认为 20。
bwstepsize(#)
:考虑的候选估计之间的带宽增加 (以驱动变量为单位)。
nolog
:不显示迭代计数。
vce(string)
:指定标准误的类型。可以使用任何可用于 Stata 命令回归的 vce
。默认是同方差标准误差。
covs(varlist)
:指定要包含在候选模型中的协变量。如果选择了这个选项,将为每一级多项式 p(#)
、有和没有协变量都估计一个模型。例如,如果指定 p(2)
,将有四个模型进行比较,即无协变量的线性模型、有协变量的线性模型、无协变量的二次模型和有协变量的二次模型。
kernel(string)
:核密度类型。支持均匀核密度 uniform
和三角核密度 triangular
。默认为 uniform
。
weight(varname)
:指定分析权重。除 mcustom#
中指定的模型外,该权重将应用于考虑的每个模型。
collapse(string)
:实现算法之前在驱动变量的水平上折叠数据。如果指定了 collapse(weight)
,则估算值将根据折叠箱对应的观测数进行加权。如果不希望在数据折叠时对观测频率使用权重,则使用 collapse(noweight)
。当驱动变量是离散的,并且有许多观测值或安慰剂区迭代时,折叠选项可以大大提高速度,而不会影响估计。
bwlfix(#)
:在阈值左侧固定带宽长度。当受数据限制,如左侧带宽较短,右侧带宽较长时,或者研究非对称带宽,通常使用该选项。
bwrfix(#)
:在阈值右侧固定带宽长度。
donut(# #)
:生成一个核密度图,描述最优模型的安慰剂估计的分布。该图使用 Stata 的 kdensity
命令和默认设置。
pzplot
:删除指定范围内的观测值。第一个 #
指定在该值内的驱动变量的观察值将被删除。第二个 #
指定在这个驱动变量的值中,在临界值右边的观察值将被删除。
mcustom#(# #, mcustom_options)
:自定义特性候选集模型。通过使用 mcustom1()
,mcustom2()
等,可以指定多达 10 个自定义模型。mcustom
中的第一个参数是处理阈值左侧的多项式阶数,第二个参数是右侧的多项式阶数。例如,如果想估计一个左边是线性的,右边是二次的模型,可以指定 mcustom(1 2)
。mcustom_options
包括:
covs(varlist)
:指定要包含在自定义模型中的协变量。kernel(kernal type)
:在自定义模型中核密度类型。支持均匀和三角。默认为 uniform
。weight(varname)
:在自定义模型中指定分析权重。虽然该方法可用于在一系列维度上变化的候选估计之间进行选择,但它的主要用途是帮助 RDD 估计选择带宽和多项式阶数。
. * 使用默认设置进行模型选择和估计
. use pzms_example_data.dta, clear
. pzms y x, maxbw(0.99)
Estimated Treatment Effect Using Optimal Model Observations: 1330
Threshold: 0
vce:
---------------------------------------------------------------------------
Inference method | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------------+-------------------------------------------------------
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)
Estimated Treatment Effect Using Optimal Model Observations: 1330
Threshold: 0
vce: cluster x
---------------------------------------------------------------------------
Inference method | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------------+-------------------------------------------------------
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)
Estimated Treatment Effect Using Optimal Model Observations: 1310
Threshold: 0
vce: cluster x
---------------------------------------------------------------------------
Inference method | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------------+-------------------------------------------------------
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
Estimated Treatment Effect Using Optimal Model Observations: 1610
Threshold: 0
vce: cluster x
---------------------------------------------------------------------------
Inference method | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------------+-------------------------------------------------------
Robust | .29787 .01592 18.712 0.0000 0.2664 0.3293
KS rand. infer. | .29787 .0122 24.41 0.0000 0.2721 0.3236
---------------------------------------------------------------------------
本文的方法不应被视为能毫无问题地自动选择客观最佳模型。接下来将讨论一些复杂情况和使用该方法的建议。
对于模糊 RDD 和 RKD 这些依赖于第一阶段设计的模型来说,在安慰剂区内可能不存在处理变量和驱动变量之间的第一阶段关系。在这样的模型中,一种可行的做法是,使用本文的方法为简化形式的断点 (或拐点) 选择一个估计模型,即阈值范围内结果变量的断点 (或拐点)。
本文的方法必须为估计模型选择最大带宽,当不存在自然约束时,建议在选择最大带宽之前对数据进行检查。对于给定的模型类型,一个关键的考虑因素是处理效应估计值和带宽之间的关系。当选择某一个带宽时,处理效应发生明显变化,可以选择该带宽作为最大带宽。
对不同类别的模型进行比较是困难的,因为不同类别的模型通常估计不同的参数。例如,模糊 RDD 模型估计 LATE,而 RKD 估计 MTE,本文的方法可用于比较这些模型的表现。因此使用该方法时应考虑潜在处理效应异质性的影响。考虑到将处理效应异质性施加到安慰剂区的情况,在 Kettlewell 和 Siminski (2020) 中,作者演示了如何解决这个问题。
Note:产生如下推文列表的 Stata 命令为:
lianxh 断点, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh