Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
邮箱:杜静玄 (雪城大学)
邮箱:jdu115@syr.edu
编者按:本文主要摘译自下文,特此致谢!
Source:Borusyak K, Jaravel X, Spiess J. Revisiting event study designs: Robust and efficient estimation[J]. arXiv preprint arXiv:2108.12419, 2021. -PDF-
目录
事件研究法 (ESA) 是一种面板中的一组单元在不同时间接受处理的 DID 设计,通常用于估计处理非随机时的处理效应,并以双向固定效应的形式进行估计:
本文采用了两个标准的 DID 假设:未经处理的潜在结果具有平行趋势的特征,且没有预期的效果。此外还有一个辅助假设:处理效果本身遵循某种被限制了异质性的模型。本文提出了一个基于插补法的估计框架,使得在满足基本假设的前提下,该估计量为有效且稳健的。作者还提供了相应的 Stata 命令 did_imputation
来实现这一估计量。
考虑在一个有
本文的目标估计量是:
其中权重则根据感兴趣的变量而不同。研究者也许感兴趣 ATT,则此时
A1 (平行趋势):存在非随机的
A2 (无事前期望效应):对所有
关于因果效应的辅助性假设 A3 和其等价假设 A3',后者假设了一个处理效应的参数模型:
A3 (限制的因果效应):对于已知的满秩
A3' (因果效应模型):
在实际中,A3 通常较难被满足,因此会造成估计偏误。具体来说,在常见的动态交错 DID 模型中:
其中
此时 A3 变得更加严格,其要求所有处理效应都一样。实际中,这些严格的假设通常难以满足,这会导致 OLS 估计产生问题。首先,当 “从未处理组” 不存在时,
其次,A3 会导致静态 TWFE 估计量无法获得异质性处理效应的合理权重,尤其是在对长期因果效应的估计中,其关键权重甚至可能为负数。在动态模型中,OLS 估计量能估计出一部分
首先,A1 可以被放松为 A1':(1) 允许个体固定效应和一些与处理无关的协变量交互;(2) 允许时变变量的存在。令
在满足 A1-A3 和额外的同方差假设下,可通过:先估计 (4) 得到
在未限制异质处理效应的特殊情形下,
该 “插补” 形式不仅比 (4) 中的 OLS 估计量容易计算,还更自然地将平行趋势假设与无期望效应联系起来。事实上,任何
本节中作者将同方差假定放松为聚类标准误,并证明了当权重向量满足一些条件时,可以确保估计量的一致性、渐进正态且可得到合理的置信区间。首先,在权重 v 满足赫芬达尔条件时:
可以证明
通常有两个方法用于检验平行趋势。传统上,可以估计包含滞后期与领先期的动态模型,之后检验领先期的系数是否为 0。新方法则假设,对于所有最终受处理的个体,在 k 期之前处理就已发生,之后估计这一 “处理” 发生之后
本文的插补法可使用第二种方法检验。然而,这两种方法都有缺陷:由于传统的检验法用全部样本 (包括处理的观测),因此对违反隐含假设 3——每个阶段接受处理的个体的处理效应都是同质的——十分敏感。新检验法则未对估计,检验和精准确定估计对象之间做出区分,因此导致了一定程度的功效丧失。作者提出了检验假设 1 的新方法:
作者证明了这一检验的优势:若通过检验,则对于
*命令安装
cnssc install did_imputation, replace
did_imputation
的基本使用方法为:
*命令语法
did_imputation Y i t Ei [if] [in] [estimation weights] [, options]
其中 Y 为结果变量,i 是观测的唯一识别符,t 为时期,Ei 为个体接受处理的时间 (缺失值则代表从未处理组)。我们首先生成一个具有 300 个个体,观察期 15 的面板:
. clear all
. timer clear
. set seed 10
. global T = 15
. global I = 300
. set obs `=$I*$T'
. gen i = int((_n-1)/$T)+1
. gen t = mod((_n-1),$T)+1
. tsset i t
接下来为个体随机生成首次接受处理的时期 (
· gen Ei = ceil(runiform()*7)+$T -6 if t==1
· bys i (t): replace Ei = Ei[1]
· gen K = t-Ei
· gen D = K>=0 & Ei!=.
其中
· gen tau = cond(D==1, (t-12.5), 0)
· gen eps = rnormal()
· gen Y = i + 3*t + tau*D + eps
最后我们使用命令 did_imputation
估计处理效应,并使用 event_plot
命令进行绘图:
· did_imputation Y i t Ei, allhorizons pretrend(5)
Number of obs = 4,500
------------------------------------------------------------------------------
Y | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
tau0 | .0854326 .0797319 1.07 0.284 -.070839 .2417042
tau1 | .6695374 .0837474 7.99 0.000 .5053955 .8336792
tau2 | 1.083881 .1012331 10.71 0.000 .8854674 1.282294
tau3 | 1.604685 .1332701 12.04 0.000 1.34348 1.865889
tau4 | 1.918663 .1531139 12.53 0.000 1.618565 2.21876
tau5 | 2.651424 .2432302 10.90 0.000 2.174701 3.128146
pre1 | -.0890417 .1243881 -0.72 0.474 -.3328379 .1547546
pre2 | -.0223983 .1062934 -0.21 0.833 -.2307295 .1859329
pre3 | -.0667799 .1004296 -0.66 0.506 -.2636183 .1300586
pre4 | -.0144644 .087886 -0.16 0.869 -.1867178 .1577889
pre5 | -.0334828 .0714538 -0.47 0.639 -.1735297 .1065641
------------------------------------------------------------------------------
可以看出,该数据集满足平行趋势假设,而处理效应也是异质的。我们还可以使用 event_plot
命令将不同时期的处理效应的系数都画出来,使得处理效应的变化更加直观:
. event_plot, default_look graph_opt(xtitle("Periods since the event") xlabel(-5(1)5) ///
> ytitle("Average causal effect") title("Borusyak et al. (2021) imputation estimator"))
Note:产生如下推文列表的 Stata 命令为:
lianxh 事件研究, m
安装最新版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