276120 430

[程序分享] Stata绘图(二) | 多期DID的平行趋势检验   [推广有奖]

321
石器时代的大菠萝 在职认证  发表于 2021-9-3 11:46:21
15813602863 发表于 2021-8-29 20:48
想问问楼主,我按照49楼的代码画图,但是图似乎有错误,能不能请教下我哪里出了问题
需要检查一下b0的系数,看看置信区间是不是图中那个范围,它看起来有点问题。
另外也要检查一下,模型是否设定为:xtreg y d_4 d_3 d_2 d0 d1 d2 d3 d4 d5 i.year 控制变量, fe r
已有 1 人评分论坛币 热心指数 收起 理由
happy_287422301 + 20 + 2 热心帮助其他会员

总评分: 论坛币 + 20  热心指数 + 2   查看全部评分

322
Lyuntao 发表于 2021-9-7 10:35:27
楼主您好,我发现我drop掉current、d_1、d1都没有通过检验,请问如果想尝试drop掉中间的期数例如d_3、d_2是不是要重新写命令呢,楼主可以出一期命令吗,跪求

323
Lyuntao 发表于 2021-9-7 11:19:09
CZY111111 发表于 2021-6-14 19:58
您好,想问一下,如果以d_2为基期,应该怎样修改手工绘图部分的代码呢?
我按我自己的理解一开始将2/4换 ...
您好,请问以d_2为基期的代码是怎么改的呀?

324
qiaohuangyou 发表于 2021-9-15 15:28:38
楼主您好,刚刚看完了几十页的评论与您的回复,瑞思拜!!!
请教您一个问题,我现在做的多期双重差分,DID结果的负显著的,符合预期。
时间跨度09-16年,我生成完了pre_7....current....after_7的虚拟变量以后,结果如下:
reghdfe y pre* current after* 控制变量组, absorb(year stkcd country_id )
我尝试将回归命令中的pre* current after*,替换为比如pre_3 ....after_3之类的,结果还是不行。
辛苦指点一下!感谢

实证结果.png (22.13 KB)

实证结果.png

325
zying123 发表于 2021-9-15 20:58:04
楼主您好!首先非常感谢这么详细的讲解步骤。我在做多时点平行趋势检验时遇到类似问题想要请教您。因为样本中含有控制组,且控制组始终没有受到政策冲击,所以计算distance(我的为Dyear)时生成的是".",请问:1)这部分样本在做平行趋势检验时要剔除吗,如果不剔除是不是直接按照正常步骤做就可以?2)缩尾问题:如果不剔除,我能否直接replace Dyear =-8 if Dyear <-8 ;replace Dyear = 8 if Dyear > 8,这样那些控制组样本也会被替换成8,这样的做法是对的吗?谢谢您!盼回复! 1631710547(1).jpg

326
zying123 发表于 2021-9-15 22:29:54
石器时代的大菠萝 发表于 2020-3-29 19:09
当然是所有样本。
首先表示感谢!我也遇到了类似的问题,所以平行趋势检验要包括处理组和匹配上的控制组样本(这也是psm后做DID的样本),以检验处理组和匹配上的控制组在政策实施前后是否具有共同趋势。不知道我理解的对不对?
还有一个疑问是,控制组的distance是缺失值“.”,对应的d_*和d*值都为0,所以就这样直接按照代码进行检验就可以了是吗?谢谢你

327
灼2516 发表于 2021-9-16 14:33:33 来自手机
石器时代的大菠萝 发表于 2020-3-22 01:46
Stata绘图(二) | 多期DID的平行趋势检验

作者:石器时代的大菠萝
政策后虚拟变量(取1表示政策之后,取0则表示政策之前);Gi表示处理变量(取1表示处理组,取0则表示控制组);Xit表示“个体i为处理组”且“时间t在政策之后”则取值为1,其他情况取值为0,有一种等价说法是——Xit表示个体i在t时间是否实施了政策。<br>
请注意:不要把Xit理解成是交互项,因为在多期DID中,控制组样本的Dt无法给出合适的定义。简单来说,控制组样本根本不存在“政策年度”一说,更谈不上样本是发生在政策“之前”还是“之后”了。
Dt表示政策实施前后的虚拟变量,在两期DID中,因为只存在两期数据,因此其等价于时间虚拟变量。两期DID的Dt到了多期DID中,就转化为时间虚拟变量;Gi表示处理变量,由于多期DID中的个体效应ui包含了Gi的信息(Gi是ui的子集),因此同时在模型中放入Gi与ui将导致严重的多重共线性问题,应该只放入信息含量更多的ui。多期DID中的Xit来自两期DID中的Dt* Gi,尽管本文一再强调不应该把Xit理解成Dt与Gi的乘积,但是不少初学者依然会习惯性认为Xit等价于两个变量的乘积。
综上,两期DID推导至多期DID的变化过程是:Dt→时间虚拟变量,Gi→ui,Dt*Gi→Xit。多期DID没有对政策时点是否一致性提出要求,因此多期DID还适用于政策时点不一致情形。
生成Xit的Stata过程对初学者来说可能稍有难度,有的人习惯在Excel中整理数据,有的人喜欢用merge命令把数据全部匹配到一起。由于不同人有不同的习惯,下面介绍如何在Excel和Stata中应该怎么制作出这个变量。

328
修哇修哇 发表于 2021-9-22 22:24:46
请问老师两期DID是无法检验平行趋势假设的吗?

329
pengwulian 学生认证  发表于 2021-9-23 11:48:49
请问楼主,我的被解释变量不止一个,是否需要对每个变量都做平行趋势检验?另外,我在对不同被解释变量做平行趋势检验时,只有选择不同基期最后不同被解释变量出来的结果才比较好,这样的做法可以吗,十分感谢~~

330
pengwulian 学生认证  发表于 2021-9-23 12:12:16
下面是我自己论文里用的画图命令,会相对简便些
coefplot, baselevels ///
keep(d*) ///
vertical ///转置图形
coeflabels(d_5=2011 d_4=2012 ///
d_3=2013 d_2=2014 ///
current=2016 d1=2017 d2=2018 d3=2019) ///
yline(0,lwidth(vthin) lpattern(dash) lcolor(teal)) ///
xline(9,lwidth(vthin) lpattern(dash) lcolor(teal)) ///
ylabel(,labsize(*0.85) angle(0)) xlabel(,labsize(*0.75)) ///
ytitle("Coefficients") ///
xtitle("Year") ///
msymbol(O) msize(small) mcolor(gs1) ///plot样式
addplot(line @b @at,lcolor(gs1) lwidth(medthick)) ///增加点之间的连线
ciopts(recast(rcap) lwidth(thin) lpattern(dash) lcolor(gs2)) ///置信区间样式
graphregion(color(white)) //白底

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-19 05:36