一次性搞定DID、SCM、SDID结果输出

学术   教育   2024-12-08 17:34   陕西  

最前沿_作为研究生的你,还不知道一个命令可以就可以搞定DID、SCM、SDID三个结果

众所周知,我们一般可以使用9个DID命令进行双重差分法分析,详见:

图片

而进行合成控制法SCM分析的时候,只要可以使用命令:synth、synth_runner、npsynth、allsynth、fect、synth2等,详见:

进行合成DID分析,主要命令为:


下面我们将展现如何使用最新命令sdid完整的展现DID、SCM、SDID三个结果,全程只使用一个命令,出现结果图为:

1、合成DID结果

我们首先根据Abadie et al.(2010)中描述的数据和背景,提供Arkhangelsky等人(2021)中提出的一个例子。

这个数据包括单一处理州(加利福尼亚州),该州于1989年采取了烟草控制措施(“99号提案”)。使用sdid命令,我们复制了Arkhangelsky等人(2021)的结果。

在下面的代码示例中,我们首先下载数据,然后使用安慰剂推断过程执行合成DID。graph, graph_export() + g1_opt()选项都与图相关,图默认情况下是导出的,如图1所示。

操作代码

global link "https://raw.githubusercontent.com/synth-inference/synthdid/"
import delimited "$link/master/data/california_prop99.csv", clear delim(";")

sdid packspercapita state year treated, vce(placebo) seed(123) reps(50) graph graph_export(sdid_, .eps) g1_opt(xtitle(""))

结果为:

图片
图片

Stata报告的处理效果估计为-15.60383(与Arkhangelsky et al.(2021)在R中合成实现的结果相同),估计标准误差为6.65902(与R相当,但由于排列的随机性而发生变化)。

SCM合成控制法结果为:



DID结果为:

完整命令为:


最终结果汇总为:



知识回顾

合成DID操作及Stata应用

sdid—Stata中合成双重差分

继Arkhangelsky等人(2021年)之后,该Stata包实现了综合双重差分估计过程,以及一系列推断和绘图过程。Arkhangelsky等人提供了一个使用R的代码实现,这里附带了一些材料:synthdid。这里我们提供了一个原生的Stata实现,主要是用Mata编写的。这个包扩展了原始R包的功能,允许非常简单地在多个处理阶段交错采用的上下文中进行评估(以及在原始代码的单个采用阶段)。

安装到Stata

ssc install sdid

语法格式

sdid Y S T D, vce(method) seed(#) reps(#) covariates(varlist [, method]) 
graph g1_opt(string) g2_opt(string) unstandardized graph_export([stub] , type)

选项含义:

Y:结果变量(数值)

S:单位变量(数字或字符串)

T:时间变量(数值)

D:处理的虚拟,如果单位被处理,则为1,否则为0(数字)

vce (): bootstrap, jackknife,安慰剂标准误差。

seed():伪随机数的种子定义。

reps(#):重复bootstrap和安慰剂。

covariates(varlist [, method]):用于调整y的协变量。应包含协变量的varlist,并可选用于调整方法的选项。在这种情况下,它可以遵循Arkhangelsky等人提出的方法进行“优化”,在这种情况下,它可以遵循Kranz, 2021 (xsynth在R中)提出的程序。在没有指定方法的情况下,默认使用“优化”。克兰兹已经证明投影法在许多情况下是可取的。在这个实现中,投影的方法通常要快得多。

graph:如果指定了该选项,将显示单位和时间权重以及结果趋势的图形,如Arkhangelsky等人的图1。

g1_opt(string) g2_opt(string):选项,用于修改上述图形的外观。G1为单位权重图,g2为结果趋势图。请求的选项必须遵循Stata的twoway_options的语法。

unstandardized:如果包含了控制,并且指定了“优化”方法,在找到最优权重之前,控制将被标准化为z分数。这避免了控制变量具有高度离散时的优化问题。如果指定了非标准化,则只需输入控件的原始单位。应该谨慎使用这个选项。

graph_export([stub], type):使用这个选项可以将生成的图形保存到磁盘。每个单位权重和结果趋势将分别保存为weightsYYYY和trendsYYYY, YYYY表示每个治疗采用期。每个治疗采用阶段将生成两个图表。如果指定了该选项,则必须指定type,它指的是一个有效的Stata图形类型(例如"。Eps ", ".pdf"等等)。可选地,可以指定一个存根,在这种情况下,它将被放在导出的图形名称的前面。

案例1

一个基于提案99 (Abadie et al., 2010)的例子,只有一个采用日期。加载Abadie et al.(2010)数据:


. use "C:\Users\Metrics\Desktop\prop99_example.dta"

使用sdid进行估计,导出权重和趋势图:


. sdid packspercapita state year treated, vce(placebo) seed(1213) graph g1_opt(xtitle("")) g2_



案例2

基于议会性别配额、议会中的女性和孕产妇死亡率的交错采用设计实例(Bhalotra等人,2020年)。数据加载:

use "C:\Users\Metrics\Desktop\quota_example.dta"

运行没有协变量和引导标准误差的估计

sdid womparl country year quota, vce(bootstrap) seed(1213)

以投影的方式使用协变量运行sdid

sdid womparl country year quota, vce(bootstrap) seed(1213) covariates(lngdp, projected)




数量经济学
见证计量经济学发展,更懂计量更懂你!
 最新文章