打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Stata 17的新功能(四):使用重复截面数据估计DID

LAST CALL

Now or Never !


本系列的前三期推文:

Stata 17的新功能(一):双重差分法(DID)的官方命令

Stata 17的新功能(二):使用Wild Cluster Bootstrap估计DID的标准误

Stata 17的新功能(三):使用数据加总法估计DID

虽然双重差分法(Difference-in-Differences,简记DID)一般用于面板数据,但有时我们的数据尽管有时间维度,却只是“重复截面数据”(repeated cross-sectional data),即样本中每位(或大多数)个体仅出现一次。此时还能使用DID吗?答案:能!

我们从Stata 17用户手册的一个具体案例说起。假设一个医疗集团想研究一个“新的医院入住手续”(a new hospital admission procedure)对于“病人满意度”(satisfaction of patients)的影响。该集团收集了1-7月的病人数据,而新住院手续从4月开始在集团旗下46家医院中的18家医院实施。由于观测单位为病人,而许多病人在样本中仅出现一次(住院一次),故这是“重复截面数据”,而并非面板数据。

对于重复截面数据,由于每位个体通常只有一个观测值,故无法控制“个体控制效应”,但仍可以控制“分组固定效应”(比如,本例中的医院固定效应)与“时间固定效应”(比如,本例中的月度固定效应)。为此,考虑以下DID模型:

其中,

表示医院 中病人 i 在第个月的满意度,取值介于0至10,得分越高越满意。处理变量
表示医院 g 在第  个月是否实施了新住院手续,其系数 
 为我们感兴趣的处理效应。
为医院固定效应,
为月度固定效应,而
为随机扰动项。

以Stata 17所提供的模拟数据hospdd.dta为例,进行演示。首先,载入数据:

. use https://www.stata-press.com/data/r17/hospdd, clear

(Artificial hospital admission procedure data)

其次,考察数据的基本统计特征:

. sum

结果显示,样本中共有7,368个观测值。其中,变量satis为结果变量(被解释变量),procedure为处理变量(相当于通常的交互项

),hospital为医院的编号(从1到46),month表示月度(从1到7),而frequency表示病人曾经住院的次数(可作为协变量,或进行DDD估计,参见下期推文)。

更直观地,展示前5个观测值:

. list in 1/5, nolabel

其中,选择项“nolabel”表示,对于数值型变量,不显示其标签,而直接展示其具体数值。

DID的估计

针对此重复截面数据,下面使用Stata 17的官方didregress进行DID估计(未加入协变量):

. didregress (satis) (procedure), group(hospital) time(month)

其中,必选项“group(hospital)”表示以变量hospital作为聚类变量,以计算聚类稳健的标准误,而选择项“time(month)”表示以变量month作为时间变量。估计结果如下。

结果显示,DID的系数估计值为0.848,而聚类稳健标准误为0.032,p值为0.000,在1%水平上显著。下面,尝试用命令reg手工进行DID估计:

. reg satis procedure i.hospital i.month, vce(cluster hospital)

其中,“i.hospital”表示加入医院的虚拟变量, “i.month”表示加入月份的虚拟变量,而选择项“vce(cluster hospital)”表示计算以变量hospital为聚类的聚类稳健标准误。所得结果与官方命令didregress完全相同:

画平行趋势图

使用官方命令didregress的好处在于,可以很方便地画平行趋势图,并检验平行趋势假设。为此,重新运行命令didregress,并使用“估计后命令”(post-estimation command)estat trendplots画平行趋势图:

. quietly didregress (satis) (procedure), group(hospital) time(month)

. estat trendplots, omeans line1opts(lp(dash)) recast(connected) title(平行趋势图)

其中,选择项“omeans”表示只画每期的平均观测值(即observed means),而不画线性趋势图;选择项“line1opts(lp(dash))”表示以虚线(dash)来画控制组的时间趋势,“recast(connected)”将画图类型变为“connected”(即散点连线的形式),而“title(平行趋势图)”加上标题“平行趋势图”。

