查看原文
其他

合成控制法什么鬼? 因果推断的前沿方法指南

因果推断研究小组 计量经济圈 2019-06-30

可有偿投稿计量经济圈,计量相关则可

箱:econometrics666@sina.cn

所有计量经济圈方法论丛的do文件, 微观数据库和各种软件都放在社群里.欢迎到因果推断研究小组交流访问.想要完整do file和数据集的请看文后获取方式.

今天,我们“因果推断研究小组”将为计量经济圈的圈友引荐一个用得比较多的因果推断方法“synthetic control method”(SCM)。我们听到最多的例子是,加州于1989年实施的禁烟法案, 希望看看该法案是否降低了烟草的消费量。因为这个禁烟法案只在加州范围内有政策效果,因此传统的DID方法就没有那么好用了,因为这里的实验组就只有一个成员——加州。


对于这种问题,我们迫切想要得到因果关系,因此合成控制法就出现了并且得到快速推广。SCM的基本思想是,使用其他38个未实施禁烟法案的州的加权平均来合成一个“加州”,通过对比真实的加州和合成的加州在1989年禁烟法案之后香烟消费量的差异来识别出政策效应。


在合成控制法中,有一些关键变量比较重要,因此值得我们提出来单独说一说。以下就是我们使用一个吸烟数据集,就加州1989年实施的禁烟法案对该州香烟消费量(销售量)的影响所做的合成控制法。

synth cigsale beer(1984(1)1988) lnincome retprice age15to24 cigsale(1988) cigsale(1980) cigsale(1975), trunit(3) trperiod(1989) fig replace keep(resout)

上面程序中的一些变量解释

