Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者: 胡文涛 (中国人民大学)
邮箱: hwtxwhr@163.com
编者按:本文主要摘译自下文,特此致谢!
Source:Gardner, John. 2021. A primer on staggered DD. Working Paper. -PDF-
目录
本篇推文是对交错 (staggered) 情形下的 DID 和 Event Studies 做一个入门性介绍。交错指的是对于在一个 (准) 实验研究样本中的个体接受处理时间不一致,而这种情形的存在会对传统的 DID 系数估计和原本直观的处理 (政策) 效果的解释产生影响。已经有不少文献对此进行了讨论 (Borusyak and Jaravel, 2017; Athey and Imbens, 2018; Goodman-Bacon, 2018; de Chaisemartin and D’Haultfoeuille, 2020; Imai andKim, 2020; Sun and Abraham, 2020)。作为入门,在这篇文章里,我们对于一些关键结果提供了直觉和简化的推导,并提供了这种交错情形下 (即处理时间、处理个体存在异质性) 如何对平均处理效应 (ATT) 的一种简单估计方法。
首先,考虑一个最简单的 DID 模型,只有两期 (事前、事后)、两组 (处理组、对照组),并且满足平行趋势假设,我们可以用下列式子进行表示:
其中,
系数
更常见的情形是,将
此外,另一种常见的做法是将上式改为事件法表达式,具体来说就是将
与式 (1) 相比,式 (2) 可以用于计算具体每一期的政策效果,获得政策实施的动态效应。同时,这也可以用来检验事前的平行趋势是否满足。
一个研究样本中的处理组接受处理时间不一致,呈现出多个队列,用
其中,
如果平均的处理效应不依赖于队列和队列接受处理的持续时间,那么我们可以将
对于这个问题,一个简单理解方式的是把
简单来说,我们通过式 (1) 回归所得到的
对于早期的队列来说,
对于这样一种结果,至少有两种直觉上的解释,一是将前后接受处理的队列进行比较,事实上它们都是处理组而不是对照组,特别是当这种处理效应会随着时间和组别发生变化时,这样估计出来的系数就会对正实的效果产生误导。此外,因为 DID 假设不变的 ATT,它会把部分异质性效应归因于个体和时间处理效应。对于那些被处理期数更长以及在某个时期内处理个体数更多,就会吸收更多的处理效应。
Sun and Abraham (2020) 的研究展示了这一现象同样可以应用于事件研究回归。类似地,我们用线性投影来理解这一问题。假设方程 (3) 是正确的,但是我们用方程 (2) 进行估计,
因此,当持续时间-个体处理效应在不同队列里具有异质性时,原有事件法回归识别的是实际上是所有队列
正如Sun and Abraham (2020) 所指出的那样,一个重要的后果就是即使满足平行趋势,treatment-adoption 前的系数也不为 0。
一个简单处理交错和异质性 ATTs 的方法就是去估计方程 (3),这样就可以分离每一个队列和处理持续时间。这也可以估计几个 cohort
这是总体的平均处理效应 (涵盖所有观察到的处理队列和持续时间)。其他的一些加权平均处理效应同样也可以报告出来,这里不赘述。
用 Stata 处理这个十分方便,下面是具体的 Stata 操作:
*交错 DID 模型
xtreg y i.year ibn.dur#ibn.cohort#c.d, fe vce(cluster id)
上述命令可以估计本文提到的式 (3)。其中,
y
:表示结果变量;i.year
:为时间固定效应;dur
:为处理持续时间长度的分类变量 (categorical variable)cohort
:为处理队列的分类变量,d
:表示处理状态 (随时间而变化 time-varying) 的虚拟变量,ibn.dur#ibn.cohort#c.d
:控制因处理时间长短、处理队列异质性而导致的趋势变化;fe
:控制个体固定效应;vce(cluster id)
:表示标准误聚类到个体。然后利用 margins
命令可以计算出 d
的平均边际效应,通过 subpop
选项可以选取子样本。关于 margins
详细介绍,见 help margins
。
margins, dydx(d) subpop(if d==1)
当然,相似的命令也可以被用于事件研究回归,下面将以 Jeffrey Wooldridge 模型为例介绍。
*文件地址1:https://www.jianguoyun.com/p/Dfp2soIQlNCuCRjh_vcD
*文件地址2:https://gitee.com/arlionn/data/tree/master/data01/staggered_did
clear all
set more off
// --------------------------------------------------------
// Estimating the ATT with margins
// --------------------------------------------------------
// data from wooldridge
use staggered_6, clear //调入数据
// cohort = final treatment duration
egen cohort = sum(w), by(id) //生成队列变量
// current treatment duration duration
bysort id: gen dur = sum(w) //生成dur分类变量
xtset id year
// cohort*duration specification and ATT
*xtreg命令
xtreg logy i.year ibn.dur#ibn.cohort#c.w, fe
margins, dydx(w) subpop(if w==1)
*或者areg命令
areg logy i.year ibn.dur#ibn.cohort#c.w, absorb(id) //areg 命令
margins, dydx(w) subpop(if w==1)
// duration-specific effects (event study)
margins, dydx(w) subpop(if dur==1)
margins, dydx(w) subpop(if dur==2)
margins, dydx(w) subpop(if dur==3)
*可以具体算每一个持续期的边际效应
// --------------------------------------------------------
// 通过手动加总来说明
// --------------------------------------------------------
// 生成权重
local sum=0
forvalues c=1/3 {
forvalues p=1/3 {
gen cp_`c'`p'=(cohort==`c' & dur==`p')
gen dcp_`c'`p'=(cohort==`c' & dur==`p' & w)
sum cp_`c'`p' if w
local cp_`c'`p'=`r(mean)'
local sum = `sum' + `r(mean)'
di `terms'
}
}
di `sum'
// 跑回归
areg logy i.year dcp_*, absorb(id)
// 加重效应
local terms
forvalues c=1/3 {
forvalues p=1/3 {
local terms `terms' + `cp_`c'`p''*_b[dcp_`c'`p']
//di `terms'
}
}
lincom `terms'
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