Stata:事件研究法的稳健有效估计量-did_imputation
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-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-
目录
1. 简介
2. 现有估计存在的问题
3. 基于插补的估计法
3.1 有效性
3.2 渐进性与置信区间
3.3 平行趋势检验
4. Stata 范例
5. 相关推文
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 简介
事件研究法 (ESA) 是一种面板中的一组单元在不同时间接受处理的 DID 设计,通常用于估计处理非随机时的处理效应,并以双向固定效应的形式进行估计:
本文采用了两个标准的 DID 假设:未经处理的潜在结果具有平行趋势的特征,且没有预期的效果。此外还有一个辅助假设:处理效果本身遵循某种被限制了异质性的模型。本文提出了一个基于插补法的估计框架,使得在满足基本假设的前提下,该估计量为有效且稳健的。作者还提供了相应的 Stata 命令 did_imputation
来实现这一估计量。
2. 现有估计存在的问题
考虑在一个有 个个体, 期的面板中,对每个个体都有一个事件开始时点 ,这个时点之后的所有时期该个体都接受了处置 且一直不变:, 是接受处理的相对时间,且允许 “从未处理组” 的存在,即 。处理组 的处理效应:。
本文的目标估计量是:
其中权重则根据感兴趣的变量而不同。研究者也许感兴趣 ATT,则此时 且 , 代表接受处理的集合。在 中,通常感兴趣的估计量为 且 。为了识别 ,本文考虑了 3 个假设:
A1 (平行趋势):存在非随机的 和 使得 对于所有 都满足;
A2 (无事前期望效应):对所有 ,;
关于因果效应的辅助性假设 A3 和其等价假设 A3',后者假设了一个处理效应的参数模型:
A3 (限制的因果效应):对于已知的满秩 矩阵 B,;
A3' (因果效应模型):, 为 未知参数,而 是一个已知的 矩阵。
在实际中,A3 通常较难被满足,因此会造成估计偏误。具体来说,在常见的动态交错 DID 模型中:
其中 和 为双向固定效应, 和 分别为包含的领先和滞后期期数。在该设定中,假设 1 成立,而假设 2 则允许在处理之前的 a 期存在期望效应。同时,假设 3 要求处理效应只根据 h 而不同,不随个体和期数而变化。 的 OLS 系数被解释为 h 的平均因果效应,并未设定特别的权重。当 a=b=0 时,动态模型变为静态:
此时 A3 变得更加严格,其要求所有处理效应都一样。实际中,这些严格的假设通常难以满足,这会导致 OLS 估计产生问题。首先,当 “从未处理组” 不存在时, 路径的系数无法使用点估计得出。
其次,A3 会导致静态 TWFE 估计量无法获得异质性处理效应的合理权重,尤其是在对长期因果效应的估计中,其关键权重甚至可能为负数。在动态模型中,OLS 估计量能估计出一部分 的系数,但对于较长的 h,仅在 A1 和 A2 下无法估计出平均处理效应。除非 A3 先天满足,否则得出的 OLS 估计量不可信,这会导致 “虚假识别” 问题 (spurious identification)。
3. 基于插补的估计法
首先,A1 可以被放松为 A1':(1) 允许个体固定效应和一些与处理无关的协变量交互;(2) 允许时变变量的存在。令 ,则此时在改良版 A1,以及 A2 和 A3 下:
3.1 有效性
在满足 A1-A3 和额外的同方差假设下,可通过:先估计 (4) 得到 ,再估计出处理效应的向量 ,最后得到目标估计 。仅满足 A1-A3 的条件下,该估计量就是无偏的。
在未限制异质处理效应的特殊情形下, 具有 “插补” 型表达式:即用未处理的观测值 去估计 模型,然后将其外推至经过处理的个体 来获得 ,任意权重都使得该估计量是有效的。
该 “插补” 形式不仅比 (4) 中的 OLS 估计量容易计算,还更自然地将平行趋势假设与无期望效应联系起来。事实上,任何 的线性无偏估计量都可以被表示为插补形式,但其用于插补 的方法可能不再有效。
3.2 渐进性与置信区间
本节中作者将同方差假定放松为聚类标准误,并证明了当权重向量满足一些条件时,可以确保估计量的一致性、渐进正态且可得到合理的置信区间。首先,在权重 v 满足赫芬达尔条件时:
可以证明 具有一致性。加上权重的高阶矩条件平衡性与极限下界假设,可以证明其渐进正态性。具体的证明可以参见作者的原文及附录。
3.3 平行趋势检验
通常有两个方法用于检验平行趋势。传统上,可以估计包含滞后期与领先期的动态模型,之后检验领先期的系数是否为 0。新方法则假设,对于所有最终受处理的个体,在 k 期之前处理就已发生,之后估计这一 “处理” 发生之后 期的平均处理效应。
本文的插补法可使用第二种方法检验。然而,这两种方法都有缺陷:由于传统的检验法用全部样本 (包括处理的观测),因此对违反隐含假设 3——每个阶段接受处理的个体的处理效应都是同质的——十分敏感。新检验法则未对估计,检验和精准确定估计对象之间做出区分,因此导致了一定程度的功效丧失。作者提出了检验假设 1 的新方法:
为 选择一个比 A1' 更为丰富的模型: 仅对未受处理的个体 使用 OLS 从而估计 ; 运用 F 检验测验 。
作者证明了这一检验的优势:若通过检验,则对于 的推断在不违反 A1'、A2 以及同方差假定下仍为渐进合理的。
4. Stata 范例
*命令安装
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"))
5. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 事件研究, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:计量专题 Stata:事件研究法的编程实现 Event Study:事件研究法的Stata实现 Stata:一文读懂事件研究法Event Study 专题:Stata教程 事件研究法笔记:Stata连享会 专题:Stata命令 事件研究法:Stata该用什么命令 专题:回归分析 Stata:短期事件研究法(Event_Study)教程 专题:面板数据 Stata:面板事件研究法-eventdd
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下:连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。