Stata:空间双重差分模型(Spatial DID)-xsmle

发布时间:2022-01-03 阅读 11698

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下载 - 推文合集

作者:巴宁 (北京理工大学管理与经济学院)
邮箱: baningchina@163.com


目录


1. 模型提出

在对污染排放、疾病传播、房价涨跌、区域犯罪率等研究中,个体之间的空间相关性逐渐引起学者们的关注。以空气污染为例,由于大气的流动性,污染较为严重的地区会对其邻近地区的空气质量造成影响;相反,某地积极有效地实行减排措施,也可能被邻近地区效仿学习,进而实现区域环境优化。

在同时考虑上述空间相关性和内生性问题的基础上,空间双重差分模型 (Spatial Difference in Difference Model,SDID) 应运而生。该模型主要用于评估变量间存在空间依赖性的政策冲击效果。

2. 模型设定

首先,我们来简单回顾一下双重差分模型 (DID)。

其中,

PosttTreati 为分组虚拟变量与政策实施虚拟变量的交互项,其系数 β3 反映了政策实施的净效应。

基准的空间计量模型及其变式如下图所示:

 图片来源:Golgher 和 Voss (2016)
图片来源:Golgher 和 Voss (2016)

借鉴 Diao 等 (2017),空间双重差分模型的核心是将时间和政策的交互项引入上图所示的模型中。以使用较为广泛的 SLX 模型为例 (上图中序号 4),推导自变量空间滞后模型 (SLX-DID):

其中,WXγi 为解释变量的空间滞后项。将交互项提取后得到第二个公式,β3 测度的是直接效应,γ3 测度的是间接效应。此时等式右侧并不包含被解释变量 Y 的空间滞后项,故模型可以视为普通的线性模型。

在此基础上,进一步加入被解释变量的空间滞后项 ρWY,即可得到空间杜宾-差分模型 (SDM-DID)。例如,Ruining 等 (2021) 在研究高铁开通对二氧化碳排放的影响时,其核心模型为:

其中,CEit 表示二氧化碳排放量;HSRSIit 是核心解释变量,表示高铁开通的交互项;Xit 表示其他控制变量;μiυtεit 分别表示地区固定效应、时间固定效应和残差项。

3. 模型比较

在基准的 DID 模型中,需要满足一个重要的条件:个体处理效应稳定性假设 (Stable Unit Treatment Value Assumption,SUTVA),即政策干预只影响处理组,不会对控制组产生交互影响,或者说政策干预不会产生外溢效应。显然,SDID 模型在考虑到空间相关性和空间溢出效应时,SUTVA 被打破 (Kolak 和 Anselin,2020)。

当然,SUTVA 假定在现实经济中大都难以满足,通常需要加以条件来放宽对 SUTVA 假设的限制 (Rubin,1980)。第一个条件为处理组受到的政策干预是完全相同的,且不能与控制组存在不同差异的冲击。例如,当处理组城市执行严格的环保政策,关停所有重污染企业,而控制组只关停部分重污染企业,此时政策的处理效应被 “混淆”,不满足第一个条件。

第二个条件是处理组和控制组之间应该不存在相互干扰。例如,除你之外所有人都注射了新冠疫苗,此时你是否注射疫苗对于病毒传染影响不大;相反,当仅有你注射了新冠疫苗的情况下,此时你是否注射疫苗对于你被感染的概率影响巨大。

相比于基准的 DID 模型中,SDID 模型通过对空间溢出效应的考察,有效弥补了政策施行对控制组的作用力度和作用方向观测不足的缺陷。第一,政策溢出效应会随空间关系的减弱而衰减,这一关系的考察与空间权重矩阵的选择紧密相关。

第二,溢出效应可能有正有负。例如某地施行严格的环境管制政策,当地的重污染企业可能因此搬离至未受到环境管制的 “相邻” 地区,导致这些地区的环境污染更加严重。这也是空间计量模型最大的特征之一:解除了各样本之间的相互独立假设。

4. Stata 实现

4.1 命令介绍

SDID 模型主要依赖空间计量模型的命令 xsmle。该命令由 Federico Belotti、Gordon Hughes 和 Andrea Piano Mortari 等学者编写。

*命令安装
cnssc install xsmle, replace
*语法命令
Spatial Autoregressive (SAR) model
	xsmle depvar [indepvars] [if] [in] [weight] , wmat(name) model(sar) [SAR_options]
Spatial Durbin (SDM) model
	xsmle depvar [indepvars] [if] [in] [weight] , wmat(name) model(sdm) [SDM_options]
Spatial Autocorrelation (SAC) model
	xsmle depvar [indepvars] [if] [in] [weight] , wmat(name) emat(name) model(sac) [SAC_options]
Spatial Error (SEM) model
	xsmle depvar [indepvars] [if] [in] [weight] , emat(name) model(sem) [SEM_options]

