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

文摘   教育   2025-01-13 22:01   山西  

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

🍓 课程推荐:连享会: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。若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

  • 专题:专题课程
    • ⏩ 因果推断专题-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 搜索神器:lianxhsongbl GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

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

连享会
连玉君老师团队分享,主页:lianxh.cn。白话计量,代码实操;学术路上,与君同行。
 最新文章