众里寻她千百度,synth命令来帮助!

2016-10-09 赵磊 爬虫俱乐部 爬虫俱乐部

天下事有难易乎?为之,则难者亦易矣;事在人为!今天我们来介绍一下跟人为(合成)有关的stata命令:synth

当我们在做实证研究时,如果由于某项政策的实施,给我们提供了一个天然准自然实验的机会,我们很容易想到利用DID(Difference-in-differences:双重差分)来估计政策实施对被解释变量Y的影响。但是,用DID法有个前提假设,即:实验组和控制组在没有实验的情形下,要有相同的趋势变化。然而理想很丰满,现实很骨感,想找到各方面都接近实验组的控制组并非易事!如果找不到合适的控制组,what shall we do?随机试验我们可以模拟,那我们能不能人为构造一个虚拟的控制组呢?Policy出台靠政府,Control group在人为(合成)。事在人为嘛!synth命令就是通过计算寻找实验组之外各控制组的最优权重,组合构成一个理想控制组(像“盗版”的实验组或实验组的“替身”)。这种方法称之为:合成控制法(Synthetic control methods)

举 例:假如中南财经政法大学于某年实施了一项独一无二的重大政策(该政策仅在我财实施),我们想评估一下该政策对我财(实验组)的影响,我们需要找一个相似 的控制组来与我财进行对比,看看控制组与我财在政策实施前后的差别。那我们是找上财还是央财或是西财or东财?很难找到一所与我财各方面特征都非常相似的 院校。但我们可以通过找某些特征相近的院校,优化出最佳权重,组合构成一个与我财极为相似的“我财替身”,作为理想的控制组。这就是“合成控制法”。

下面我们就来说说如何用stata的命令synth来合成控制组。

 记该命令的tipssynth,即synthetic的缩写,意为:合成的 

1下载&安装命令

下载&安装命令:ssc install synth,replace all。如图:

2怎么用

具体的定义及处理过程参见help synth。

我里乖乖!看着help文件,是眼花缭乱啊!小盆友们有木有同感呢?不用怕!老师教导我们,学知识要不求甚解(别告诉老师啊,嘘!)。我们只要了解大概,会用一二,无需掌握三四五六,stata命令浩如烟海,谁又能全都彻底了解掌握?难得糊涂!懂?又跑偏了,闲话休提言归正传!

现在,我们详细介绍一下上图中synth的语法:

  • synth:合成控制法的stata命令

  • epvar:结果变量(the outcome variable),也就是被解释变量Y

  •  predictorvars:预测变量(the list of predictor variables),也就是自变量X1X2X3等等

  •  trunit(#):实验处理组(treated unit),也就是实验对象(被处理的对象)或受到政策干预影响的组;这里需要注意的是:括号里面的#,它表示实验组的编号,所有units(实验组和控制组)都有各自的一个编号,后面我们会举例说明。

  • trperiod(#):政策干预开始实施的时期(the time period when the intervention occurred)#:表示政策实施的年份。

下面介绍[ ]中的选项:由于[ ]中的选项较多,这里仅介绍几个后面举例要用到的选项命令,其他选项有兴趣的同学可以自学研究,这里就不一一介绍说明了。

选项(1xperiod(numlist):指定预测变量或自变量进行平均的时期。egX1(1980) 表示预测变量X11980年的值;X2(1982&1986&1988) 表示预测变量X21982,1986,1988年的平均值;X3(1980(1)1990) 表示预测变量X31980,1981,1982,…,1990年的平均值,其中1980(1)1990表示从1980年开始,步长间隔为1年,直到1990年;X4没有给定时期,则默认为政策干预之前的整个时期的平均值(averaged over the entire pretreatment period (default))

选项(2nested:嵌套最优矩阵加权算法。不明觉厉?通俗点说,就是一种优化算法,进一步调整优化了控制组各单元的权重,优化权重后合成的控制组与实验组特征更为相近。还不懂?再说白点,就是加上nested,比不加好,这样合成的控制组更像实验组,所以加上它就ok啦(下期举例有详细图示对比哦)。ps:加上nested选项(嵌套优化模块相对于不加该选项的默认情况)的算法计算时间会更长。

选项(3)figure:画线条图,即画出实验处理组和合成控制组的时间趋势图。

众里寻他千百度,蓦然回首,synth命令是神器!今天,我们先了解神器如何使用,下期,我们就用synth命令寻找灯火阑珊处的“他”——控制组。所以,各位快关注爬虫俱乐部吧,下期带你去看控制组如何回眸一笑百媚生~



我们团队原来的微信公众号是“数据处理援助中心”,现在正式搬家到“爬虫俱乐部”,欢迎关注。新的公众号开始,我们推出有问必答栏目,对您提出的问题,我们会尽力回答,并通过推文的形式进行发布。我们也欢迎各位粉丝向公众号投稿。

(编辑@强宇曦)

 

欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱xueyuan19920310@163.com

投稿要求

1)必须原创,禁止抄袭;

2)必须准确,详细,有例子,有截图;

注意事项

1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名。

2)邮件请注明投稿,邮件名称为投稿”+“推文名称

3)如果大家遇到关于stata处理分析数据的问题,也可以给该邮箱写邮件,邮件名称为提问”+“问题名称或者关键词,我们会在后期的推文里给予解答。


长按二维码关注哦


微信扫一扫
关注该公众号