楼主: 江河1703
9662 10

合成控制法安慰剂检验 [推广有奖]

  • 0关注
  • 32粉丝

博士生

33%

还不是VIP/贵宾

-

威望
0
论坛币
11021 个
通用积分
73.9023
学术水平
36 点
热心指数
38 点
信用等级
36 点
经验
7596 点
帖子
81
精华
0
在线时间
369 小时
注册时间
2019-1-12
最后登录
2024-10-5

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

之前给大家推送了合成控制法(SCM)的Stata操作,但是那篇推送里安慰剂检验被我简化了,做的结果其实不是那么好。这次还是借加州控烟案例给大家介绍合成控制法安慰剂检验的内容,就这么一个安慰剂检验的代码还有人在经管之家上卖四五十块。合成控制法估计处理效应的操作我就不再介绍,大家可以看之前“[color=var(--weui-LINK)]从加州控烟案例学会合成控制法的Stata操作”这篇推文(我的公众号【功夫计量经济学】)。

首先还是提一句什么是安慰剂检验?为什么要做安慰剂检验?这是网上和论文中都使用的一个标准定义:“安慰剂”(placebo)一词来自医学上的随机实验,比如要检验某种新药的疗效。此时,可将参加实验的人群随机分为两组,其中一组为实验组,服用真药;而另一组为控制组,服用安慰剂(比如,无用的糖丸),并且不让参与者知道自己服用的究竟是真药还是安慰剂,以避免由于主观心理作用而影响实验效果,称为“安慰剂效应”(placebo effect)。具体到我们加州控烟法的案例,我们想知道的是,使用合成控制法所估计的控烟效应,是否完全由偶然因素所驱动?换言之,如果从控制地区中随机抽取一个州(不是加州)进行合成控制估计,能否得到类似的效应?

学界常用的方法是Abadie et al. (2010) 在加州控烟这篇论文中提出的一种类似于统计中秩检验的排序检验方法,用来判断是否还有其他地区出现和加州同样的情况, 概率有多大。这一检验的思想是假设所有控制组的州在1989年开始实施控烟法, 使用合成控制法构造相应州的合成控制对象, 估计在假设情况下的政策效果,然后比较加州实际产生的政策效果和控制组的州假设情况下产生的政策效果。如果两者的政策效果差距足够大, 那么我们就有理由相信控烟法的政策效果是显著的。

这一方法要求在政策实施前各州的合成控制对象具有良好的拟合效果, 如果一个州1989年前的拟合效果不理想, 即MSPE(均方预测误差)或者RMSPE(均方预测误差的平方根)值比较大, 即使政策后期得到的较大的预测变量差值也不能反映该政策的实施效果。因此, 当一个州的合成控制对象在政策实施前的拟合效果不好时, 我们就需要对其进行剔除。这么做的理由是, 如果合成控制对象没能拟合好实施控烟法前的预测变量值, 最后得到的预测变量差值很可能是拟合效果不好所导致的, 与控烟法无关。

