Stata:合成控制法介绍-synth2
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会 · 2023 寒假班
作者:陈少廷 (中山大学)邮箱:chensht39@mail2.sysu.edu.cn
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
目录
1. 引言
2. 合成控制法原理
3. synth2 命令介绍
4. 加州控烟案例
4.1 案例背景
4.2 复现结果
4.3 安慰剂检验
5. synth2 命令优点
6. 参考资料
7. 相关推文
1. 引言
经济学家经常要评估某政策或事件的效应。最简单的方法是对比政策实施前后结果的变化 (outcome of interest)。但此结果可能还受其原有变化趋势的影响,或其他同时发生的混淆性事件 (confounder) 的作用。
为避免这种情况带来的误差,经济学家常使用鲁宾的反事实框架 (Rubin's counterfactual framework),即假想该地区未受政策干预会怎样,并与事实上受到干预的实际数据进行对比。为此,Abadie 和 Gardeazabal (2003) 提出了合成控制法 (Synthetic Control Method)。
本文主要介绍合成控制法的基本原理和实现命令 synth2
。
2. 合成控制法原理
合成控制法 (Synthetic Control Methods) 是由 Abadie 和 Gardeazabal (2003) 提出的一种政策效果评估方法,其基本思想是:将未实施某项政策的地区加权后合成为一个控制组,该控制组优于主观选定的控制组,可有效克服处理组和控制组之间存在的差异问题。
然后根据控制组的数据特征构建“反事实”,明确处理组和控制组在政策实施之前的相似程度,避免因对比地区差异过大而引起的误差。合成控制法能够克服在选取控制对象时出现的样本选择偏误以及政策内生性问题。关于合成控制法更多详细介绍,请参考连享会推文「合成控制法 (Synthetic Control Method) 及 Stata 实现」。
3. synth2 命令介绍
命令安装:
ssc install synth, replace
ssc install synth2, replace
命令语法:
synth2 depvar indepvars, trunit(#) trperiod(#) [options]
其中,depvar
是因变量;indepvars
是预测变量;trunit(#)
指定处理单元,且只能指定一个单元;trperiod(#)
指定干预开始的时期,必须是一个整数,且只能指定一个时间段。[options]
包括:
ctrlunit(numlist)
:指定潜在的控制单元,默认为数据集中的除处理单元以外的所有单元;preperiod(numlist)
:指定干预之前的时期,默认为从时间变量中可用的最早时间点到干预发生的时间点;postperiod(numlist)
:指定干预之后的时期,默认为从干预发生的时间点到时间变量中可用的最近的时间点;xperiod(numlist)
:指定将预测变量进行平均的期间,默认为干预开始之前的所有时期;mspeperiod(numlist)
:指定最小化均方预测误差的时期,默认为干预开始之前的所有时期;customV(numlist)
:提供自定义的 V 型权重,它决定了在预处理期间变量对结果的预测能力,默认为等权重;nested
:表示使用嵌套的数值方法寻找最优的合成控制 (推荐使用此选项),这比默认方法更费时间,但可能更精确;allopt
:在使用选项nested
时,如果再加上选项allopt
,则比单独使用nested
更费时间,但精确度可能更高;margin(real)
:违反容忍度,默认为 5%;maxiter(#)
:最大迭代次数,默认为 1000 次;sigf(#)
:精确度,默认为 7 位有效数字;bound(#)
:变量边界,默认为 10;placebo([{unit|unit(numlist)} period(numlist) cutoff(#_c)])
:指定要执行的安慰剂检验的类型,若不设定则默认不执行安慰剂检验;loo
:每次排除一个非零权重的控制单元的稳健性检验,迭代地重新估计模型,在每次迭代中省略一个单元,这种灵敏度检验可以评估每一个控制单元对结果的影响程度;frame(framename)
:创建 Stata 所需格式的数据文件,framename
为数据文件名,该数据文件包括反事实预测、干预效果、安慰剂检验和稳健性检验 (如果有) 的估计结果;nofigure
:不显示结果,若不设置则默认显示评估结果、安慰剂检验和稳健性检验的所有数据。
对于 placebo([{unit|unit(numlist)} period(numlist) cutoff(#_c)])
,参数定义如下:
{unit|unit(numlist)}
:指定使用预测变量中的假干预控制单元的安慰剂检验。unit
使用所有的除处理单元以外的所有单元,而unit(numlist)
使用指定的单元。这两个选项迭代地将干预重新分配给没有实际发生干预的控制单元,并计算干预效果的 值,一次只能输入一个选项。period(numlist)
:指定假干预时间进行安慰剂检验。这个选项将干预时间重新分配到干预前的时间段,而实际上没有干预。cutoff(#_c)
:指定临界值#_c
,若预处理假干预单元的 MSPE 比处理单元 MSPE 大#_c
倍,那么该假干预单元会被舍弃。其中#_c
必须是大于等于 1 的实数。此选项仅适用于unit
或unit(numlist)
已被指定。若不设定则默认不会舍弃单元
4. 加州控烟案例
4.1 案例背景
1988 年 11 月美国加州通过了当代美国最大规模的控烟法 (anti-tobacco legislation),并于 1989 年 1 月开始生效。该法将加州的香烟消费税 (cigarette excise tax) 提高了每包 25 美分,将所得收入专项用于控烟的教育与媒体宣传,并引发了一系列关于室内清洁空气的地方立法 (local clean indoor-air ordinances),比如在餐馆、封闭工作场所等禁烟。
Abadie 等 (2010) 根据美国 1970-2000 年的州际面板数据,采用合成控制法研究美国加州 1988 年第 99 号控烟法 (Proposition 99) 的政策效果。
4.2 复现结果
运用 synth2
命令重现推文「合成控制法 (Synthetic Control Method) 及 Stata实现」基于 synth
命令的结果。
. lxhuse smoking.dta, clear
. xtset state year
. synth2 cigsale lnincome age15to24 retprice beer cigsale(1975) ///
> cigsale(1980) cigsale(1988), trunit(3) trperiod(1989) ///
> xperiod(1980(1)1988) nested allopt
Covariate balance in the pretreatment periods:
--------------------------------------------------------------------------------
Covariate | V.weight Treated Synthetic Control Average Control
| Value Bias Value Bias
---------------+----------------------------------------------------------------
lnincome | 0.0001 10.0766 9.8606 -2.14% 9.8292 -2.45%
age15to24 | 0.0224 0.1735 0.1737 0.11% 0.1725 -0.59%
retprice | 0.0393 89.4222 89.5058 0.09% 87.2661 -2.41%
beer | 0.0906 24.2800 24.3016 0.09% 23.6553 -2.57%
cigsale(1975) | 0.4103 127.1000 127.1917 0.07% 136.9316 7.74%
cigsale(1980) | 0.4295 120.2000 120.3195 0.10% 138.0895 14.88%
cigsale(1988) | 0.0078 90.1000 91.4618 1.51% 113.8237 26.33%
--------------------------------------------------------------------------------
Optimal Unit Weights:
--------------------------
Unit | U.weight
-------------+------------
Utah | 0.3430
Nevada | 0.2410
Montana | 0.2170
Colorado | 0.1380
Connecticut | 0.0600
NewMexico | 0.0020
--------------------------
Prediction results in the posttreatment period:
-----------------------------------------------------------
Time | Actual Outcome Synthetic Outcome Treatment Effect
------+----------------------------------------------------
1989 | 82.4000 89.9295 -7.5295
1990 | 77.8000 87.4782 -9.6782
1991 | 68.7000 81.9647 -13.2647
1992 | 67.5000 81.5054 -14.0054
1993 | 63.4000 81.1015 -17.7015
1994 | 58.6000 80.6602 -22.0602
1995 | 56.4000 78.4686 -22.0686
1996 | 54.5000 77.4843 -22.9843
1997 | 53.8000 77.7789 -23.9789
1998 | 52.3000 74.3828 -22.0828
1999 | 47.2000 73.5300 -26.3300
2000 | 41.6000 67.2704 -25.6704
------+----------------------------------------------------
Mean | 60.3500 79.2962 -18.9462
-----------------------------------------------------------
可以看出,加州控烟法对于人均香烟消费量有很大的负效应,而且此效应随着时间推移而变大,且结果显著,在 1989-2000 年期间,加州的人均年香烟消费逐年减少。
4.3 安慰剂检验
. synth2 cigsale lnincome age15to24 retprice beer cigsale(1988) ///
> cigsale(1980) cigsale(1975), trunit(3) trperiod(1989) ///
> xperiod(1980(1)1988) nested placebo(unit cut(2)) sigf(6)
In-space placebo test results using fake treatment units:
-------------------------------------------------------------------------------
Unit | Pre MSPE Post MSPE Post/Pre MSPE Pre MSPE of Fake Unit/
| Pre MSPE of Treated Unit
---------------+---------------------------------------------------------------
California | 3.1467 391.6195 124.4523 1.0000
Alabama | 5.1122 6.8512 1.3402 1.6246
Arkansas | 4.5460 26.9649 5.9316 1.4447
...
WestVirginia | 8.6441 226.6917 26.2251 2.7470
Wisconsin | 2.7290 83.8542 30.7275 0.8672
Wyoming | 83.6674 76.4727 0.9140 26.5886
-------------------------------------------------------------------------------
----------------------------------------------------------------
Time | Treatment Effect p-value of Treatment Effect
| Two-sided Right-sided Left-sided
------+---------------------------------------------------------
1989 | -7.3838 0.0556 1.0000 0.0556
1990 | -9.4810 0.1111 0.9444 0.1111
1991 | -13.4270 0.1111 0.9444 0.1111
1992 | -13.9915 0.1111 0.9444 0.1111
1993 | -17.6858 0.0556 1.0000 0.0556
1994 | -22.0141 0.0556 1.0000 0.0556
1995 | -21.9226 0.0556 1.0000 0.0556
1996 | -22.8053 0.0556 1.0000 0.0556
1997 | -23.6909 0.0556 1.0000 0.0556
1998 | -21.8662 0.0556 1.0000 0.0556
1999 | -26.1870 0.0556 1.0000 0.0556
2000 | -25.6074 0.0556 1.0000 0.0556
----------------------------------------------------------------
在上图中,绿线表示加州的处理效应 (即加州与合成加州的人均香烟消费之差),而灰线表示其他 39 个控制州的安慰剂效应 (即这些州与其相应合成州的人均香烟消费之差)。显然,与其他州的安慰剂效应相比,加州的 (负) 处理效应显得特别大。假如加州的控烟法并无任何效应,则在这 39 个州中,碰巧看到加州的处理效应最大的概率仅为 1/39 = 0.0256,小于常用的显著性水平 0.05,故初步可知绿线处理效应的确是加州控烟的效果。
5. synth2 命令优点
综上所述,synth2
相比于 synth
:
直接进行安慰剂检验,可选三种检验方式,并且计算出 P-value 来比较安慰剂检验的效果; 直接进行稳健性检验和灵敏度检验,并输出结果; 便捷的可视化呈现估计结果、安慰剂检验和稳健性检验结果。
6. 参考资料
Abadie A, Gardeazabal J. The economic costs of conflict: A case study of the Basque Country[J]. American economic review, 2003, 93(1): 113-132. -PDF- Abadie A, Diamond A, Hainmueller J. Synthetic control methods for comparative case studies: Estimating the effect of California’s tobacco control program[J]. Journal of the American statistical Association, 2010, 105(490): 493-505. -PDF- McClelland R, Gault S. The synthetic control method as a tool to understand state policy[J]. Washington, DC: The Urban Institute, 2017. -PDF- Generalized Synthetic Control Method -Link-
7. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 合成控制, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:专题课程 ⏩ 因果推断专题-RDD-DID-IV-合成控制 专题:合成控制法 Stata:合成控制法的预测区间-scpi 合成控制法简介 Stata:纠偏合成控制法介绍-allsynth Synth_Runner命令:合成控制法高效实现 Stata:合成控制法程序分享 Stata:合成控制法-synth-命令无法加载-plugin-的解决办法 合成控制法 (Synthetic Control Method) 及 Stata实现 专题:答疑-板书 FAQs答疑-2021寒假-Stata高级班-Day3-连玉君-RDD-合成控制法
课程推荐:因果推断实用计量方法
主讲老师:邱嘉平教授
🍓 课程主页:https://gitee.com/lianxh/YGqjp
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。