查看原文
其他

一文读懂合成控制法 (Synthetic Control Method)操作及Stata应用

The following article is from 数量经济学 Author 数量经济学

Stata寒假研讨班_2020年1月_第13&14届“高级计量经济学及stata应用”研讨班@上海/北京专场_火热报名中
香烟控制法在美国有着悠久的历史,至少可以追溯到1893年,当时的华盛顿成为第一个禁止香烟销售的州。在在接下来的30年里,其他15个州也相继出台了类似的禁烟措施(Dinan和Heckelman 2005)。这些早期的反烟草法主要是出于道德考虑, 健康问题是次要的(Tate 1999)。近100年来,后来,在这些早期的法律被废除很久之后,对吸烟的健康风险的认识有了一个新的广泛传播,美国各州和联邦政府纷纷出台反烟草法以及最终的海外市场。1988年,加州选民发起的99号提案,第一个现代化的大规模控烟项目,这也就是著名的99香烟法案。
本文基于stata16为大家讲解如何进行合成控制法相关操作及应用。
1
背景介绍

99法案将加州的卷烟消费税每包提高25美分,这部分指定税收将用于健康和反吸烟教育预算,资助反吸烟媒体,并推动了当地的室内空气清洁条例遍及全州((Siegel 2002)。在最初的实现中, 99号提案每年在学校、社区、县、州一级开展反烟草项目产生超过1亿美元的收入 。每年几乎有2000万美元可用于烟草有关的研究。正如Glantz和Balbach(2000)所说,他说:“这些项目使任何其他州或地区相形见绌 ,联邦政府也曾经对烟草采取过措施。” 99号提案引发了一波当地清洁空气条例的浪潮,在加州。在99号提案之前,加州没有城镇要求餐厅100%禁烟。从1989年到 2000年通过了大约140部这样的法律(Siegel 2002)。到1993年,当地颁布法令禁止在工作场所吸烟,保护了加州近三分之二的工人(Glantz) 和Balbach 2000)。1994年,加利福尼亚州通过了附加法案 禁止在封闭工作场所吸烟的立法。到1996年,超过90%的加州工人获得了医疗保险,通过无烟工作场所政策(西格尔2002)。不吸烟的权利倡导者们看到了一波又一波地方法令通过。
1988年11月美国加州通过了当代美国最大规模的控烟法(anti-tobacco legislation),并于1989年1月开始生效。该法将加州的香烟消费税(cigarette excise tax)提高了每包25美分,将所得收入专项用于控烟的教育与媒体宣传,并引发了一系列关于室内清洁空气的地方立法(local clean indoor-air ordinances),比如在餐馆、封闭工作场所等禁烟。Abadie et al. (2010)根据美国1970-2000年的州际面板数据,采用合成控制法研究美国加州1988年第99号控烟法(Proposition 99)的效果。


2
语法格式


合成控制法命令为:synth,安装方法为
ssc install synth

基本语法格式为(下述四行为一行完整命令,出现断行了):
synth depvar predictorvars , trunit(#) trperiod(#)  ///[counit(numlist) xperiod(numlist) mspeperiod()   /// resultsperiod() nested allopt unitnames(varname) /// figure keep(file) customV(numlist) optsettings ]

3
选项含义介绍


depvar 表示结果变量(outcome variable)


predictorvars为预测变量(predictors) the list of predictor variables)( By default, all predictor variables are averaged over the entire pre-intervention period, which ranges from the earliest time period available in the panel time variable specified in tsset timevar to the period immediately prior to the intervention specified in trperiod. Missing    values are ignored in the averages.)


trunit(#)用于指定处理地区(trunit表示 treated unit)。trunit(#) the unit number of the unit affected by the intervention as given in the panel id variable specified in tsset panelvar示需要前期进行面板数据设定)see tsset. Notice that only a single unit number can be specified. If the intervention of interest affected several units the user may chose to combine these units first and then treat them as a  single unit affected by the intervention.(表示一次只能一个地区受到影响,若是有多个地区受到影响,需要前期把其合成)


trperiod(#)用于指定政策干预开始的时期(trperiod表示 treated period)(the time period when the intervention occurred)。


counit(numlist)用于指定潜在的控制地区(即donor pool,其中counit表示 control units),默认为数据集中的除处理地区以外的所有地区。


xperiod(numlist)用于指定将预测变量(predictors)进行平均的期间,默认为政策干预开始之前的所有时期(theentire pre-intervention period)。


mspeperiod()用于指定最小化均方预测误差(MSPE)的时期,默认为政策干预开始之前的所有时期。


figure表示将处理地区与合成控制的结果变量画时间趋势图,而选择项“resultsperiod()”用于指定此图的时间范围(默认为整个样本期间)。


nested表示使用嵌套的数值方法寻找最优的合成控制(推荐使用此选项),这比默认方法更费时间,但可能更精确。在使用选择项“nested”时,如果再加上选择项“allopt”(即“nested allopt”),则比单独使用“nested”还要费时间,但精确度可能更高。


keep(filename)将估计结果(比如,合成控制的权重、结果变量)存为另一Stata数据集(filename.dta),以便进行后续计算。


replace 表示将keep(filename) 中的data若是存在可以对其进行替换


keep(filename)中的数据主要包括如下内容:


 _time: 一个变量,包含resultsperiod()中指定的所有时间段的相应时间段(来自tsset面板时间变量(timevar))。


 _Y_treated: 对于resultsperiod()中指定的每个时间段,tr()中指定的处理单元的观察结果depvar。


_Y_synthetic: 估计合成控制单元的估计结果


_Co_Number: 包含在co()中指定的每个控制单元的单元号(来自tsset面板单元变量(panelvar))的变量。


_W_weight:包含co()中指定的每个控制单元的估计单位权重的变量。


更多选择项,详见help synth。


4
案例介绍:99法案香烟控制法案政策效应影响


1、加载示例数据:这个面板数据集包含了美国39个州在1970-2000年间的信息(参见Abadie、Diamond和Hainmueller(2010)的详细信息)。
sysuse synth_smoking

2、面板数据设定

xtset state year


查看数据结果截图:

相关数据含义如下:


该研究的结果变量为cigsale(人均香烟消费量,包/年)


预测变量包括retprice(平均香烟零售价格)、lnincome(人均收入对数)、age15to24(15-24岁人口所占总人口比重,年轻人为吸烟主力)、beer(人均啤酒消费量,烟酒不分家)。这些预测变量均为1980-1988年的州平均值,另外还使用1975、1980与1988年的人均香烟消费量作为三个额外的预测变量。另外,面板变量为 state(州),而时间变量为 year(年)。


3、合成控制法操作

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

上述代码全部为:synth cigsale retprice lnincome age15to24 beer cigsale(1975) cigsale(1980) cigsale(1988), trunit(3)trperiod(1989) xperiod(1980(1)1988) figure nested keep(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年;其效果等价于“1980 1981 1982 1983 1984 1985 1986 1987 1988”,而前者的写法显然更为简洁。


选择项“keep(smoking_synth)”将估计结果存为Stata数据集smoking_synth.dta(放在Stata的当前工作路径)。估计结果如下。



上表显示,大多数州的权重为0,只有以下五个州的权重为正,即Colorado (0.161),Connecticut (0.068),Montana (0.201),Nevada (0.235)与Utah (0.335),此结果与Abadie et al. (2010)汇报的结果非常接近(细微差别或由于计算误差)。



上表显示了合成中的每个控件状态的权重,表中报告的权重表明:加州的吸烟趋势在提案通过之前最好是由这Colorado 、Connecticut、Montana、Nevada 与Utah表示。其他状态的w权值为零。


考察加州与合成加州的预测变量是否接近:

在表1中,比较了实际的加利福尼亚和合成的加利福尼亚的预测变量均十分接近,故合成加州可以很好地复制加州的经济特征。


然后比较二者的人均香烟消费量在1989年前后的表现:



上图显示了加州和合成加州在1970-2000年期间的人均烟草销售额。注意,合成加州的人均销售量非常好的拟合追踪了加州整个99号提案前的变化趋势。


高程度的拟合表明,在1989年控烟法之前,合成加州的人均香烟消费与真实加州几乎如影相随,表明合成加州可以很好地作为加州如未控烟的反事实替身。在控烟法实施之后,加州与合成加州的人均香烟消费量即开始分岔,而且此效应越来越大。


我们估计第99号提案对香烟消费的影响分水岭是在99通过这个时间点,该法案一通过两条线开始明显地分开。


而香烟消费在合成加州继续其温和下降趋势来看,真正的加州经历了大幅下滑。这两条线之间的差异表明第99号提案对人均香烟销量的有很大的负面影响。



上图表明99号提案对人均香烟销量有很大影响,这种效应随着时间的推移而增强。我们的结果表明,对于整个1989-2000年期间的卷烟每包的消费量平均减少了近20包,人均下降约25%。


4、加州与合成加州差异对比

use 计量经济学服务中心smoking_synth.dta, cleargen effect= _Y_treated - _Y_syntheticlabel variable _time "year"label variable effect "gap in per-capita cigarette sales (in packs)"line effect _time, xline(1988,lp(dot) lc(black)) yline(0,lp(dash) lc(black)) ///text(-25 1988 "Passage of Proposition 99 {&rarr} ", placement(sw)) /// placement() et a. options for text()xtitle(year) ytitle("gap in per-capita cigarette sales (in packs)") lc(black) xlabel(1970(5)2000) ///title("政策效应:加州与合成加州人均香烟销售量差异") /// subtitle("2017.10.01")  ///note("计量经济学服务中心2017.10")


为了评估我们的结果的稳健性,我们使用了其他其他预测变量,包括各州的失业率,收入不平等,贫困,福利转移,犯罪率,毒品相关的逮捕率,香烟税,人口密度,以及种族等变量,发现结果都是稳健的。


5
安慰剂检验


为了评估我们的估计的显著性,我们提出:我们的结果是否是随机偶然的。如果我们随机选择一个州而不是加州来进行研究? 我们多久可以得到这样一个显著的结果,为了回答这个问题,我们使用安慰剂测试。


类似于 Abadie和Gardeazabal (2003), Bertrand, Duflo和Mullainathan (2004),我们使用合成药物进行安慰剂研究的方法,具体应用到香烟控制法案研究。


“安慰剂”(placebo)一词来自医学上的随机实验,比如要检验某种新药的疗效。此时,可将参加实验的人群随机分为两组,其中一组为实验组,服用真药;而另一组为控制组,服用安慰剂(比如,无用的糖丸),并且不让参与者知道自己服用的究竟是真药还是安慰剂,以避免由于主观心理作用而影响实验效果,称为“安慰剂效应”(placebo effect)。


为此,Abadie et al. (2010)进行了一系列的安慰剂检验,依次将donor pool中的每个州作为假想的处理地区(假设也在1988年通过控烟法),而将加州作为控制地区对待,然后使用合成控制法估计其“控烟效应”,也称为“安慰剂效应”。通过这一系列的安慰剂检验,即可得到安慰剂效应的分布,并将加州的处理效应与之对比。




在上图中,黑线表示加州的处理效应(即加州与合成加州的人均香烟消费之差),而灰线表示其他19个控制州的安慰剂效应(即这些州与其相应合成州的人均香烟消费之差)。显然,与其他州的安慰剂效应相比,加州的(负)处理效应显得特别大。假如加州的控烟法并无任何效应,则在这20个州中,碰巧看到加州的处理效应最大的概率仅为1/20 = 0.05,而这正好是常用的显著性水平。


政策实施前均方预测误差的平方根

tempname resmat forvalues i = 1/4 { synth cigsale retprice cigsale(1988) cigsale(1980) cigsale(1975) , trunit(`i') trperiod(1989) xperiod(1980(1)1988) matrix `resmat' = nullmat(`resmat') \ e(RMSPE) local names `"`names' `"`i'"'"' } mat colnames `resmat' = "RMSPE" mat rownames `resmat' = `names'        matlist `resmat' , row("Treated Unit")



6
参考文献


A PANEL DATA APPROACH FOR PROGRAM EVALUATION: MEASURING THE BENEFITS OF POLITICAL AND ECONOMIC INTEGRATION OF HONG KONG WITH MAINLAND CHINA,原文链接:http://onlinelibrary.wiley.com/wol1/doi/10.1002/jae.1230/suppinfo


合成控制法视频资源(一)

CEPA对香港的影响(附回归合成控制方法详细介绍)

重磅推荐 |回归合成控制法:以2008年中国经济刺激方案为例

合成控制法(Synthetic Control Method)(附PPT免费公开)



6
课程推荐:
2020北京/上海初高级stata研讨班




为了帮助小伙伴们快速掌握stata,我们特别推出2020学术提升计划!


第13届Stata寒假研讨班上海专场时间:2020年1月8日-1月11日(四天)


第14届Stata寒假研讨班北京专场时间:2020年1月15日-1月18日(四天)


本次参加现场班的学员将免费获赠精品课程《零基础学空间计量:空间计量及Geoda、stata应用》,目前累计590+订阅学习


另外现场还将赠送初级班+高级班视频。


截至目前,计量经济学服务中心已经在西安、北京、上海、广州等地成功举办了12场stata高级班,并在深圳南方科技大学举办了一场stata编程研讨班。全国300余所高校的青年教师、硕士研究生、博士研究生、高年级本科生参加过我们组织的计量经济学系列研讨会。


由于种种原因,很多学员一直想学却没有学,2020,给自己一个勇敢的理由,一起来放大你的小目标。



学习优势


计量经济学服务中心团队成员精耕细作,紧跟stata前沿,各种操作以及学习内容均不断升级!重软件操作、重实战是课程一直以来的优势与好评。控制人数的小班教学以确保每一位学员真正学到操作技能。


重要的事情说三遍,我们课程全部带电脑,并提供完整do文档以及数据、讲义、资料书等,手把手教学和操作学习!


学员福利:一次报名,2年内不限次数线下免费学(包括但不限于中心举办的其他研讨班和学术会议、论坛等),学完之后并有课程群等一对一答疑解惑。


ps:国内计量经济学理论方法学习很多均建立在Eviews软件上(stata书籍对理论方法等介绍的少),本次课程在横截面、时间序列、面板、门限等众多章节均穿插着简要介绍Eviews软件应用,帮助大家站在学习者的角度和路线全面构建起计量经济学框架和模型思路


课程简要大纲


授课时间:

上海:2020年1月8日--1月11日(四天)

北京:2020年1月15日--1月18日(四天)

本次课程一共十六讲,初级+高级课程,由零基础学起,理论与软件操作并重,手把手教你学计量。课程涵盖数据管理+横截面+时间序列+面板数据+门限回归+倾向匹配得分+空间计量等专题,是一个完整的课程体系,具体内容如下:


Class 1. A Quick Tour of Stata

  • stata简介Why Stata?/what is stata

  • 软件界面The Stata Interface/What Stata looks like

  • 参考书籍推荐Textbooks

  • log工作日志和do文档What to do first?Set a working directory/Keeping track of things(Do-files and log-files )

  • 命令以及帮助the command & Getting Help(包括help的使用以及ssc install 、findit等外部命令获取和使用)

  • Getting started with stata

  • 基于stata的数据分析流程


Class 2. DATABASE MANIPULATION数据管理

  • 导入导出 Import and Export

  • 面板数据、时间数据、官方数据Time series data &Panel data & Example Datasets

  • 变量以及数据Variable and data types/Indicator or data variables

  • 数据管理Data management

  • 排序Order, aorder, and move

  • 变量标签Variable Labels and Notes

  • 数据转换Converting strings to numerics and vice versa(encode decode destring tostring 等)

  • 数据横向合并和纵向合并Append and merge

  • 数据生成Generating new variables

  • 描述分析Describing the data (summarize)

  • 基础命令Basic commands(table tabulate)

  • tabstat命令

  • CSMAR及中经网数据库复杂的使用技巧


Class 3&4. 相关分析Correlation analysis & 回归分析Estimation


Class 5. 时间序列

  • 平稳性检验

  • 协整检验

  • 格兰杰检验

  • 课程总结以及论文讲解


Class 6&7. 静态面板模型/动态面板数据模型

  • 面板数据描述性分析

  • 面板数据平稳性检验

  • 静态面板数据回归分析:随机效应模型和固定效应模型、Hausman检验等

  • 动态面板数据模型

Class 8. 门限回归

  • 包括横截面与面板模型的门限回归,主讲xthreg、xtthres、threshold等命令,并与Eviews软件对比,让大家对门限回归有一个全面的了解。

  • 门限回归理论介绍

  • 门限回归操作流程图

  • 门限回归操作以及结果解释等

  • 论文讲解以及课程总结


Class 9. 内生性问题专题I:倾向匹配得分

  • 倾向匹配得分简介、为何使用 PSM ?、传统的配对方法、配对过程中的两个核心问题、匹配方法、优缺点、

  • 倾向匹配得分建模流程图

  • PSM操作命令及其具体应用

  • 论文讲解

  • 课程总结


Class 10. 内生性问题专题II:合成控制法


Class 11. 结果输出Extracting results

  • Post summary statistics(summarize、tabstat)

  • Post correlation coefficients (pwcorr、correlate、logout )

  • Coefficients/equations

  • Basic syntax and usage

  • estout、esttab、estadd and other useful Stata commands

  • Standard errors, p-values, and summary statistics

  • Use with Word/Rtf/Excel/LaTeX

  • Other Advanced Examples(esttab、outreg2、logout等


Class  12 . stata新工具——do文档编程与输入法结合

Class  13. 经济金融数据库(国泰安数据库、中经网、CGSS数据库)使用技巧

Class  14论文写作专题(从源头数据处理到分析)


Class  15. 横截面空间计量模型与面板空间模型(包括空间自相关检验、空间效应检验、SAR、SEM模型以及空间面板随机与固定效应检验等)

  • 空间计量发展概述

  • 空间回归模型动因

  • 空间效应

  • 空间权重矩阵

  • 空间相关性度量

  • 空间计量模型简介、流程图、识别检验、判别准则等

  • 横截面空间计量模型及stata应用

  • 面板空间计量模型及stata应用(面板固定效应与随机效应等检验)


Class  16. 空间计量经济学及Stata应用(包括基于stata16的空间数据汇总、空间设定、权重矩阵创建、estat moran、横截面以及空间计量模型等)



课程详情


会议时间及地点:

上海:2020年1月8日-11日(四天),地点:具体地点另行通知


北京:2020年1月15日-18日(四天),地点:具体地点另行通知


会议费用:普通价:4000元,学生价:3600元(凭学生证优惠价),差旅及住宿费用自理。

会议安排:上午9:00-12:00;下午2:00-5:00;答疑5:00-5:30

授课形式:老师讲授指导、学员操作练习、现场答疑解惑。

会议人数:中心非常重视与学员互动以及软件操作,为保证学习效果,限额50人

课程资料:提供PPT、课程讲义以及完整的do文档等。


优惠信息


缴费成功后都享受如下优惠

1.同一单位3人以上报名,9折优惠;

2.同一单位5人以上报名,8折优惠(前2项优惠不能叠加)

3、根据报名缴费顺序安排现场座位。


学习目标


1、掌握计量经济学及Stata操作,能够运用Stata完成复杂的数据处理工作,并熟练运用Stata完成写作;


2、了解常用模型的思路、原理和建模方法,从源头数据库等数据下载、搜集、整理、管理,到stata数据操作,培养数据分析能力;


3、通过中心精心准备的do文档讲义来完成学习,并实现do文档中现成命令的可复制性(只需要修改部分do文档命令的变量,就可以一键实现数据分析和数据管理的结果,具有复制性)(中心紧跟前沿,do文档实时更新,能够处理各种复杂数据分析)



学习对象


经济及社科类青年教师、博士生、硕士生、高年级本科生。(1 Stata爱好学习者。2  经济管理以及人文社科领域人员、各类市场调查公司、咨询公司、互联网公司和科研机构需要进行数据处理的人士。)



报名咨询方式


报名流程

1、电话咨询,给予反馈,确认报名信息。

2、交费(微信、支付宝或对公转账等),报名前请确认信息。

3、开课前一周发送培训教室路线图以及课程通知,电子版预习资料。

4、现场领取发票及邀请函(现在报名缴费可以根据需要提前邮寄发票以及会议通知等)。 


支付方式:

对公转款(转款时务必在摘要中注明姓名学校和联系方式) 

开户名:陕西经纶教育科技有限公司 

开户行:招行西安科技路支行 

银行卡号:129909261610116


相关单位:

主办方:计量经济学服务中心

协办方:数量经济学、陕西经纶教育科技有限公司、西安造梦信息技术有限公司


有需要现场刷公务卡的,可以提前预交定金300元,现场刷卡再全额退还或者补齐会务费。


注意事项


1、请学员自带笔记本电脑,并自行在网络搜索下载15.0/16.0。

2、报名截止日期:2020年1月5日 17:00。

3、如您报名后有事不能参加,请及时告知!2019年10月30日17:00之后不再接受退费。

4、本次会议可提供增值税普通发票,如需开具(请联系微信:Xindream1992),并根据自己单位财务部门要求填写抬头和类目信息(一旦开具不能重开),发票类目为:会议服务费、信息服务费、培训费、会议费、咨询费等,报名时可以直接任选其一,其他类目无法开具。

5、会议邀请函通知及报名咨询等直接联系王老师。


在线咨询:

王老师

电话:18710973211

微信:Xindream1992

扫码添加微信


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

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