Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:陈少廷 (中山大学)
邮箱:chensht39@mail2.sysu.edu.cn
目录
经济学家经常要评估某政策或事件的效应。最简单的方法是对比政策实施前后结果的变化 (outcome of interest)。但此结果可能还受其原有变化趋势的影响,或其他同时发生的混淆性事件 (confounder) 的作用。
为避免这种情况带来的误差,经济学家常使用鲁宾的反事实框架 (Rubin's counterfactual framework),即假想该地区未受政策干预会怎样,并与事实上受到干预的实际数据进行对比。为此,Abadie 和 Gardeazabal (2003) 提出了合成控制法 (Synthetic Control Method)。
本文主要介绍合成控制法的基本原理和实现命令 synth2
。
合成控制法 (Synthetic Control Methods) 是由 Abadie 和 Gardeazabal (2003) 提出的一种政策效果评估方法,其基本思想是:将未实施某项政策的地区加权后合成为一个控制组,该控制组优于主观选定的控制组,可有效克服处理组和控制组之间存在的差异问题。
然后根据控制组的数据特征构建“反事实”,明确处理组和控制组在政策实施之前的相似程度,避免因对比地区差异过大而引起的误差。合成控制法能够克服在选取控制对象时出现的样本选择偏误以及政策内生性问题。关于合成控制法更多详细介绍,请参考连享会推文「合成控制法 (Synthetic Control Method) 及 Stata 实现」。
命令安装:
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)
已被指定。若不设定则默认不会舍弃单元
1988 年 11 月美国加州通过了当代美国最大规模的控烟法 (anti-tobacco legislation),并于 1989 年 1 月开始生效。该法将加州的香烟消费税 (cigarette excise tax) 提高了每包 25 美分,将所得收入专项用于控烟的教育与媒体宣传,并引发了一系列关于室内清洁空气的地方立法 (local clean indoor-air ordinances),比如在餐馆、封闭工作场所等禁烟。
Abadie 等 (2010) 根据美国 1970-2000 年的州际面板数据,采用合成控制法研究美国加州 1988 年第 99 号控烟法 (Proposition 99) 的政策效果。
运用 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 年期间,加州的人均年香烟消费逐年减少。
. 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,故初步可知绿线处理效应的确是加州控烟的效果。
综上所述,synth2
相比于 synth
:
Note:产生如下推文列表的 Stata 命令为:
lianxh 合成控制, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh