Stata:合成控制法介绍-synth2

发布时间:2022-12-24 阅读 1786

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:陈少廷 (中山大学)
邮箱chensht39@mail2.sysu.edu.cn


目录


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) 使用指定的单元。这两个选项迭代地将干预重新分配给没有实际发生干预的控制单元,并计算干预效果的 p 值,一次只能输入一个选项。
  • period(numlist):指定假干预时间进行安慰剂检验。这个选项将干预时间重新分配到干预前的时间段,而实际上没有干预。
  • cutoff(#_c):指定临界值 #_c,若预处理假干预单元的 MSPE 比处理单元 MSPE 大 #_c 倍,那么该假干预单元会被舍弃。其中 #_c 必须是大于等于 1 的实数。此选项仅适用于 unitunit(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,故初步可知绿线处理效应的确是加州控烟的效果。

条形图安慰剂检验结果
条形图安慰剂检验结果
两侧 p 值
两侧 p 值
右侧 p 值结果
右侧 p 值结果
左侧 p 值结果
左侧 p 值结果

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

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh