【应用计量系列88】考虑空间溢出效应的DID

最近,我们“宏观经济研学会(CIMERS)”微信群里经常讨论一个问题:我们在做政策/处理效应评估时,要是地区之间存在效应溢出,怎么办?

IMG_6729.JPG

这个问题源自于处理效应识别中的一个经典假设:SUTVA——针对个体A实施的政策或者处理仅仅只影响A的结果。这意味着,来自于处理组对控制组的“外部性”、“溢出效应”都被排除掉了。

正如上述群讨论的内容,Butts有多篇文章专门讨论了空间溢出效应存在时的处理效应识别,大家可以去好好看看,更为重要的是他有一篇文章还可以同时应对异质性处理效应。

当前也有一些大家熟知的stata命令可以在某些方面应对空间溢出效应的政策评估问题,例如,Clarke(2017)就提出过一种方法,并给出了stata包cdifdif,有兴趣可以去看看。

今天,我们给大家推荐另一种方法:Giovanni Cerulli(2017)提出的一种方法可以应对相邻个体/地区之间相互影响时的处理效应识别方法。

现有的相关研究主要假设:

  • (1)个体潜在结果依赖于自身处理和其它个体的处理;
  • (2)处理配置是随机的,或者条件独立;
  • (3)处理是多值型的;
  • (4)潜在结果具有非参数形式。

Giovanni Cerulli(2017)的识别方法假设:

  • (1)个体潜在结果依赖于自身处理和其它个体的潜在结果;
  • (2)处理配置是均值条件独立;
  • (3)处理事二值型的;
  • (4)潜在结果具有参数形式。

一、stata命令

安装stata包ntreatreg:

ssc install ntreatreg,replace

安装完成后,大家可以help一下该命令,看看命令及其选项的含义和用法。该命令的格式:

ntreatreg outcome treatment [varlist] [if] [in] [weight], 
spill(matrix) 
[hetero(varlist_h) conf(#) graphic save_graph(filename) vce(robust)
const(noconstant) head(noheader) beta]

二、例子:住房位置对犯罪的影响

我们使用Anselin, L.(1988)的数据——研究1980年美国俄亥俄州49个相邻街区的房屋对犯罪的影响。其中,指标cp是处理变量——如果邻居位于城市的中心地段,cp=1,否则为0,犯罪变量crime是每欠人入室盗窃和汽车盗窃案数量。还有其他一些协变量:家庭收入inc,房屋价值hoval。

* 加载数据
use "/Users/xuwenli/Downloads/spatial_columbus.dta"

global y "crime"
global w "cp"
global xvars "inc hoval"
global hvars "inc hoval"
global dvars "x y"

* 处理缺失数据
* 消除共同的缺失值
quietly regress $y $w $xvars $hvars $dvars

* 保留没有缺失值的样本
keep if e(sample)

* 处理归类
gsort - $w
global N = r(N)
count if $w==1
global N1 = r(N)
global N0 = $N-$N1

在使用ntreatreg之前,要先生成权重矩阵omega:

* 用mkomega命令来生成权重矩阵
mkomega $w $dvars, sim_measure(L2) out($y)
matrix omega=r(M)

使用ntreatreg来估计处理效应,并进行推断:

ntreatreg $y $w $xvars, hetero($hvars) spill(omega) graphic
image.png
* 储存估计结果,将ATE转换成标量,重命名变量
estimates store REG_peer
scalar ate_neigh = _b[$w]
rename ATE_x _ATE_x_spill
rename ATET_x _ATET_x_spill
rename ATENT_x _ATENT_x_spill
display ate_neigh

检验邻居溢出效应的系数是否联合为0:

* 如果接受原假设Ho: gamma*beta0=0, 邻居效应忽略不计

test _z_inc = _z_hoval = 0

image.png

上述结果显示,我们不能拒绝原假设,也就是说,存在邻居溢出效应。那么,为了得到没有邻居溢出效应的ATE,我们可以使用Giovanni Cerulli提出的另一个ivtreatreg命令来实现:

ivtreatreg $y $w $xvars, hetero($hvars) model(cf-ols)
image.png
* 储存结果
estimates store REG_no_peer
scalar ate_no_neigh = _b[$w]

最后,可以计算邻居相互影响的偏误程度:

* Bias in level
scalar bias= ate_no_neigh - ate_neigh
* Bias in percentage
scalar bias_perc=(bias/ate_no_neigh)*100
display bias_perc

注:(1)相关讲稿、Slides和stata do文件在许文立老师的github及其主页上公布。
(2)平行趋势的相关stata应用,请《量化社会科学讲习班》的学员注意后续线上讲座通知。
(3)更多计量和stata内容,请参见经验分析方法及Stata命令汇总
71、【应用计量系列71】断点回归(1):概述
72、【应用计量系列72】断点回归(2):丝滑世界里找“跳跃”
73、【应用计量系列73】交叠DID估计量 :stata包csdid升级版
74、【应用计量系列74】控制组群固定效应还是个体固定效应?
75、【应用计量系列75】合成控制法的新推断框架和stata应用
76、【应用计量系列76】平行趋势的秘密(一):平行趋势假设的类型
77、【应用计量系列77】平行趋势的秘密(二):明知不可为而为之
78、【应用计量系列78】断点回归(3):分离不分家
79、【应用计量系列79】平行趋势的秘密(三):如何给平行趋势假设提供经验证据?

80、【香樟推文2663】破产改革的经济后果
81、【应用计量系列81】平行趋势的秘密(四):如何给平行趋势假设提供经验证据?
82、【应用计量系列82】因果推断中的纠偏机器学习方法(DDML)
83、【应用计量系列83】还在取log(Y)?
84、【应用计量系列84】断点回归(4):最新进展
85、【应用计量系列85】DID最新文献:共同相关效应DID(CCE-DID)
86、【应用计量系列86】新DID的Stata包升级版csdid2
87、【应用计量系列87】断点回归的实践指南:扩展(2023年版)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容