记yitI为地区i在第t期的结果变量(上标I表示Intervention),如果地区i在第(T0+1)至第T期持续地受到政策干预。
假设政策在前T0期对于结果变量没有影响,即对于所有i与t≤T0,都有yit=yitN=yitI。
如果政策在实施之前即产生影响(比如,通过预期效应),则可重新定义T0为政策实际开始产生影响之前的那个时期。
一个潜在假定是各地区之间不会互相影响(nointerferencebetweenunits);特别地,控制地区的结果变量不受处理地区政策冲击的影响。
我们关心当i=1而t>T0时的处理效应:
在上式中,只要估计y1tN即可。
引入因子模型
假设yitN由以下“因子模型”(factormodel)所决定:
其中,上式右边第
(1)项δt为时间固定效应(timefixedeffects)。
第
(2)项的zi为可观测的向量(不受政策干预影响,也不随时间而变;比如,干预之前的预测变量之平均值)。
zi对于yitN的作用随时间而变,故zi的系数θt(未知参数)带时间下标t。
第(3)项为不可观测的“互动固定效应”(InteractiveFixedEffects),即个体固定效应ui与时间固定效应λt的乘积(Bai,2009)。
第(4)项?
it为随机扰动项。
根据“因子分析”(factoranalysis)的术语,称第(3)项中不可观测的λt为“共同因子”(commonfactors),可理解为不同地区所面临的共同冲击(commonshocks),比如它有两个分量,分别表示技术冲击(technologicalshocks)与金融危机(financialcrises);而各地区对于共同冲击λt的反应并不相同,以ui来表示,称为“因子载荷”(factorloading)。
如果λt是一维且为常数,则上式简化为“双向固定效应模型”(two-wayfixedeffectsmodel),包含个体固定效应ui与时间固定效应δt。
由此可知,上式是双向固定效应模型的推广,它允许不同个体对于共同冲击的异质性反应(heterogeneousimpacts)。
合成控制的误差
记构造合成控制的权重向量为:
其中,w2表示第2个地区在合成控制所占的权重,以此类推;所有权重皆为非负,且权重之和为1。
对于任意给定的w,可将合成控制地区的结果变量写为:
将y1tN减去上式可得:
显然,如果能找到w,使得上式右边的
(1)式与
(2)式均为0,则上式的期望为0,故合成控制为y1tN的无偏估计。
但
(2)式中的ui不可观测,故不可行。
Abadieetal.(2010)证明,如果能找到w使得
即根据可观测的经济特征与干预前结果变量所选择的合成控制w,也会使得合成控制的不可观测特征接近于处理地区。
反之,如果无法找到w,使得合成控制能很好地复制(reproduce)处理地区的经济特征以及干预之前的结果变量,则不建议使用合成控制法。
合成控制法的基本性质
如果合成控制w*能很好地复制处理地区的经济特征与干预前的结果变量(关于如何计算w*,参见首篇《合成控制法
(一)》),则可定义如下合成控制估计量(SyntheticControlEstimator):
Abadieetal.(2010)证明,在一定的正则条件下,如果合成控制w*能完全地复制(perfectlyreproduce)处理地区的经济特征与干预前的结果变量,则当干预前期数T0趋向无穷大时,合成控制估计量是渐近无偏(asymptoticallyunbiased)。
反之,如果合成控制w*只是不完全地复制(imperfectlyreproduce)处理地区的经济特征与干预前的结果变量(更为常见的情形),则合成控制估计量将是渐近有偏的。
此偏差被称为“内插偏差”(interpolationbias),因为使用内插法构造的合成控制并不是处理地区的完美的反事实替身。
因此,在使用合成控制法时,一个重要的模型设定检验就是,考察合成控制的经济特征与干预前的结果变量是否与处理地区足够接近。
合成控制法的Stata命令
Abadieetal.(2010)还提供了合成控制法的Stata程序synth,使得估计十分方便。
打开Stata后,可输入以下命令:
.sscinstallsynth,replace
(下载并安装synth程序)
其中,选择项“replace”表示如有此命令更新版本,可以新命令覆盖旧命令。
命令synth的基本句型为:
synthyx1x2x3,trunit(#)trperiod(#)counit(numlist)xperiod(numlist)mspeperiod()figureresultsperiod()nestedalloptkeep(filename)
其中,“y”为结果变量(outcomevariable),“x1x2x3”为预测变量(predictors)。
必选项“trunit(#)”用于指定处理地区(trunit表示treatedunit)。
必选项“trperiod(#)”用于指定政策干预开始的时期(trperiod表示treatedperiod)。
选择项“counit(numlist)”用于指定潜在的控制地区(即donorpool,其中counit表示controlunits),默认为数据集中的除处理地区以外的所有地区。
选择项“xperiod(numlist)”用于指定将预测变量(predictors)进行平均的期间,默认为政策干预开始之前的所有时期(theentirepre-interventionperiod)。
选择项“mspeperiod()”用于指定最小化均方预测误差(MSPE)的时期,默认为政策干预开始之前的所有时期。
选择项“figure”表示将处理地区与合成控制的结果变量画时间趋势图,而选择项“resultsperiod()”用于指定此图的时间范围(默认为整个样本期间)。
选择项“nested”表示使用嵌套的数值方法寻找最优的合成控制(推荐使用此选项),这比默认方法更费时间,但可能更精确。
在使用选择项“nested”时,如果再加上选择项“allopt”(即“nestedallopt”),则比单独使用“nested”还要费时间,但精确度可能更高。
选择项“keep(filename)”将估计结果(比如,合成控制的权重、结果变量)存为另一Stata数据集(filename.dta),以便进行后续计算。
更多选择项,详见helpsynth。
加州控烟法有效吗?
Abadieetal.(2010)随之将合成控制法应用于研究美国加州1988年第99号控烟法(Proposition99)的效果。
1988年11月美国加州通过了当代美国最大规模的控烟法(anti-tobaccolegislation),并于1989年1月开始生效。
该法将加州的香烟消费税(cigaretteexcisetax)提高了每包25美分,将所得收入专项用于控烟的教育与媒体宣传,并引发了一系列关于室内清洁空气的地方立法(localcleanindoor-airordinances),比如在餐馆、封闭工作场所等禁烟。
面板数据集
Abadieetal.(2010)使用的数据为美国1970-2000年的州际面板数据。
由于Massachusetts,Arizona,Oregon与Florida的州政府在1989-2000期间也引入了正式的控烟立法,无法作为控制地区,故将此四州从donorpool中去掉。
外,还去掉了在1989-2000期间将香烟消费税提高了每包50美分及以上的州(Alaska,Hawaii,Maryland,Michigan,NewJersey,NewYork,Washington),以及首都所在地华盛顿特区。
最后剩下38个州作为潜在的控制地区(即使加上去掉的州,结果也依然稳健)。
变量介绍
该研究的结果变量为cigsale(人均香烟消费量,包/年),预测变量包括retprice(平均香烟零售价格)、lnincome(人均收入对数)、age15to24(15-24岁人口所占总人口比重,年轻人为吸烟主力)、beer(人均啤酒消费量,烟酒不分家)。
这些预测变量均为1980-1988年的州平均值,另外还使用1975、1980与1988年的人均香烟消费量作为三个额外的预测变量。
另外,面板变量为state(州),而时间变量为year(年)。
Stata操作
Stata程序synth自带了加州控烟法的数据集smoking.dta。
安装命令synth后,输入以下命令即可打开此数据集,设为面板数据,然后进行合成控制法的估计:
.sysusesmoking(打开数据集)
.xtsetstateyear(设为面板数据)
.synthcigsaleretpricelnincomeage15to24beercigsale(1975)cigsale(1980)cigsale(1988),trunit(3)trperiod(1989)xperiod(1980
(1)1988)figurenestedkeep(smoking_synth)
其中,“cigsale(1975)cigsale(1980)cigsale(1988)”分别表示人均香烟消费在1975、1980与1988年的取值。
必选项“trunit(3)”表示第3个州(即加州)为处理地区;必选项“trperiod(1989)”表示控烟法在1989年开始实施。
选择项“xperiod(1980
(1)1988)”表示将预测变量在1980-1988年期间进行平均,其中“1980
(1)1988”表示始于1980年,以1年为间隔,而止于1988年;其效果等价于“198019811982198319841985198619871988”,而前者的写法显然更为简洁。
选择项“keep(smoking_synth)”将估计结果存为Stata数据集smoking_synth.dta(放在Stata的当前工作路径)。
估计结果如下。
上表显示,大多数州的权重为0,而只有以下五个州的权重为正,即Colorado(0.161),Connecticut(0.068),Montana(0.201),Nevada(0.235)与Utah(0.335),此结果与Abadieetal.(2010)汇报的结果非常接近(细微差别或由于计算误差)。
考察加州与合成加州的预测变量是否接近:
从上表可知,加州与合成加州的预测变量均十分接近,故合成加州可以很好地复制加州的经济特征。
然后比较二者的人均香烟消费量在1989年前后的表现:
从上图可知,在1989年控烟法之前,合成加州的人均香烟消费与真实加州几乎如影相随,表明合成加州可以很好地作为加州如未控烟的反事实替身。
在控烟法实施之后,加州与合成加州的人均香烟消费量即开始分岔,而且此效应越来越大。
更直观地,可打开另一Stata程序,调用已存的数据集smoking_synth.dta,计算加州与合成加州人均香烟消费之差(即处理效应),然后画图。
.usesmoking_synth.dta,clear
(如不打开另一Stata程序,则此数据集将覆盖原有的数据集smoking.dta)
.geneffect=_Y_treated-_Y_synthetic
(定义处理效应为变量effect,其中“_Y_treated”与“_Y_synthetic”分别表示处理地区与合成控制的结果变量)
.labelvariable_time"year"
.labelvariableeffect"gapinper-capitacigarettesales(inpacks)"
(为了画图更漂亮,加上时间变量与处理效应的标签,可使用变量管理器(variablemanager)来方便地加标签)
.lineeffect_time,xline(1989,lp(dash))yline(0,lp(dash))
(画处理效应的时间趋势图,并在横轴1989年处与纵轴0处分别画虚线,结果见下图)
上图显示,加州控烟法对于人均香烟消费量有很大的负效应,而且此效应随着时间推移而变大。
具体来说,在1989-2000年期间,加州的人均年香烟消费减少了20多包,大约下降了25%之多,故其经济效应十分显着(economicallysignificant)。
在使用合成控制法时,如何进行稳健性检验与统计推断?
合成控制法与回归法相比有何优缺点?
使用合成控制法有何注意事项?
敬请期待本介绍的完结篇——合成控制法(三)。
合成控制法的稳健性检验
为了检验上述合成控制估计结果的稳健性(参见《合成控制法
(二)》),Abadieetal.(2010)加入了更多的预测变量,比如失业率、收入不平等、贫困率、福利转移、犯罪率、毒品相关的逮捕率、香烟税、人口密度等;发现结果依然稳健。
另外一个担心是,地区之间无互相影响(nointerferencebetweenunits)的假定可能不满足,比如加州的反烟运动可能波及其他州,烟草行业或将其他州的香烟广告预算投入到加州,甚至从其他州走私便宜香烟到加州。
Abadieetal.(2010)根据史实对此进行了探讨,认为这些效应均不大,至少不可能导致上文图中如此大的处理效应。
安慰剂检验
上述结果为对控烟法处理效应的点估计。
此点估计是否在统计上显着(statisticallysignificant)?
Abadieetal.(2010)认为,在比较案例研究中,由于潜在的控制地区数目通常并不多,故不适合使用大样本理论进行统计推断。
为此,Abadieetal.(2010)提出使用“安慰剂检验”(placebotest)来进行统计检验,这种方法类似于统计学中的“排列检验”(permutationtest),适用于任何样本容量。
“安慰剂”(placebo)一词来自医学上的随机实验,比如要检验某种新药的疗效。
此时,可将参加实验的人群随机分为两组,其中一组为实验组,服用真药;而另一组为控制组,服用安慰剂(比如,无用的糖丸),并且不让参与者知道自己服用的究竟是真药还是安慰剂,以避免由于主观心理作用而影响实验效果,称为“安慰剂效应”(placeboeffect)。
安慰剂检验借用了安慰剂的思想。
具体到加州控烟法的案例,我们想知道,使用上述合成控制法所估计的控烟效应,是否完全由偶然因素所驱动?
换言之,如果从donorpool随机抽取一个州(而不是加州)进行合成控制估计,能否得到类似的效应?
为此,Abadie