查看原文
其他

平行趋势检验, 事件研究图绘制, 安慰剂检验的保姆级程序指南!

计量经济圈 计量经济圈 2023-08-12

凡是搞计量经济的,都关注这个号了
箱:econometrics666@126.com
所有计量经济圈方法论丛的code文件, 微观数据库和各种软件都放在社群里.欢迎到计量经济圈社群交流访问.

前些年,我们出过“PSM-DID, DID, RDD, Stata保姆级程序和数据百科全书式的宝典!”,今天,再出一份关于交错DID或多期DID中的平行趋势检验, 事件研究图绘制, 安慰剂检验教程。

//下面这些都是可以直接运行出来结果的,因此,只需要直接复制到你的Stata里运行即可。

ssc install eventdd
ssc install matsort
**这是一个交错DID或者说多期DID
webuse set www.damianclarke.net/stata/
webuse bacon_example.dta, clear
****1.估计交错DID*****************************************************************************************************************
**估计无过错离婚改革对女性自杀的影响的基准双向固定效应DID模型
xtreg asmrs post pcinc asmrh cases i.year, fe cluster(stfips)

****2.平行趋势检验、动态效应估计,以及事件研究图**********************************************************************************
**生成标准化的事件-时间变量
gen timeToTreat = year - _nfd  //_nfd为无过错离婚改革执行年份
*生成事件研究图以及政策的动态效应
eventdd asmrs pcinc asmrh cases i.year, timevar(timeToTreat) method(fe, cluster(stfips)) graph_op(ytitle("Suicides per 1m Women") xlabel(-20(5)25))  //这里用的是xtreg

eventdd asmrs pcinc asmrh cases i.year, timevar(timeToTreat) method(hdfe, cluster(stfips) absorb(stfips year)) graph_op(ytitle("Suicides per 1m Women") xlabel(-20(5)25))  //这里用的是reghdfe


*生成事件研究图以及政策的动态效应,但仅在图中显示平衡时期的结果
eventdd asmrs pcinc asmrh cases i.year, timevar(timeToTreat) method(fe, cluster(stfips)) balanced graph_op(ytitle("Suicides per 1m Women"))

**仅使用特定时期内的平衡面板数据的观测值生成事件研究图。
eventdd asmrs pcinc asmrh cases i.year, timevar(timeToTreat) method(fe, cluster(stfips)) keepbal(stfips) leads(6) lags(14) graph_op(ytitle("Suicides per 1m Women"))


****3.安慰剂检验,通过随机虚构政策试点进行安慰剂检验。本文进行了500次的随机抽样然后重新进行回归估计*****************************
permute post coefficient = _b[post], reps(500) seed(123) saving("simulations1.dta"): xtreg asmrs post pcinc asmrh cases i.year, fe cluster(stfips)

**绘图
use "simulations1.dta", clear

dpplot coefficient, xline(-2.515, lc(red*0.5) lp(dash)) xline(0, lc(black*0.2) lp(solid)) xtitle("divorce law effect estimate") ytitle("density of distribution", size(*0.4)) ylabel(, nogrid format(%4.1f) labsize(small)) note("") caption("")  saving("divorce_dpplot.gph", replace) xlabel(-3(1)2)

graph export "placebotest1.png", width(1000) replace

其他安慰剂检验,可以参考这篇文章:PSM-DID, DID, RDD, Stata保姆级程序和数据百科全书式的宝典!


放到Stata里就是这样了,直接运行即可。

//下面使用宽带中国试验的数据再做一下平行趋势检验、事件研究图绘制,以及安慰剂检验

use broadband.dta, clear

global control gdp road highrail airport rdspend sharehold roa leverage size lnage


reghdfe patent_new did $control , absorb(id year#province year#sic_da) cluster(id)   //reghdfe回归


gen timeToTreat = year - policy_year //生成事件-时间变量


eventdd patent_new $control i.year, timevar(timeToTreat) method(hdfe, cluster(id) absorb(id year#province year#sic_da))  baseline(-1) ci(rcap) graph_op(ytitle(("broadband" xlabel(-7(1)3)))) leads(4) lags(3) inrange   //生成事件研究图


csdid patent_new  $control , ivar(id) time(year) gvar(policy_year) method(dripw) agg(simple)   //这个可以用来处理政策效应异质性问题


**安慰剂检验,通过随机虚构政策试点进行安慰剂检验。本文进行了500次的随机抽样然后重新进行回归估计

permute did coefficient = _b[did], reps(500) seed(123) saving("simulations2.dta"): reghdfe patent_new did $control, absorb(id year#province year#sic_da) cluster(id)


**绘图

use "simulations2.dta", clear


dpplot coefficient, xline(0.129, lc(red*0.5) lp(dash)) xline(0, lc(black*0.2) lp(solid)) xtitle("broadband effect estimate") ytitle("density of distribution", size(*0.4)) ylabel(, nogrid format(%4.1f) labsize(small)) note("") caption("")  saving("braodband_dpplot.gph", replace)  xlabel(-0.05(0.05)0.15)

            

graph export "placebotest2.png", width(1000) replace
其他安慰剂检验,可以参考这篇文章:PSM-DID, DID, RDD, Stata保姆级程序和数据百科全书式的宝典!

放到Stata里就是这样了,直接运行即可。

代码和数据的下载链接: https://pan.baidu.com/s/1StGPIqXRtFy1f1Chx9rKTQ 

提取码: rxhy 

关于双重差分DID,参看1.120篇DID双重差分方法的文章合集, 包括代码,程序及解读, 建议收藏!2.诚实双重差分法DID, 面板事件研究法和Bacon分解的经典应用文!3.前沿: 多期或渐进或交叠DID, 如何进行平行趋势检验呢?4.多期DID或渐进DID或交叠DID, 最新Stata执行命令整理如下供大家学习,5.DID前沿: 5种方法估计事件研究的因果效应, 并使用绘制系数和置信区间, 详细代码和数据,6.事件研究法开展政策评估和因果识别, 分享8篇提供数据和代码的文章,7.推荐用渐进(多期)DID和事件研究法开展政策评估的论文及其实现数据和代码!8.机器学习已经与政策评估方法, 例如事件研究法结合起来识别政策因果效应了!9.前沿, 模糊双重差分法FDID方法介绍和示例, 附code和数据!10.双重差分法和事件研究法的区别主要在哪里?11.前沿, 合成双重差分法SDID方法介绍和示例, 附code和数据!12.具有空间溢出效应的双重差分法估计最全综述, 理论和操作尽有!13.最新Sun和Abraham(2021)和TWFE估计多期或交错DID并绘图展示结果!详细解读code!


下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。

5年,计量经济圈近1500篇不重类计量文章,

可直接在公众号菜单栏搜索任何计量相关问题,

Econometrics Circle




数据系列空间矩阵 | 工企数据 | PM2.5 | 市场化指数 | CO2数据 |  夜间灯光 | 官员方言  | 微观数据 | 内部数据

计量系列匹配方法 | 内生性 | 工具变量 | DID | 面板数据 | 常用TOOL | 中介调节 | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 | 因果识别 | 社会网络 | 空间DID

数据处理Stata | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等 |

干货系列能源环境 | 效率研究 | 空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习 | SSCI | CSSCI | SSCI查询 | 名家经验计量经济圈组织了一个计量社群,有如下特征:热情互助最多、前沿趋势最多、社科资料最多、社科数据最多、科研牛人最多、海外名校最多。因此,建议积极进取和有强烈研习激情的中青年学者到社群交流探讨,始终坚信优秀是通过感染优秀而互相成就彼此的。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存