【应用计量系列124】DID:面板数据与重复截面数据

文章来源:Fernando Rios-Avila:DID: Panel Data & Repeated Crossection Using CSDID and JWDID

分享这篇推文是为了今天下午西北师范大学经济学院的“面板数据因果推断”讲座,讲稿下载地址“资料分享:面板数据因果推断”

一、事件异质性的多期DD

在异质性处理效应DID文献之前,用多期、多个体数据,采用DID方法估计处理效应,都会声明如下回归方程:
y_{it} = \delta_i + \delta_t + \gamma \times trt + e_{it}

其中,trt是二值型处理变量。一般来说,trt=0的所有个体都会当做控制组。

异质性处理效应文献让越来越多人意识到,上述TWFE方程要在一些严格的假设之下,才能识别干净的ATT \gamma:

  • ① 所有的处理个体都在同一时间接受处理;
  • ② 如果是交叠处理,处理效应在时间和截面都是同质的(也就是说,\gamma在时间和截面上均相同)

这些假设几乎不成立。例如,原始处理可能随着时间推移,效果越来越弱,后处理者可能有后发优势,即比先处理者有更强的效应。这个时候,上述TWFE就可能得不到真实的处理效应:

  • ① 线性回归并不能区分好和坏的控制组。它们仅仅只是探究数据的变动(varation)。
  • ② 已处理个体被当做“控制组”,因而一些后处理个体会收到“不利(negative)”权重。

最有趣的结果是,研究者估计得到了与真实处理效应相反的效应估计量,例如,即使所有个体都是正处理效应,但是人们估计出负的处理效应。

近些年,许多文献都指出了这一问题,并提出了相似的解决方案(Goodman-Bacon (2021), Callaway and Sant’Anna (2021), Sun and Abraham (2021), Wooldridge (2021) and Borusyak, Jaravel, and Spiess (2023)):允许组群和时间异质性,避免使用已处理个体作为控制组。

这篇推文关注于两个估计量Callaway and Sant’Anna (2021) and Wooldridge (2021),Wooldridge (2021),对应的stata命令为:csdid(csdid2)和jwdid。两种方法都建议当一个个体在时点T接受处理(对应的组群G),我们估计的点估计量是ATT(G,T)

二、 G×T DID(不是2×2 DID)

(一)面板数据

首先,加载数据

** to get the data from my repository
ssc install frause, replace
frause mpdta, clear

数据局中包含县级层面的人口规模(lpop)、就业(lemp),以及县最低工资发生变化的起始年份指标(first_treat)。为了估计异质性处理效应的DID模型,要用csdid或者jwdid:

** This is a dependency for csdid
ssc install drdid, replace
ssc install csdid, replace
ssc install jwdid, replace

通常,我们要创建一个虚拟变量(处理个体被处理后):

gen trt = (first_treat<=year)*(first_treat>0)

下面,创建处理类指标gvar:

egen gvar = csgvar(trt), ivar(countyreal) tvar(year)

值得注意的是,stata 18的官方命令xthdidregress和hdidregress并不要求这一步,因为它会自动生成cohort变量。下面,我们可以检查一下gvar:

tab year gvar
image.png

正如预期,我们有2500个样本,500个县,309个未处理,20个在2004年处理,40个在2006年处理,131个在2007年处理。这些数字被称为“有效样本数”,因为csdid仅仅只是用这些信息来估计处理效应。换言之,我们应该假设有效样本数为20(模型声明和控制变量的个数很有用)。

默认地,jwdid用还未处理的个体作为控制组。因此,为了使得csdid与jwdid的结果可比,jwdid用“从未处理个体”作为控制组。对于csdid,默认用上一期作为基期,从未处理个体作为控制组。为了改变,可以使用long2选项。这些选项会使得结果可比。

* csdid

csdid lemp , ivar(county) time(year) gvar(gvar) long2
image.png
* jwdid

jwdid lemp , ivar(county) time(year) gvar(gvar) never

(二)重复截面数据

重复截面数据稍微有一些不同。一方面,我们并不能在多个时间观测到同一个体。因此,没有个体固定效应。实践中,研究者总是尝试利用组群固定效应或者处理层面的固定效应。

我们再来看看前面的数据集。为了模拟重复截面数据结构,假设每一轮,数据是从每个地区内随机得到的县,我们并不能识别时间层面的县。用上面的数据集,放弃10%的数据,创建一个地区id变量,放弃县的识别码:

** load and obtain trt
frause mpdta, clear
gen trt = (first_treat<=year)*(first_treat>0)
gen state = int(countyreal/1000)

** Randomly keep 90% of the data
set seed 1
sample 90
drop countyreal

下面,来创建gvar,与前面的命令相似,但县识别码换成了地区id。注意,地区id代表的是处理层面,它可以在时间层面识别出来:

egen gvar = csgvar(trt), ivar(state) tvar(year)

检查一下gvar:

tab year gvar

这样我们就把个体层面的重复截面数据转换成地区层面的面板数据结构。

这个时候就可以使用csdid和jwdid:

* 在使用csdid时,我们要放弃ivar选项,为了确保在正确层面聚类,我们使用cluster()选项,并用地区id作为聚类层级

csdid lemp , cluster(state) time(year) gvar(gvar) long2

* 事件研究图
estat event
csdid_plot

* 在使用jwdid时,可以在ivar()选项中使用地区id,也可以使用cluster()替代ivar

jwdid lemp , ivar(state) time(year) gvar(gvar) never
estat event
jwdid_plot

jwdid lemp , cluster(state) time(year) gvar(gvar) never group
estat event
jwdid_plot

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容