Clarke, D., & Tapia-Schythe, K. (2021). Implementing the panel event study. The Stata Journal, 21(4), 853–884.Many studies estimate the impact of exposure to some quasi-experimental policy or event using a panel event study design. These models, as a generalized extension of ‘differencein-differences’ or two-way fixed effect models, allow for dynamic lags and leads to the event of interest to be estimated, while also controlling for fixed factors (often) by area and time. In this paper we discuss the set-up of the panel event study design in a range of situations, and lay out a number of practical considerations for its estimation. We describe a Stata command eventdd that allows for simple estimation, inference, and visualization of event study models in a range of circumstances. We then provide a number of examples to illustrate eventdd’s use and flexibility, as well as its interaction with various native Stata routines, and other relevant user-written libraries such as reghdfe and boottest.
在面板数据中执行事件研究摘要许多研究使用面板事件研究设计来估计暴露于一些准实验政策或事件的影响。这些模型,作为“DID”或双向固定效应模型的广义扩展,允许动态滞后,同时也(通常)对区域和时间控制固定因素来对感兴趣的事件进行估计。在本文中,我们讨论了在一系列情况下的面板事件研究设计的设置,并提出了一些实际考虑中的估计。我们描述了一个Stata命令eventdd,它允许在各种情况下对事件研究模型进行简单的估计、推断和可视化。然后,我们提供了一些示例来说明eventdd的使用和灵活性,以及它与各种原生Stata例程的交互,以及其他相关的用户编写的库的交互,如reghdfe和boottest。1 Introduction 引言准实验方法的最新发展引起了面板事件研究模型的关注。使用面板观察结果(如州层面)的数据,该设计试图估计发生的某些事件的影响,或作用于某些确定的个体和时间段。他们试图将政策或事件没有发生或尚未发生的领域作为反事实使用。通过考虑采用事件与基准参考时期相比的结果变化,对事件滞后和领先期都进行了估计,允许在满足关键识别假设的情况下清晰地可视化地表示事件的因果影响。这些方法已经由较老的DID模型,或双向固定效应模型所证实。这些模型通常试图检验自然实验的影响,在自然实验中,由于环境或政治因素(以及其他因素),事件被分配给某些个体,因此,通常不假定分配是随机的。事实上,正如我们在下一节中详细阐述的那样,事件研究模型中一致估计的关键假设是,事件在特定区域的发生与未来将发生的水平变化没有系统的关系。这些模型广泛用于一系列背景下的实证分析,已应用于(在许多其他主题中)汽车工厂的关闭和阿片类药物过量(Venkataramani et al. 2020)、计划生育获取和儿童经济状况 (Bailey et al. 2018)、医疗保健改革和门诊医疗服务的使用 (Dimitrovová et al. 2020)以及大学改革和代际流动 (Suhonen and Karhunen 2019)。这些案例表明了(面板事件研究)在包括社会科学、医学和公共卫生在内的一系列领域中的使用,以及Abraham and Sun (2018)和Roth(2019)在一些经济期刊上对其使用频率的额外审查。一系列新兴的文献已经提出了在这种情况下的一些识别要求(Freyaldenhoven et al. 2019; Borusyak and Jaravel 2018; Abraham and Sun 2018; Athey and Imbens 2018; Schmidheiny and Siegloch 2019)。这些方法可以有一些限制,在每个样本的同一时期发生的事件的情况下,以及在事件交错发生的情况下。事实上,Athey和Imbens(2018)将这些设计称为“政策交错执行”(Staggered Adoption Designs),尽管在这里我们遵循的是面板事件研究中更常见的命名法。此外,这些方法与关于政策交错执行和单系数模型(single-coefficient model)的估计的更广泛的文献有关(de Chaisemartin and D’Haultfoeuille 2019; Callaway and Sant’Anna 2018; Goodman-Bacon 2018)。当我们在方法部分简要讨论这些模型时,我们的主要兴趣是完整的面板事件研究规范,它们有跟其他模型不同的思考之处。在本文中,我们提供了对这些面板-事件研究模型的讨论,以及在这些设置中与它们的估计和推断相关的实际问题。我们还提供了eventdd命令,一个允许在事件研究中进行估计和推断的Stata命令,以及其结果的图形表示。该命令可以灵活地与内置的Stata命令,如regress和xtreg,以及用户编写的回归命令reghdfe进行交互,这在本文中描述的双向固定效应模型中非常方便(Correia 2016)。我们提供了在事件研究模型中的估计和推理的讨论。以及标准的推理过程,如稳健和聚类稳健推断,eventdd命令允许关于事件发生聚类性质推断(wild-bootstrap based inference respecting the clustered nature of the occurrence of events)的Wild自助抽样法(wild-bootstrap),特别是用户编写的boottest命令 (Roodman et al. 2019)。在回顾了第2节中面板事件研究模型背后的理论之后,我们将在第3节中讨论命令语法,然后在第4节中应用于特定实例的命令用法。2 Methods 方法2.1 Estimation 估计
表1提供了这种设置的一个程式化示例。我们考虑四个州从2000年到2009年组成一个平衡的面板。Events变量在不同个体的不同时间发生,同时在一个体的情况中不会发生。这里包括了四个滞后和四个领先,即J = K = 4。滞后4或领先4表示超过了事件时期4个时期。事件从未发生过的州(如表1中的状态C)作为纯控制组。这些个体在所有滞后和领先期都是0,并作为估计影响的反事实。这些控制组和采用感兴趣事件的州之间的差异在省略的基期中被锚定在0,即方程1中的第一个滞后。因此,与省略的基周期中的普遍差异相比,滞后和领先捕获了处理组的州和控制组的州之间的差异。因此,对事件后处理效果的无偏估计从根本上依赖于所谓的“平行趋势假设(parallel trends assumption)”。在没有处理的情况下,假定处理组的州和控制组的州将保持与基线期相似的差异。因此,当所有单位在某个时间点采用处理时,这些模型已被证明是未被识别的,或仅被识别为线性趋势(Schmidheiny and Siegloch 2019; Borusyak and Jaravel 2018). Schmidheiny and Siegloch (2019)表明,在这种情况下,有必要使滞后和领先超过一定的最大滞后(J)和领先(K)期。表1:一个规范化的示例
其中。式(1)提供了两个关键的不能在单系数模型观察到的关键信息片段。首先,完整的事件领先期允许检查预处理期间的平行趋势。虽然这并没有提供证据表明,该事件被采用和不被采用的个体在之后的时期一定会遵循类似的趋势(Kahn-Lang and Lang 2019)(这是这些模型的识别假设)。如果处理和未处理区域的趋势在事件前甚至都不平行,那么它们不太可能在事件后是平行的。其次,政策滞后期允许检查处理效果的时间性质,例如,处理效果出现的任何动态变化:随着时间的推移而增长或缩小,以及效果是短暂的还是永久性的。一系列正在发展的文献,包括de Chaisemartin and D’Haultfoeuille(2019); Callaway and Sant’Anna (2018); Goodman-Bacon (2018)指出,当处理效应是异质的(跨组或时间段)时,从双向固定效应模型解释估计的存在挑战。Goodman-Bacon (2018)证明了当处理的异质性是在不同时期或不同组时可能导致的估计值偏离了处理组平均处理效应的加权平均值,这个问题在面板事件研究设计中得到了解决。然而,Abraham and Sun (2018)的研究结果表明,即使在这里研究的面板事件研究模型中,特定类型的异质性问题仍然存在。他们特别注意到,如果处理组之间存在异质性,特别是一些滞后和领先项中,则存在处理效应不合意的权重。在事件研究设计中还存在其他问题,如基于趋势前检验的模型选择带来的推断问题(Roth 2019)。eventdd命令并不会对这些特定的设置中进行修正,因为这些是面板事件研究设计的经验估计所固有的。然而,我们确实注意到,有一些替代的估计量是对面板事件研究设计的补充,并应被视为完整的估计和测试程序的一部分,如Abraham and Sun (2018)的堆叠DD(stacked DD)程序,Roth(2019)和Rambachan and Roth (2019)描述的敏感性测试;以及考虑处理效应动态路径的替代模型,如de Chaisemartin and D’Haultfoeuille (2019)和Callaway and Sant’Anna (2018)。由于其中许多都有某些语言的估计库,因此在第3节中讨论eventdd的命令语法和第4节中使用的示例时,我们将讨论设计了eventdd及其返回对象以促进与这些其他命令交互的方法。2.2 Inference 推断一个标准的推断问题是政策被分配到的个体以及随后的结果是与结果变量中随时间变化的潜在序列相关性相关的(Bertrand et al. 2004)。虽然来自(Bertrand et al. 2004)的推导是基于方程6形式的单系数模型,但关注的关键在于感兴趣的结果变量的高序列相关性,而感兴趣的自变量的变化相对较小。这种设置在公式1-5中描述的事件研究模型中得到了重复。因此,在这样的模型中进行推理时,解释这种组内相关性是基本的。标准的解决方案是通过使用聚类稳健方差-协方差估计量(cluster-robust variance-covariance estimator,CRVE)来估计回归参数的标准误差和置信区间,从而允许组内自相关(within-cluster auto-correlation)。Stata中的vce(cluster clustvar)选项中的e(class)模型可以提供相应的估计。然而,正如已经被广泛记录的那样,标准的CRVEs只是渐近有效的,其中渐近行为取决于集群(聚类)的S→∞的数量(参见Cameron and Miller(2015)的综合评论)。当标准集群的数量太少时,CRVE通常是向下偏的,导致对零假设的过度拒绝。这种偏差可能会很严重(Cameron and Miller 2015; Mackinnon and Webb 2018)。在实践中,知道有多少个集群是“太少”的取决于许多因素。虽然有一些经验法则,如在Angrist和Pischke(2008)中提出的42规则,这表明如果S≥42,标准聚类提供了一个很好的近似。这些方法在模拟下的性能也取决于集群的相对大小(Mackinnon和Webb 2017)。Cameron和Miller(2015)调查的一系列结果导致了他们的建议:如果在一个州-年面板中分析少于50个集群的数据(比如面板事件研究的案例),应该考虑其他推断方法。在这种情况下,准实验设置通常是少于或大约50个集群。在考虑面板事件研究中变量的自相关,即使在较少集群的情况下,野聚类自助法(wild cluster bootstrap)被证明是一种成功的重抽样的方法(见Cameron 等人(2008);Cameron and Miller(2015);Roodman等人(2019))和Stata程序命令boottest((Roodman 2015)。最后,请注意,在集群很少的情况下,特别是发生事件的组数很少的情况下,推断会更加复杂。在这种情况下,已经提出了一些潜在的解决方案,如Mackinnon and Webb(2018); Conley and Taber(2011)已经描绘的一些情况。正如我们在下面的部分中所阐述的,eventdd命令允许根据感兴趣的上下文简单地访问各种推理选项,包括标准聚类(standard clustering)、自助法(bootstrap)以及各种基于Stata的原生CRVE程序以及用户编写的boottest命令的各种形式的野聚类自助法(wild cluster bootstrap)。3 The eventdd command eventdd命令面板事件研究可以在Stata中使用以下命令语法来实现:
所需的变量列表应该首先指定感兴趣的因变量,然后指定所有的控制变量,包括固定效应和在面板事件研究模型(公式1)都应该进入回归,但不包括滞后和领先项。方法选项指定基础模型的估计过程,可以是ols(普通最小二乘)、fe(固定效果)或hdfe(使用用户编写的reghdfe命令吸收多个层面的固定效应)。如果没有指定估计方法,则默认使用ols。在固定效应(fe)或高维固定效应(hdfe)模型的情况下,固定效应可以被吸收(如下面的选项中所讨论的),因此不需要输入到标准的变量语法中。在fe规范的情况下,数据必须首先在Stata中进行xt设置。基于这种语法,eventdd负责所有滞后项和领先项的生成、估计和推断,以及事件研究图的产生。在本文的第4节中提供了一些示例。Options 选项timevar 必选项。指定的时间变量应包含一个标准化值,其中0对应一个给定个体的感兴趣事件发生的时间段,-1表示事件前的一期,1表示事件后的一期,以此类推。对于没有发生该事件的任何个体(控制组),此变量应该包含缺失的值。ci(string)是一个必需的选项,指示命令将生成的图形类型。rarea (带区域阴影)、rcap (带封顶尖钉)、rline (带线条),rcap 是默认的图表类型。只能指定一种类型,并且所有的时间间隔都将是同一类型。该外观可以用ci_op()进行修改。baseline(#)指定了事件研究的参考基期,这是一个基期省略(baseline omitted category)的类别,应该对事件研究输出中的所有其他周期进行比较。默认情况下,如公式1所示,这个值设置为−1。level(#)指定置信区间的百分比置信水平。默认为置信水平(95),也可以按设置的置信水平设置。这设置了回归输出的置信区间的水平,以及事件研究图和矩阵。如果需要野聚类标准误(wild clustered standard errors),会被被传递给boottest命令。accum指定所有超过某些指定值的周期都应累积到最终点,在方程1中用J和K表示。例如,如果把滞后期(#)和领先期(#)都设置为10,那么accum将在回归和图形输出中显示一个单一系数,捕获处置前/处置后10个或更多的周期。如果没有指定accum,所有可能的滞后期和领先期将包括在模型和图形输出中。lags(#)表示在事件研究中需要考虑的事件前时期的最大数量。这个选项需要在accum, keepbal 或者 inrange之后才能使用。只允许使用整数值。leads(#)表示在事件研究中需要考虑的事件后时期的最大数量。这个选项需要在accum, keepbal 或者 inrange之后才能使用。只允许使用整数值。noend当指定accum选项时,图形输出中不显示累计端点。keepbal(varname)指定仅保留面板中平衡的个体以进行估算。这里的变量名表示个体的面板变量(如州)。在这种情况下,“balance”指的是在日历时间上的平衡。下面讨论的另一种选项((balanced)只允许在图形输出中考虑相对于处理的平衡滞后期和领先期。ols指的是使用Statat的regress命令估计事件研究模型的图形输出。在这种情况下,个体的固定效应和时间固定效应必须包含在命令语法中指示的变量列表中。这是默认的估计方法。fe指的是使用Statat的extreg命令估计事件研究模型的图形输出。在这种情况下,数据必须在使用之前进行xtset,并且个体固定效应不应该包含在命令语法中指示的变量列表中。时间固定效应仍然需要包含在命令语法中指示的变量列表中。hdfe指的是使用Correia(2016)的用户编写的reghdfe命令(如果已安装)来估计事件研究模型的图形输出。如果指定了此选项,则还应指定absorb(varlist)选项,以指示在回归中应控制哪些固定效应。absorb(varlist)中指示的任何固定效应都不应包含在命令语法中指示的变量列表中。此选项不能与wboot选项结合使用。absorb(varlist)仅在指定hdfe估计选项时才需要此选项。varlist确定要吸收的固定效应(例如个体固定效应)。有关更多详细信息,请参阅reghdfe(如果已安装)。wboot表示由野聚类标准误(wild clustered standard errors)进行估计来生成输出图形。当指定时,每个滞后期和领先期的置信区间将使用野聚类自助法(wild cluster bootstrap)来计算。这需要Roodman(2015)的用户编写的boottest(如果已安装)。此选项不能与hdfe估计选项结合使用。wboot_op(string)允许包含野聚类自助法中允许的任何其他选项,包括seed(#)为基于模拟的计算设置种子并复制置信区间,以及bootclust(varname)指定哪个变量来进行野聚类自助,等等。当设定置信水平(默认为95)时,应该在命令的置信水平选项中指示,并将其传递给wboot_op()。balanced只有“平衡”的滞后期和领先期被绘制出来。这将产生一个只显示每个处理样本都有数据的滞后期和领先期的图片。因此,绘制的所有系数都将基于数据中的所有个体。虽然只绘制平衡的滞后期和领先期,但所有的单位和时间段将包括在事件研究的估计中。inrange只绘制了指定的滞后期和领先期。虽然只绘制指定的的滞后期和领先期,但所有个体和时间时期都将包括在事件研究的估计中。noline指的是在x轴上的事件之前的行不显示在图形输出上。graph_op(string)允许包含twoway_options中允许的任何其他绘图选项,包括title_options, added_lines_options, axis_label_options等等。这也允许对图形轴使用替代标签。如果没有设定,将提供一个标准的图形输出。ci_op(string)允许包含twoway_rarea、twoway_rcap或twoway_rline中允许的置信区间的任何图形选项,这取决于ci()中指示的CI类型;包括area_options,line_options和connect_options等。这并不允许使用graph_op()的一般选项。如果没有指定,则将提供一个标准的图形输出。coef_op(string)允许包含散点图中允许系数的任何图形选项,包括marker_options和marker_label_options等。这并不允许使用graph_op()的一般选项。如果没有指定,则将提供一个标准的图形输出。endpoints_op(string)允许包含在散点中允许的端点系数的任何图形选项,包括marker_options和marker_label_options等。这仅在指定accum和不允许使用graph_op()的一般选项时可用。如果没有指定,则将提供一个标准的图形输出。*可以包括regress、xtreg或reghdfe允许的任何其他估计选项,并将其传递给指定的估计命令。这允许包含聚类标准误( clustered standard errors)或其他方差估计,如自举(bootstrap)或重叠(jackknife)估计(见vce_option),以及与面板事件研究回归模型中的潜在估计或推断相关的任何其他选项。
Returned Objects 返回结果
Macros: 宏
e(cmd) eventdd
e(cmdline) command as typed 命令的类型
e(depvar) name of dependent variable 因变量的名称
e(wtype) weight type 权重类型
e(clustvar) name of cluster variable 聚类变量名称
e(vce) vcetype specified in vce() 在vce()中指定的vce类型
e(vcetype) title used to label Std. Err. 标准误差的标题
Matrices: 矩阵
e(b) coefficient vector 系数向量
e(V) variance-covariance matrix of the estimators 方差-协方差估计矩阵
e(leads) all event leads, their lower bound, the point estimate, and their upper bound
所有事件的领先期,包括它们的下界、点估计和它们的上界
e(lags) all event lags, their lower bound, the point estimate, and their upper bound
所有事件的滞后期,包括它们的下界、点估计和它们的上界
e(V_lags_leads) variance-covariance matrix of the lags and leads estimators
滞后期和领先期的方差-协方差估计矩阵
需要注意的是如Rambachan 和 Roth (2019)依赖于滞后期和领先期的标准误差的点估计,都可以通过这里返回的矩阵获得。4 Examples based on an Empirical Application 基于经验应用的实例为了估计一个与无过错离婚改革(no fault divorce reform)相对应的面板事件研究规范,第一步是创建一个改革时间变量的标准化版本,假设数据中还没有该变量。特别是在这种情况下,在Stata中创建变量只需要减去改革的时期,即第2节中的时期t(数据中称为year)的Events(其中_nfd,代表无过错离婚)。具体程序如下:
. webuse set www.damianclarke.net/stata/
(prefix now "http://www.damianclarke.net/stata")
. webuse bacon_example.dta, clear
(Stevenson and Wolfers (2006) divorce example, provided by Goldring et al.) //读取数据
如上所述,asmrs是所有女性的女性自杀率,相对于感兴趣的事件(fully saturating the model,完全饱和模型)包括J=21的滞后期和K=27的领先期。按照一般标准,参考基期被设置为−1:在每个个体下采用该事件之前的时期。个体和时间的固定效应分别包括为µ和λ。eventdd命令提供了一个简单的语法来生成方程8中所有必要的滞后期和领先期来估计事件研究模型,并绘制点估计和置信区间。该命令需要两个选项:处置时间变量(timeToTreat)和置信区间图的类型,例如,我们为由上限误差条表示的间隔指定ci(rcap)。下面,我们要求该命令安静地运行(qui),但是在本节的后面,我们将记录一个示例,其中将显示完整的回归输出:
> ci(rcap) cluster(stfips) graph_op(ytitle("Suicides per 1m Women") xlabel(-20(5)25));
标准命令输出由回归输出组成,事件研究的滞后期系数和领先期系数及其置信区间如图1所示。正如Stevenson and Wolfers(2006)所讨论的,事件研究表明无过错离婚法通过后女性自杀率下降,改革通过8年后女性自杀率显著下降。我们注意到,在这个包含所有可能的滞后期和领先期的规范中(eventdd的默认行为),我们确实观察到在改革前的滞后11期和滞后21期的一些显著差异。然而,值得注意的是,这些滞后期距离处置的时间足够远,并非所有的处置个体都被观察到,因此这些显著的下降可能是由于这些变量的成分变化导致的。我们将在下面进一步讨论这个问题,并在讨论命令的balanced选项时将分析限制为平衡周期。然而,如果需要,我们也可以正式检验所有滞后项的联合显著性:H0 : β21 = β20 =…… = β2 = 0 versus H1 : H0 does not hold这可以使用Stata的test命令来简单地评估后估计(post-estimation):
图1:基于无过错离婚改革的事件研究示例注:事件研究模型遵循 (Stevenson and Wolfers 2006)中描述的无过错离婚分析,以及Goodman-Bacon(2018)中的复制/扩展。显示了方程8的点估计及其95%置信区间。基线(省略)对应的基准期是每个改革州实施改革前1年,由图中的实竖线表示。这个“完全饱和(fully-saturated)”模型绘制所有可能的eventdd命令默认输出的滞后期和领先期。然而许多替代估计程序是允许的,例如避免上面观察到的滞后期和领先期在远离处置期是不一样的,这是因为只有在某些早期或后期采用该政策的州才在这些领先/滞后项中被观察到。这里我们将讨论一些这样的替代方案,并在eventdd命令中记录它们的语法。图2总结了每种情况下的图形输出。限制可视化的滞后期和领先期(Limiting Visualized Lags and Leads)在绘图中只显示一些滞后/领先期可能是一个有趣的问题。例如,下面讨论的一个这样的情况只涉及绘制那些观察到每个处理个体(state)的滞后/领先项。通常来说inrange选项允许指定在图中应该只包含某些系数和CIs。我们在这里注意到,在这种情况下,基准回归模型将包括第一种情况中的所有周期,因此,这些滞后/领先项将仅仅对应于图1中的一个限制范围。例如,如果我们只要显示时间段-10和10之间的结果,则该命令将是:
> eventdd asmrs pcinc asmrh cases i.year, fe timevar(timeToTreat) ci(rcap)
> balanced cluster(stfips) graph_op(ytitle("Suicides per 1m Women"));//设置平衡选项
Note: with FE option do not include in varlist the categorical variables
that identify the individual fixed effect
. #delimit cr
delimiter now cr
限制样本或累积的滞后/领先期(Restricting Samples or Accumulating Lags/Leads)与简单地关注未改变的基线模型中的特定系数相比,人们可能希望处理符合纳入标准的特定子样本,或作为避免不平衡滞后和领先期的另一种方法是限制积累滞后/领先期超过某些定义时间的周期,以及避免与所有个体都被处理的识别不足相关的问题(Schmidheiny and Siegloch 2019)。考虑我们希望包括15个滞后期和10个领先期的情况,但只估计具有每个周期有效数据单位的模型。特别是1964-1996年每年的数据,任何在1978年至1996年期间没有进行过错离婚改革的个体将(至少)有15个滞后期和10个领先期。1978年以前采用的单位滞后期将少于15个,1996年以后采用的个体滞后期将少于10个。为了实现基于这些领先/滞后项的平衡观察面板的估计,keepbal(varname)选项是可用的,其中变量名表示应该应用平衡的面板个体(在这种情况下,处理单元是州的stfips)。此外,还需要明确指出在平衡面板内绘制所感兴趣的时间段,例如滞后(15)和领先(10)。这一切都在下面的命令中实现了。
> baseline(-11) cluster(stfips) graph_op(ytitle("Suicides per 1m Women") //改变基期
> xlabel(-20(5)25));
Note: with FE option do not include in varlist the categorical variables
that identify the individual fixed effect
. #delimit cr
delimiter now cr
4.2 Inference Options 推断选项前面的小节描述了一些替代的估计程序,这些程序可能与面板事件研究设计的估计相关。然而,正如在本文的第2节中所讨论的,在实现面板事件研究模型时,必须考虑到许多影响推断的因素。在此之前,该命令一直使用cluster(stfips)来实现,这表明应该估计一个CRVE,其中聚类是基于州的层面——在这种情况下分配事件的层级。正如在第2.2节中所讨论的,在本例中,基于49个州的聚类,一个CRVE很可能是该模型的适当推理模式。然而,eventdd命令允许通过与boottest的交互,使用野聚类自助法作为后估计程序(post-estimation procedure)(前提是该命令安装在用户的系统上)进行推断。这由wboot选项表示,默认情况下,该选项假设需要野聚类自助法,cluster()中表示聚类变量。当面板中很少有聚类时,这一点特别有用。但是,请注意,考虑到这个过程是基于自助重采样(bootstrap resampling)的,推断过程可能比基于Stata的原生CRVE的推理需要更长的时间。此外,wboot选项不能与hdfe估计选项相结合。然而,boottest还提供了相当多的其他好处,包括选择使用双向聚类进行推断(inference with two way clustering),这在很少有聚类的情况下可能显示出更好的规模属性(size properties)(Mackinnon and Webb 2018)。任何应该直接传递给boottest的选项都可以在wboot_op()选项中指定,如下面的seed选项所示。如果需要,可以确保在伪随机自助重采样(pseudo-random bootstrap resamples)中的可复制性。图3对比了之前基于CRVE的推理过程与这里所示的野聚类自助法推断过程之间的差异。
. #delimit ;
delimiter now ;
. qui
> eventdd asmrs pcinc asmrh cases i.year, fe timevar(timeToTreat) ci(rcap)
Figure 5: Alternative Visualization Options for Event Study Confidence Intervals可以使用ci_op()选项来完全控制这些图形类型,尽管所包含的选项必须与所请求的置信区间的实际类型相兼容。选项的兼容性可以在Stata的帮助文件中确认为每个可接受的ci()选项的两个两个选项。类似地,我们可以使用coef_op()选项指定图中系数的绘图所需的任何选项,如果我们将周期累积到最终点,我们可以在endpoints_op()中为这些点指定绘图选项。在这两种情况下,它们都接受Stata的双散点图类型的任何有效选项。最后,graph_op()选项允许包含任何通用的图形选项,如替代标签方案、图形方案或标题选项。在图6中,我们利用Stata的透明度选项和替代配色方案,比较了标准输出(左)和替代输出(右)。下面提供了用于生成图7(b)的eventdd语法,然后是结果输出。
Figure 6: Event study plots No-fault Divorce Reforms: Appearance options
. #delimit ;
delimiter now ;
. qui
> eventdd asmrs pcinc asmrh cases i.year, fe timevar(timeToTreat) ci(rarea)//设置图形形状