Abadie et al. (2010)在文中分别剔除了1989年之前MSPE值超过加州MSPE值20倍、5倍和2倍的州。在这里,我就以剔除20倍为例,STATA提供的是RMSPE值(MSPE的平方根)。通过计算,我们可以发现1989年之前MSPE值超过加州MSPE值20倍的有Delaware、Kentucky、New Hampshire、North Carolina、Rhode Island、Utah、Vermont、Wyoming这8个州。

  1. use smoking,clear
  2. xtset state year

  3. **对每一个州进行合成控制估计
  4. tempname resmat
  5.   forval i=1/39{
  6.   qui synth cigsale retprice lnincome age15to24 beer cigsale(1975) cigsale(1980) cigsale(1988),trunit(`i') trperiod(1989) xperiod(1980(1) 1988) keep(smoking_synth_`i',replace)
  7.   matrix `resmat' = nullmat(`resmat') \ e(RMSPE) //矩阵用来存放每个州进行合成控制的rmspe值
  8.   local names `"`names' `"`i'"'"'
  9.   }
  10.   mat colnames `resmat' = "RMSPE" //矩阵的列名定义为RMSPE
  11.   mat rownames `resmat' = `names' //矩阵的行名为names
  12.   matlist `resmat' , row("Treated Unit")


  13. forval i=1/39{
  14. use smoking_synth_`i', clear
  15. rename _time years
  16. gen tr_effect_`i' = _Y_treated - _Y_synthetic
  17. keep years tr_effect_`i'
  18. drop if missing(years)
  19. save smoking_synth_`i', replace
  20. }

  21. **匹配到一张表
  22. use smoking_synth_1, clear
  23. forval i=2/39{
  24. qui merge 1:1 years using smoking_synth_`i', nogenerate
  25. }


  26. **删除拟合不好的州
  27. drop tr_effect_6  //删除Delaware
  28. drop tr_effect_13 //删除Kentucky
  29. drop tr_effect_22 //删除New Hampshire
  30. drop tr_effect_24 //删除North Carolina
  31. drop tr_effect_29 //删除Rhode Island
  32. drop tr_effect_34 //删除Utah
  33. drop tr_effect_35 //删除Vermont
  34. drop tr_effect_39 //删除Wyoming


  35. **处理效应图
  36. local lp1
  37. forval i=1/2 {
  38.    local lp1 `lp1' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  39. }
  40. local lp2
  41. forval i=4/5 {
  42.    local lp2 `lp2' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  43. }
  44. local lp3
  45. forval i=7/12 {
  46.    local lp2 `lp2' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  47. }
  48. local lp4
  49. forval i=23/23 {
  50.    local lp2 `lp2' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  51. }
  52. local lp5
  53. forval i=25/28 {
  54.    local lp2 `lp2' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  55. }
  56. local lp6
  57. forval i=30/33 {
  58.    local lp2 `lp2' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  59. }
  60. local lp7
  61. forval i=36/38 {
  62.    local lp2 `lp2' line tr_effect_`i' years, lpattern(dash) lcolor(gs8) ||
  63. }
  64. twoway `lp1' `lp2' `lp3' `lp4' `lp5' `lp6' `lp7'|| line tr_effect_3 years, ///
  65. lcolor(black) legend(off) xline(1989, lpattern(dash)) yline(0,lp(dash))
复制代码

RMSPE.png

01.png

在上图中,实线表示加州的处理效应(即加州与合成加州的人均香烟消费之差),而虚线表示MSPE值低于加州MSPE值20倍的30个控制州的安慰剂效应(即这些州与其相应合成州的人均香烟消费之差)。显然,与其他州的安慰剂效应相比,1989年后加州的(负)处理效应显得特别大。但是在这个图中,仍然有几条线与1989年控烟法案前的零差距线有很大的偏离。所以,接下来还需要使用更加严格的标准剔除MSPE值偏大的州,就请大家自己探索吧!需要本篇推文的数据和Stata代码的朋友,请在微信公众号【功夫计量经济学】后台回复“安慰剂”。


参考资料:

[1]Abadie, A., A.Diamond, and J.Hainmueller.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.

[2]刘友金,曾小明.房产税对产业转移的影响:来自重庆和上海的经验证据[J].中国工业经济,2018(11):98-116.

[3]赵西亮.基本有用的计量经济学[M].北京:北京大学出版社,2017.


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 鼓励积极发帖讨论

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
Sunny_22 发表于 2020-7-17 12:58:12 |只看作者 |坛友微信交流群
请问安慰剂检验2中,如何获得干预后的RMSP,感谢楼主。

使用道具

藤椅
lll199706027344 发表于 2020-12-25 13:07:24 |只看作者 |坛友微信交流群
Sunny_22 发表于 2020-7-17 12:58
请问安慰剂检验2中,如何获得干预后的RMSP,感谢楼主。
同学 你的问题解决了吗

使用道具

板凳
lll199706027344 发表于 2020-12-25 16:33:03 |只看作者 |坛友微信交流群
处理效果图后面就没看懂了,怎么办

使用道具

请问如何获得干预前、干预后的RMSP,感谢楼主

使用道具

请问mspe筛选值可以小于1么

使用道具

7
镜子儿 发表于 2021-9-6 21:11:42 |只看作者 |坛友微信交流群
lll199706027344 发表于 2020-12-25 13:07
同学 你的问题解决了吗
请问您的问题解决了吗?同问?

使用道具

8
shoudao 发表于 2022-3-14 15:55:38 |只看作者 |坛友微信交流群
lll199706027344 发表于 2021-1-8 21:09
请问如何获得干预前、干预后的RMSP,感谢楼主
请问解答了吗?

使用道具

9
dge136309 学生认证  发表于 2022-5-28 15:52:31 |只看作者 |坛友微信交流群
shoudao 发表于 2022-3-14 15:55
请问解答了吗?
同问!

使用道具

10
songking 发表于 2023-5-23 08:11:05 |只看作者 |坛友微信交流群
我看到你算出来的RMSPE超过20倍的州只有一个呀?怎么你写的时候删除了8个呢?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-10-6 22:15