【应用计量系列153】最新理论与命令:前向型DID(Forward DID)及其stata应用

文摘   2024-07-24 11:36   北京  

CIMERS暑期班,因果推断最新进展+量化宏观,全新回归!


👉面板数据模型(DID等)最新进展及其stata应用,点击查看(已结束,可购买视频课程)

👉DSGE第一课与Dynare编程,点击查看


成为CIMERS内部学员,你可以获得

⭐ 高质量课程,详细课件,可复用代码及数据

⭐ 许老师详尽答疑服务,知无不言,学无止境

⭐ 高质量的交流社群(主要为硕博以及高校教师)

⭐ 许老师增值讲座,文献解读,模型讲解

⭐ 未来课程内部学员折扣

⭐⭐诚邀您加入CIMERS,许老师正在寻找好的合作者,一起作出高质量研究⭐⭐

报名任意课程即可成为CIMERS内部学员



恳请各位老师同学动动发顶刊的小手,点个赞和在看,让更多人看到我们的研究,您的支持是CIMERS最大的动力!




1、Kathleen T. Li ,2024:  A Simple Forward Difference-in-Differences Method, MARKETING SCIENCE, Vol. 43, No. 2, March–April 2024, pp. 267–279

2、  Jared Greathouse,2024: A Tutorial on Forward and Augmented Difference-in-Differences

3、Shi, Z. and Huang, J., 2023. Forward-selected panel data approach for program evaluation. Journal of Econometrics, 234(2), pp.512-535.

4、Han, Y., & Wu, M. (2024). Inter-regional barriers and economic growth: Evidence from China. Journal of Development Economics, 167, 103197.

5、Hsiao, C., Steve Ching, H., & Ki Wan, S. (2012). A panel data approach for program evaluation: measuring the benefits of political and economic integration of Hong Kong with mainland China. Journal of Applied Econometrics, 27(5), 705-740.

No Control, No DID!

我在所有的DID课程中会反复提到“无控制组,不DID”。在无法保证随机处理的情形下,尤其是基于不可观测的变量来选择进入处理时,仔细选择控制组尤为重要。有关处理配置机制的讨论见:

第四步:处理配置机制---理论篇

第四步:处理配置机制---应用篇