从上图可知,处理组与控制组在处理前的时间趋势基本平行。

平行趋势检验

更严格的平行趋势检验可通过估计后命令“estat ptrends”来进行:

. estat ptrends

Parallel-trends test (pretreatment time period)

H0: Linear trends are parallel

F(1, 45) =   0.55

Prob > F = 0.4615

需要注意,命令“estat ptrends”的原假设为“Linear trends are parallel”,即在控制组与处理组均有线性时间趋势的大前提下,进一步检验二者的线性趋势是否相同。由于p值为0.4615,故可接受原假设“H0: Linear trends are parallel”。

然而,处理组与控制组均可能存在非线性的时间趋势,故即使命令“estat ptrends”接受平行趋势假设,仍然不是最终结果。为此,Stata 17还提供了估计后命令“estat granger”,可进行进一步的检验。本质上,这相当于是进行了一系列的“安慰剂检验”(placebo tests)。

具体到本例,由于政策冲击实际上从第4期才开始,故安慰剂检验可分别假设政策冲击从第2期或第3期开始。由此,可定义相应的“反事实处理变量”(counterfactual treatment variables,在此例中共有2个),然后放入DID的回归方程,并检验这些反事实处理变量的回归系数的联合显著性。这些反事实处理变量相当于实际处理变量procedure的滞后项,在形式上类似于格兰杰因果检验(Granger causality test),故Stata 17将此检验的命令称为“estat granger”:

. estat granger

Granger causality test

H0: No effect in anticipation of treatment

F(2, 45) =   0.33

Prob > F = 0.7239

结果显示,统计量仅为0.33,而相应的p值高达0.7239,故可轻松地接受这两个反事实处理变量联合为0的原假设。这意味着,在实际政策冲击开始于第4期之前,对于政策冲击的预期并未开始产生作用,故可接受原假设“H0: No effect in anticipation of treatment”。换言之,由于“处理效应”在处理之前并不存在,故平行趋势假设成立。

在使用命令didregress进行重复截面数据的DID估计时,若担心聚类数目太小,也可以使用“野聚类自助法”(wild cluster bootstrap)或“数据加总法”(data aggregation)进行处理。由于本例的聚类数目并不小(达到46),没有必要如此处理,故不再赘述。

备注:本公众号不提供 Stata 17。如需正版 Stata 17,请咨询Stata软件官方授权经销商及合作伙伴:北京友万信息科技有限公司(www.uone-tech.cn),希望能为Stata中国用户提供更多服务与支持,联系人:徐经理,Tel/Wechat:18610597626。


参考文献

陈强,《高级计量经济学及Stata应用》,第2版,高等教育出版社,2014年(久负盛名的配套五天现场班,详情见下文海报)

陈强,《计量经济学及Stata应用》,高等教育出版社,2015年(好评如潮的配套教学视频,可在Peixun.net 或网易云课堂购买)

陈强,《机器学习及R应用》,高等教育出版社,2020年11月,472页,双色印刷(配套五天现场班,详情见下文海报,以及页底“阅读原文”)

陈强,《机器学习及Python应用》,高等教育出版社,2021年3月,632页,双色印刷(配套五天现场班,详情见下文海报)

(c) 2021, 陈强,山东大学经济学院

www.econometrics-stata.com

转载请注明作者与出处

Our mission is to make econometrics easy, 
and facilitate convincing empirical works.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
PSM-DID的经典方法与野路子(一)
Stata17优秀的DID新功能操作详解(一)
【原创】数据科学系列——自相关举例、检验与处理
用stata做空间计量的经验贴
开学礼包:如何使用双重差分法的交叉项(迄今最全攻略)
有限元分析软件ANSYS命令流中文说明 - Ansys讨论区 - 振动论坛 动力学,噪声 ...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服