其中,

  • depvar:被解释变量;
  • wmat(name):指定回归使用的矩阵;
  • emat(name):指定空间误差项使用的权重矩阵,默认是使用 wmat()矩阵;
  • model():指定模型类型;
  • [model options]:可指定附加选择,包括随机效应 (默认) 和固定效应,以及 dlagnoeffectshausman 等选项,更多选项可通过 help xsmle 来查看。

4.2 具体案例

接下来,我们将通过 xsmle 命令的示范数据,来演示 SDID 模型。

. lxhget xsmle_example.zip, replace
. unzipfile xsmle_example.zip, replace
. use ./xsmle_example/product.dta, clear
. spmat use usaww using ./xsmle_example/usaww.spmat // 导入空间权重矩阵

该数据包含美国 48 个州 1970-1986 年的制造业面板数据,共计 816 条数据,12 个变量,主要变量的含义如下:

  • gsp:州生产总值 (gross state product);
  • pcap:公共资本 (public captial);
  • pc:民营资本 (private captial);
  • emp:就业人口数量 (employment);
  • unemp:失业率 (unemployment rate)。

为保证政策实施的随机性,本文假设在 1980 年后,"ALABAMA,ARIZONA,ARKANSAS,CALIFORNIA..." 等字母排序前 20 名的州开始施行 Q 政策 (完全虚构),其他地区未实施,采用 SDID 模型检验该项政策的净效应以及空间溢出效应。

4.2.1 传统 DID 模型回归结果

首先,进行基本设定:

. xtset state year  // 设定面板数据
. gen treated=0     // 生成地区虚拟变量
. replace treated=1 in 1/340 // 前20州*17年
. gen time=0                 // 生成时间虚拟变量
. replace time=1 if year>=1980 & year <=1986
. gen sdid=time*treated      // 生成交互项

检验基准回归结果:

. foreach var of varlist gsp pcap pc emp{
  2.    gen ln`var' = log(`var')
  3. }
. xtreg lngsp sdid lnpcap lnpc lnemp i.year i.state, cluster(state)
. est store DID

Random-effects GLS regression                   Number of obs     =        816
Group variable: state                           Number of groups  =         48
R-squared:                                      Obs per group:
     Within  = 0.9533                                         min =         17
     Between = 1.0000                                         avg =       17.0
     Overall = 0.9990                                         max =         17
                                                Wald chi2(20)     =          .
corr(u_i, X) = 0 (assumed)                      Prob > chi2       =          .
                                    (Std. err. adjusted for 48 clusters in state)
---------------------------------------------------------------------------------
                |               Robust
          lngsp | Coefficient  std. err.      z    P>|z|     [95% conf. interval]
----------------+----------------------------------------------------------------
           sdid |     -0.015      0.014    -1.04   0.296       -0.043       0.013
         lnpcap |     -0.067      0.051    -1.31   0.192       -0.167       0.034
           lnpc |      0.164      0.090     1.82   0.068       -0.012       0.340
          lnemp |      0.816      0.068    11.95   0.000        0.682       0.949
          _cons |      3.576      0.746     4.79   0.000        2.113       5.039
----------------+----------------------------------------------------------------
        sigma_u |          0
        sigma_e |   .0343973
            rho |          0   (fraction of variance due to u_i)
---------------------------------------------------------------------------------

由结果可见,在传统 DID 模型下,Q 政策的施行对州产值有负效应 (-0.015),但并不显著 (p = 0.296)。

4.2.2 空间 DID 模型回归结果

. *双重差分空间自回归模型 SARDID,默认随机效应
. xsmle lngsp sdid lnpcap lnpc lnemp, wmat(usaww) model(sar)
. est store SARDID

. *双重差分空间杜宾模型SDMDID,默认随机效应
. xsmle lngsp sdid lnpcap lnpc lnemp, wmat(usaww) model(sdm) durbin(sdid) 
. est store SDMDID

. *双重差分空间自相关模型,使用固定效应
. xsmle lngsp sdid lnpcap lnpc lnemp, wmat(usaww) emat(usaww) model(sac) fe
. est store SACDID

. *双重差分空间误差模型 SEMDID,默认随机效应
. xsmle lngsp sdid lnpcap lnpc lnemp, emat(usaww) model(sem)
. est store SEMDID

将以上回归结果整理并和 4.2.1 小节中的结果进行比较:

. estimates table DID SARDID SDMDID SACDID SEMDID, b(%7.3f) star(0.1 0.05 0.01)

-------------------------------------------------------------------------------
    Variable |    DID         SARDID       SDMDID       SACDID       SEMDID    
-------------+-----------------------------------------------------------------                                              
Main         |
        sdid |   -0.015     -0.015***    -0.016***    -0.016***    -0.016***  
      lnpcap |   -0.067     -0.064***    -0.063**     -0.026        0.025     
        lnpc |   0.164*      0.168***     0.153***     0.180***     0.231***  
       lnemp |   0.816***    0.737***     0.738***     0.784***     0.766***  
       _cons |   3.576***    2.059***     2.175***                  2.481***  