第四步:处理配置机制---阿什费尔特沉降(Ashenfelter's Dip)

第四步:基于可观测协变量的处理配置机制

第四步:什么样的处理配置机制会打破平行趋势假设

我在小红书上也总结了如下选择机制:

总之,当选择进入处理(selection to treatment)是基于不可观测因素,现有文献并没有太好的方案来为DID选择合适的控制组。

Li(2024)最新的论文指出,FDID(Forward DID)是传统DID的一种备选方法,即传统DID不适用的情形下,可以尝试使用FDID。这种方法采用Shi and Huang(2023)提出的前向HCW方法——一种用于面板数据的控制组前向选择算法——来选择处理组的合适控制组子集,然后基于控制组子集使用DID,最终得到ATT。

在DID过程中,我们通常用处理前趋势检验来说明控制组是合适的。也有一些学者会从经济社会制度背景来选控制组,例如,Han and Wu(2024)就用主动申请改革试点,但未成功的县作为实际改革县的控制组。这种定性分析其实与因果定量分析同样重要。但仍然会有很多人怀疑这种“靠嘴巴”“拍脑袋”的控制组选择方式。

前向选择算法(forward selection algorithm)是一种数据驱动的方法,它一次选择一个潜在控制组来构成控制组子集,并选择最优化的控制组子集,因此,更有可能精确地估计处理组在未处理时的反事实和ATT(Li,2024)(注:我并不是说,数据驱动的方法优于制度背景等定性方法。我一直认为在社会科学领域,经济社会制度背景的定性分析与定量分析同等重要,就像贝叶斯结合了先验分布与数据一样的道理)。

我们有个个体,期,其中是唯一的处理组。这意味着是潜在控制组。我们有两个时间段,其中,表示处理前时期,表示处理后时期。我们可以观测到如下结果:

其中,结果变量y的上标1和0分别表示处理下的潜在结果和未处理潜在结果。且

因果推断的基本问题:我们观测不到如果香港没有融入大陆经济的GDP演化路径。因此,我们必须估计未发生处理时的反事实结果(Hsiao et al, 2012)。

通常,我们可以用两种方式实现反事实结果的替代:

  • 用处理组处理后的GDP减去处理前GDP的均值;

  • 用控制组处理后的均值减去处理组均值。

第一种方式假设除了经济整合外,没有其他因素影响处理前后的GDP。第二方式假设处理组和控制组无差异(至少差异较小)。DID常采用如下数据生成过程DGP:

也就是说,观测结果是有一维因子模型产生的,且是由时变因子加一些个体异质性时间不变因素加一个误差项。任何DID的有效性都依赖于平行趋势假设(PTA):

这是双向固定效应模型TWFE的另一种表述,,其中是零均值,有限方差平稳过程。换言之,PTA说的是,在没有处理的情形下,处理组处理后的趋势应该与控制组处理后的趋势相同。实践中,在处理前,控制组应该与处理组尽可能的相似。这是一个假设,在现实中无法验证。然而,我们可以检验它的一部分,即处理前趋势检验。因此,我们可以看看处理组(中国香港)的GDP演化路径和所有的控制组均值(个体)在中国香港经济整合进中国大陆经济前有多相似:

*************************************************************************
* fdid dofile
* written by 许文立,CityU
* 2024-07-23
*************************************************************************

* 获取online data sets
* net get fdid, from(https://raw.githubusercontent.com/jgreathouse9/FDIDTutorial/main) replace

* 加载数据

use "/Users/xuwenli/Downloads/hcw.dta",clear

* 设置面板数据格式
xtset id time

* 绘制所有面板的时序图,线条颜色为控制组为灰色虚线,处理组为红色实现

* 获取唯一的面板ID
levelsof id, local(ids)

* 循环遍历每个面板ID,并生成单独变量
foreach i of local ids {
gen gdp_`i' = gdp if id == `i'
}

* 移除生成变量中的缺失值
foreach i of local ids {
replace gdp_`i' = . if id != `i'
}

*Code:
local lp

forval i = 1/25 {
local lp `lp' line gdp_`i' time,lp(dash) lcolor(gs12) ||
}
*

* create plot

twoway `lp' || line gdp_9 time, ///
lcolor(red) legend(order(1 "控制组" 26 "处理组") position(10) col(2) ring(0)) ytitle("GDP") xtitle("Time") xline(44,lp(dash)) text(0.21 44 "香港经济整合时点44", place(n))
image.png
* 加载数据

use "/Users/xuwenli/Downloads/hcw.dta",clear
xtset id time


* 计算控制组每个时间点的面板均值
collapse (mean) gdp if id !=9, by(time)
rename gdp gdp_means
save "/Users/xuwenli/Downloads/selected_means"

use "/Users/xuwenli/Downloads/hcw.dta",clear
xtset id time

* 处理组
keep if id == 9
rename gdp gdp9
save "/Users/xuwenli/Downloads/gdp_9"


* 合并处理组和控制组的均值数据
merge 1:1 time using "/Users/xuwenli/Downloads/selected_means"
merge 1:1 time using "/Users/xuwenli/Downloads/gdp_9"

su gdp9
gen y_min=-0.1
egen y_max=max(gdp9)

* 绘制面板均值的时序图
twoway tsline gdp_means ,lp(dash) lcolor(gs12) || rarea y_min y_max time if time >= 44, lp(dash) color(green%50) || tsline gdp9, ///
lcolor(red) legend(order(1 "控制组均值" 3 "处理组") position(10) col(2) ring(0)) ///
ytitle("GDP") xtitle("Time") ///
text(0.125 50 "香港经济整合时期", place(n))
image.png

中国香港经济融入中国大陆经济圈之前,中国香港的GDP变化趋势与一些经济体相似。中国香港的GDP比其他经济体GDP均值波动要大,但是基本的趋势相同。在融入大陆经济圈之前的几年,中国香港GDP似乎就比控制组经济体的GDP增长要快。这意味着,相较于控制组,可能还有其它一些重要的因素在影响中国香港的增长趋势。换言之,对于处理前最后几年,处理组和控制组的均值可能并不为零。

这个时候,我们要十分谨慎地思考平行趋势假设。并自问“为什么?”“我们所有的控制组经济体都适合作为中国香港GDP的反事实吗?”

我们看看处理组和所有控制组的时序图。我们可以明显地看出,有一些控制组GDP的演化与中国香港并不相同,只有一些经济体是相似的。也就是说,我们可能需要根据一定的原则来挑选合适的控制组。

那么,如何做到呢?计量经济学的学生可能会回答,基于回归调整的方式,控制可能与处理和结果相关的混杂变量。然而,合意的预测因子有时是不可能观测,或者在经济上很昂贵。如果我们只有结果数据,我们必须凑合着用。即便如此,所有控制组演化图中的哪些控制个体在趋势上与中国香港最相似?我们可能会问什么样的定性问题?例如,我们是否只包括超过一定 GDP 阈值的经济体?此外,这些地区的 GDP 有相似趋势在经验上意味着什么?地理方面呢,我们是否将控制组限制在中国香港 100 公里以内?请注意,这个问题只有在高维度上才会被放大。如果我们有 200 个控制组,那么我们将使用什么原则来选择?即使我们可以同意某个原则,最佳控制组中应该有多少个体?事实上,这些问题对于研究者来说都太复杂了。因此,Li(2024)的主要贡献是使用前向选择的机器学习算法(FDID)来选择最佳控制组集合。

传统的DID

首先,我们看看传统DID估计量:

* 传统DID
* 加载数据

use "/Users/xuwenli/Downloads/hcw.dta",clear
xtset id time

sdid gdp id time treat,method(did) vce(placebo) reps(100) seed(123) ///
graph g1on g2_opt(text(0.125 55 "ATT = -0.0317" " SE = (0.0166)"))
DID估计量
DID的控制组权重

当我们用OLS来估计DID时,我们的反事实可能是通过下式估计得到:

其中,是截距项,是系数,是控制组均值。

FDID

如前文所示,有一些控制组GDP的演化与中国香港有明显差异,但是传统DID对所有无处理的控制组都给予相同的权重。

而FDID用前向选择算法来挑选最优控制组集合。该方法将处理前时期、处理后时期、总的时期、处理向量和潜在控制组矩阵作为投入。它也会显示最优控制组的名称。

* fdid
* 安装命令:
* net install fdid, from("https://raw.githubusercontent.com/jgreathouse9/FDIDTutorial/main") replace

fdid gdp, tr(treat) unitnames(state) gr1opts(name(hcw, replace))
image.png

处理效应:

fdid gdp, tr(treat) unitnames(state) gr2opts(scheme(sj))
image.png


注:(1)相关讲稿、Slides和stata do文件在许文立老师的github及其主页上公布。

(2)CIMERS学员/付费会员注意后续线上讲座通知。

(3)更多计量和stata内容,请参见经验分析方法及Stata命令汇总

71、【应用计量系列71】断点回归(1):概述

72、【应用计量系列72】断点回归(2):丝滑世界里找“跳跃”

73、【应用计量系列73】交叠DID估计量 :stata包csdid升级版

74、【应用计量系列74】控制组群固定效应还是个体固定效应?

75、【应用计量系列75】合成控制法的新推断框架和stata应用

76、【应用计量系列76】平行趋势的秘密(一):平行趋势假设的类型

77、【应用计量系列77】平行趋势的秘密(二):明知不可为而为之

78、【应用计量系列78】断点回归(3):分离不分家

79、【应用计量系列79】平行趋势的秘密(三):如何给平行趋势假设提供经验证据?

80、【香樟推文2663】破产改革的经济后果

81、【应用计量系列81】平行趋势的秘密(四):如何给平行趋势假设提供经验证据?

82、【应用计量系列82】因果推断中的纠偏机器学习方法(DDML)

83、【应用计量系列83】还在取log(Y)?

84、【应用计量系列84】断点回归(4):最新进展

85、【应用计量系列85】DID最新文献:共同相关效应DID(CCE-DID)

86、【应用计量系列86】新DID的Stata包升级版csdid2

87、【书籍推荐】断点回归的实践指南:扩展(2023年版)

88、【应用计量系列88】考虑空间溢出效应的DID

89、【应用计量系列89】我们要控制什么变量?

90、【应用计量系列90】Stata初见(一)

91、【应用计量系列91】因果效应推断概述

92、【应用计量系列92】事件研究对平行趋势假设检验的效力及stata操作

93、【应用计量系列93】因果效应推断概述(二)

94、【应用计量系列94】因果效应推断概述课后作业:随机实验分析

95、【应用计量系列95】匹配估计量(1):小小的匹配从来没有伤害过任何人

96、【应用计量系统95】随机实验课后作业答案

97、【应用计量系列97】匹配估计量(2):条件独立性假设、敏感性检验及stata操作

98、【应用计量系列98】检验线性回归中恰当的聚类水平

99、【应用计量系统99】匹配估计量(3):精确匹配与共同支持假设

100、【应用计量系列100】最新的交错处理效应估计量:随机交错处理下,更有效率的估计量及其stata操作

101、【应用计量系列101】Stata 18新功能(1):异质性处理效应

102、【应用计量系列102】stata 18新功能(2):培根分解

103、【应用计量系列103】一文读懂线性回归的标准误与stata应用

【计量课程slides分享】应用计量概述

【应用计量系列100】随机交错处理下,更有效率的估计量及其stata操作(Update)

104、【应用计量系列104】匹配估计量(4)

105、【应用计量系列105】DID  Handbook(持续更新)

106、【应用计量系列106】标准误太大,系数不显著?也许弄错了标准误的来源

107、【应用计量系列107】动态合成双重差分及stata操作

108、【应用计量系列108】异质性处理效应稳健估计量:dCDH估计量


109、【应用计量系列109】合成双重差分(SDID)估计量的使用要求
110、【应用计量系列110】标准误哪家强,stata命令找金兰(MacKinnon)
111、【应用计量系列111】CSDID的有效样本与协变量
112、【应用计量系列112】合成控制法什么时候有效?用因子模型解读合成控制法及其最新理论进展
113、【应用计量系列113】我们应该控制哪个层级的固定效应?
114、【应用计量系列114】事件研究法实践指南
115【应用计量系列115】事件研究实践指南:扩展、挑战与应对之法
116、【应用计量系列116】稳健性检验和实证分析的一些经验
117、【应用计量系列117】弱IV的推断问题

118、【应用计量系列118】《双重差分法的最新理论进展与经验研究新趋势》附录B

119、【应用计量系列119】DID的平行趋势,真的理解,并会用了吗?兼论平行趋势敏感性检验及其stata应用

120、【应用计量系列120】为什么不用CiC估计量?

【最新计量课件分享】IV及其最新进展与应用

【更新】《应用计量经济学讲稿》

121、【应用计量系列121】工具变量的强弱检验与stata应用

122、【应用计量系列122】最新异质性处理效应估计量:局部投影法DID的stata命令与例子

123、【应用计量系列123】进入退出DID的稳健估计量和stata例子

【资料分享】面板数据的因果推断:DID和SC的统一

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

125、【应用计量系列125】新DID估计量怎么选?

126、【应用计量系列126】新DID的事件研究图,理解对了吗?

127、【应用计量系列 127】新 DID 的事件研究图,理解对了呀?(续)

128、【应用计量系列 128】一图知因果:因果推断方法选择流程图

129、【应用计量系列129】堆叠DID(stacked DID)及其应用

130、【应用计量系列130】春节假期读的DID新论文列表

131、【应用计量系列131】不平行的DD,平行的DDD与stata应用

132、【应用计量经济系列 132】stata 中固定效应模型的命令注意事项

133、【应用计量系列 133】不要这么用异质性处理效应稳健估计量

134、【应用计量系列 134】DID 的规定动作

135、【应用计量系列 135】DID 的平行趋势支持证据的安慰剂检验

136、【应用计量系列 136】 IV 的实践应用指导初探

137、【应用计量系列137】连续DID的异质性处理效应与stata操作(升级版)

138、【应用计量系列138】推荐多看看Jeff老爷子的东西

139、【应用计量系列 139】csdid 使用注意事项

140、【应用计量系列 140】Sant' Anna: DID Check List

一篇论文带你搞懂,写出高质量DID文章完整过程!

141、【应用计量系列141】DID的稳健性检验:不可观测的混淆因子-SIV(理论篇)

142、【应用计量系列142】Bartik IV/SSIV到底要怎么应用?

143、【应用计量系列143】交叠DDD的分解与偏误

144、【应用计量系列 144】DID 中的标准误问题

145、【应用计量系列145】Sant' Anna的DID规定动作(1):处理模式图

146、【应用计量系列146】Sant' Anna的DID规定动作(2):每类处理中处理个体数

147、【应用计量系列147】Sant' Anna的DID规定动作(3):画出每个处理类别的平均结果时序图

148、【应用计量系列148】Sant' Anna的DID规定动作(4-1):写好制度背景---处理配置机制

149、【应用计量系列149】Sant' Anna的DID规定动作(4-2):处理配置机制~一场星际会议的讨论

150、【应用计量系列150】Sant' Anna的DID规定动作(4-3):处理配置机制—Ashenfelter's Dip

151、【应用计量系列151】Sant' Anna的DID规定动作(4-4):处理配置机制——基于可观测协变量的处理

152、【应用计量系列152】Sant' Anna的DID规定动作(4-5):处理配置机制——是什么时候平行趋势不成立



点击蓝色链接,即可查看详细课程大纲

👉因果推断1(DID,SC,ES)

👉因果推断2(DID平行趋势检验,RD)


👉DSGE基准模型与Dynare编程入门

👉异质性代理人模型与应用

👉绿色金融DSGE


CIMERS在线课程列表


因果推断系列视频课程主要内容包括:

(1)DID、交叠DID及其stata案例;

(2)事件研究及其stata案例;

(3)合成控制法及其stata案例;

(4)平行趋势检验及其stata案例

(5)断点回归及其stata案例


DSGE基准模型与Dynare编程入门

(1)实际经济周期模型(RBC)

(2)新凯恩斯主义模型(NK)

(3)金融中介

(4)环境DSGE模型

(5)劳动市场搜寻与匹配模型

(6)开放经济DSGE模型


异质性代理人模型与应用

(1)投资资产定价模型

(2)数值算法

(3)宏观金融前沿课题


绿色金融DSGE

(1)金融摩擦的DSGE模型:抵押约束、BGG、金融机构

(2)环境DSGE

(3)绿色金融DSGE





成为CIMERS内部学员,你可以获得

⭐高质量视频课程,详细课件资料,可复用代码及数据

⭐许老师详尽的答疑服务,知无不言,学无止境

⭐高质量的交流社群(主要为硕博以及高校教师)

⭐许老师增值讲座,包括但不限于文献解读,模型讲解


⭐⭐诚邀您加入CIMERS,许老师正在寻找好的合作者,一起作出高质量研究⭐⭐


咨询购买请联系

联系人:吴峰宇老师

联系电话:184 7751 1575

联系邮箱:cimers_dsge@econmod.cn

其它事项:可开具培训、技术服务、咨询等类型的增值税普票

更多课程信息,扫描下方二维码咨询:



特别提醒:非诚勿扰!








宏观研学会
关注宏观经济与宏观经济学研究前沿问题,推广、普及DSGE及其他宏观经济研究方法。
 最新文章