1.因变量y:cigsale(人均香烟销售量,包/年;
2.自变量x:beer(人均啤酒消费量), lnincome(人均GDP), retprice(香烟零售价), age15to24 (15-24岁人口的比重), cigsale(1988),cigsale(1980), cigsale(1975)是1988,1980和1975年的人均香烟销售量;
3.trunit(3):咱们的政策影响组(加州), 数据中的3=california;
4.trperiod(1989):禁烟法案从1989年开始实施;
5.fig:把合成控制图展示出;

6.keep(resout):把最后的合成结果输出到directory

我们把通过SCM回归后所生成的结果数据展示出来。从中,我们可以看到,合成的加州人均香烟消费量是通过一定权重系数将其他对照州的人均香烟消费量组合起来的。我们看到colorado州给以的权重为0.285(最大),因为这个州与咱们的政策影响州(加州)在咱们的政策开始前的特征变量x上比较接近——代表了colorado州更加像政策影响组里的加州。


注意:实质上,SCM在政策实施之前寻找最优的权重系数的过程,实际上运用了我们之前常常运用的“Matching”方法。在寻找最优的weight过程,等于是在构造一个|Y1t(treated)-W*Yit(scm)|距离,然后让咱们的预测值在预测的过程中出现最小的均方误差值(MSPE)。


在没有使用合成控制法的时候,我们比较一下加州和其他州的人均香烟消费量的时间趋势图(其他州的值是取的平均值)。很明显,在1989年禁烟法案还没有出台之前,两者就出现了很大的差距,此时,我们不可能去识别出无噪音的因果关系。所以,我们需要通过匹配方法,去保证在1989年之前咱们的控制组与政策影响组几乎没有差别,这样才能够能够对后面的政策效应做出清晰的判断。


以下就是咱们最关心的图片,因为他能够最直观地告诉我们,在政策开始实施之前,在合成的加州里的人均香烟消费量与实际加州的人均香烟消费量几乎完美重合。一旦在政策实施的1989年之前,合成的加州与实际加州的人均香烟消费量较为一致,那么我们在1989年之后所出现的两者背离情形就意味着政策效应的显现。


图里面清楚地显示着,在1989年禁烟法案之后,实际加州的人均香烟消费量远比合成的加州的人均香烟消费量要低很多,且有随着时间有不断扩大的趋势。这就意味着,禁烟法案确实对于加州的人均香烟消费量起到了偌大的抑制作用。


上面的程序并没有完整地将scm展示出来,下面我们进一步添加二个新的option:xperiod和nested。对于这两个选项的详细用处,我们列在了下方。

synth cigsale beer lnincome retprice age15to24 cigsale(1988) cigsale(1980) cigsale(1975) , trunit(3) trperiod(1989) xperiod(1980(1)1988) nested

上面程序中的一些新变量解释

1.xperiod(1980(1)1988):取解释变量beer, lnincome, retprice, age15to24为1980,1981,....1988年的平均值;
2.nested:嵌套,能够帮助我们找到优化拟合,代价是长时间的计算

在SCM过程中,下方的结果比较重要,因为我们可从中知道很多重要信息,比如控制组,自变量,用来预测的年份等。


下面这个图是我们做的安慰剂检验:就是对这39个州(包括加州)分别做一个SCM,然后获得政策处理效应(实际的人均香烟消费量minus合成的香烟消费量)。这张图片里的黄颜色线条就是加州作为政策影响组所得到的政策效应。从图里,我们可以看到,在1989年之前,实际的cigsale与合成的cigsale几乎是一模一样的(gap围绕在0上下)。


然而,对于以其他38个州作为政策影响组的gap在1989年之前没有以加州作为政策影响组的gap小,况且加州作为政策影响组在1989年之后有明显的下降趋势,这不得不让我们思考是不是有什么政策效应出现,所以安慰剂检验意味着咱们的加州禁烟法案是有效的。


在1970-1989年期间(政策效应出现之前),当把其他38个州当作政策影响组时所得到的MSPE超过当加州作为政策影响组时所得到的MSPE 20倍时的所谓“outliers”剔除时,我们会得到如下看起来没有那么杂乱无章的政策效应趋势图。不过,还是这条黄颜色的线条非同寻常,因为在1989年政策出台之前,合成控制组与政策效应影响组差不多一致,而在政策出台后两者有向下的趋势,因此表明加州禁烟政策的出台确实抑制了人均的香烟消费量。


**安慰剂检验的程序-------------

forval i=1/39{

qui synth cigsale retprice cigsale(1988) cigsale(1980) cigsale(1975), ///

xperiod(1980(1)1988) trunit(`i') trperiod(1989) keep(synth_`i', replace)

}       //对所有39个州分别进行SCM(把39个州分别作为政策影响组)


forval i=1/39{

use synth_`i', clear

rename _time years

gen tr_effect_`i' = _Y_treated - _Y_synthetic

keep years tr_effect_`i'

drop if missing(years)

save synth_`i', replace

}               //得到SCM的政策效应


use synth_1, clear

forval i=2/39{

qui merge 1:1 years using synth_`i', nogenerate

}                    //把所有39个政策效应合并起来


local lp

forval i=1/39 {

  local lp `lp' line tr_effect_`i' years, lcolor(gs12) ||

  twoway `lp' || line tr_effect_3 years,  lcolor(orange) legend(off)   xline(1989, lpattern(dash))

}                        //直接画图就好


还不是计量经济圈社群群友的,如果对这篇文章完整的do file和数据有需要,请先进入计量经济圈社群然后在里面联系获取。


是计量经济圈社群的群友的,如果对这篇文章完整的do file和数据有需要,请将此文转发到朋友圈然后公众号后台联系获取。


因果推断研究小组保留权利


计量经济圈推荐

1.PSM-DID, DID, RDD, Stata程序百科全书式的宝典
2.RDD断点回归, Stata程序百科全书式的宝典
3.Generalized分位数回归, 新的前沿因果推断方法
4.Heckman模型out了,内生转换模型掌控大局
5.PSM倾向匹配Stata操作详细步骤和代码,干货
6.条件Logit绝对不输多项Logit,而混合模型最给力
7.广义PSM,连续政策变量因果识别的不二利器
8.自回归VAR模型操作指南针,为微观面板VAR铺基石
9.有限混合模型FMM,异质性分组分析的新筹码
10.政策评估中"中介效应"因果分析, 有趣的前沿方法
11.多期三重差分法和双重差分法的操作指南
12.多期双重差分法,政策实施时间不同的处理方法
13.随机前沿分析和包络数据分析 SFA,DEA 及操作
14.你的内生性解决方式out, ERM已一统天下而独领风骚
15.多期DID的经典文献big bad banks数据和do文件
16.面板数据里处理多重高维固定效应的神器
17.双栏模型Hurdle远超Tobit, 对于归并数据舍我其谁
18.面板数据计量方法全局脉络和程序使用指南篇

19.Clad还是Tobit, 归并最小绝对偏差, 做Tobit做不好的

计量经济圈当前有几个阵地,他们分别是如下4个matrix:

①计量经济圈社群——计量经管数据软件等资料中心,

②计量经济圈微信群——服务于计量经济圈社群群友,

③计量经济圈研究小组系列——因果推断研究小组、空间计量研究小组、面板数据库研究小组、微观计量研究小组、计量软件研究小组,

④计量经济圈QQ群——2000人大群服务于计量经济圈社群群友。


计量经济圈是中国计量第一大社区,我们致力于推动中国计量理论和实证技能的提升,圈子以海内外高校研究生和教师为主。计量经济圈六多精神:计量资料多,社会科学数据多,科研牛人多,名校人物多,热情互助多,前沿趋势多。如果你热爱计量并希望长见识,那欢迎你加入到咱们这个大家庭(戳这里),要不然你只能去其他那些Open access圈子了。注意:进去之后一定要看小鹅社群“群公告”,不然接收不了群息,也不知道怎么进入咱们独一无二的微信群和QQ群。


进去之后就能够看见这个群公告了

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存