-------------+-----------------------------------------------------------------
Spatial      |
         rho |                0.205***     0.208***     0.083***               
      lambda |                                          0.501***     0.577***  
-------------+-----------------------------------------------------------------
Wx           |
        sdid |                             0.014*                              
-------------+-----------------------------------------------------------------
                                            Legend: * p<.1; ** p<.05; *** p<.01

其中,

  • Main 中的 sdid 则表示政策对其所在地区的影响;
  • rho 表示周边地区因变量发展对本地区空间溢出效应;
  • WX 中的 sdid 表示政策冲击带来的空间溢出效应。

由结果可见,对比第一列传统 DID 模型,在考虑空间溢出效应后,Q 政策的实施对州产出的影响依然为负,但十分显著。

4.2.3 SDID 模型有效性检验

进行平行趋势检验是证明 DID 模型有效性的重要步骤,由于本文的政策完全虚构且随机,以下步骤和代码仅供参考,不具有实际意义。

首先,以政策实施年份 (1980 年) 为中心生成一个时间值 event_year,用各期时间减去 1980,为了使得最后的图更加美观,使得政策前后期数相同,对政策实施前的年份进行一个简单的缩尾处理:

. gen event_year = 1980
. gen event = year - event_year
. replace event = -7 if event < -7 // 政策前的年份比较多,为了美观进行一个简单的缩尾工作

然后生成政策前后历年的虚拟变量:

. forvalues i=7(-1)1{
  2.   gen pre`i' = 0
  3.   replace pre`i' = 1  if  event == -`i' & treated == 1
  4. }
. gen current = 0
. replace current = 1  if  event == 0 & treated == 1
. forvalues i=1(1)6{
  2.   gen post`i' = 0
  3.   replace post`i' = 1  if  event == `i' & treated == 1
  4. }
. drop pre7       // 丢掉第一期作为基准组 (避免共线性的问题)

使用州产出对政策前后各期的虚拟变量 pre*currentpost* 进行回归,回归系数反映的就是 Q 政策在不同时期的效应。最后,借助 coefplot 命令进一步的观察图形,呈现 Q 政策时点前后各期州产出的系数变化:

reghdfe lngsp pre* current post* lnpcap lnpc lnemp, absorb(year state) vce(cluster state)
coefplot, baselevels keep(pre* current post*) vertical ///转置图形
	coeflabels(pre6=-6 pre5=-5 pre4=-4 pre3=-3 pre2=-2 pre1=-1 ///
	current=0 post1=1 post2=2 post3=3 post4=4 post5=5 post6=6) ///
	yline(0,lwidth(vthin) lpattern(solid) lcolor(teal)) ///
	xline(7,lwidth(vthin) lpattern(solid) lcolor(teal)) ///
	ytitle("GSP") msymbol(O) msize(small) mcolor(gs1)   /// plot样式
	addplot(line @b @at,lcolor(gs1) lwidth(medthick))   /// 增加点之间的连线
	ciopts(recast(rline) lwidth(thin) lpattern(dash) lcolor(gs2)) ///置信区间样式
	graphregion(color(white)) //白底

通过图可以直观的发现,在 Q 政策之前,各期的估计系数均显著异于 0,表明本文的控制组和对照组在政策之前就已经存在显著差异,即无法满足平行趋势假定。当然,这主要是由于本文的 Q 政策是完全虚构的,施行政策的州也是完全随机选择的。

5. 参考资料

  • Diao, M., Leonard, D., & Sing, T. F. (2017). Spatial-difference-in-differences models for impact of new mass rapid transit line on private housing values. Regional Science and Urban Economics, 67, 64–77. -PDF-
  • Golgher, A. B., & Voss, P. R. (2016). How to Interpret the Coefficients of Spatial Models: Spillovers, Direct and Indirect Effects. Spatial Demography, 4(3), 175–205. -PDF-
  • Jia, R., Shao, S., & Yang, L. (2021). High-speed rail and CO2 emissions in urban China: A spatial difference-in-differences approach. Energy Economics, 99, 105271. -PDF-
  • Kolak, M., & Anselin, L. (2020). A Spatial Perspective on the Econometrics of Program Evaluation. International Regional Science Review, 43, 128–153. -PDF-
  • Rubin, D. B. (1980). Discussion of “Randomization Analysis of Experimental Data in the Fisher Randomization Test” by D. Basu. Journal of the American Statistical Association, 75(371), 591–593. -PDF-
  • Ruining Jia, Shuai Shao, & Lili Yang (2021). High-speed rail and CO2 emissions in urban China: A spatial difference-in-differences approach Energy Economics, 99, 105271. -PDF-

6. 相关推文

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