Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:巴宁 (北京理工大学管理与经济学院)
邮箱: baningchina@163.com
目录
在对污染排放、疾病传播、房价涨跌、区域犯罪率等研究中,个体之间的空间相关性逐渐引起学者们的关注。以空气污染为例,由于大气的流动性,污染较为严重的地区会对其邻近地区的空气质量造成影响;相反,某地积极有效地实行减排措施,也可能被邻近地区效仿学习,进而实现区域环境优化。
在同时考虑上述空间相关性和内生性问题的基础上,空间双重差分模型 (Spatial Difference in Difference Model,SDID) 应运而生。该模型主要用于评估变量间存在空间依赖性的政策冲击效果。
首先,我们来简单回顾一下双重差分模型 (DID)。
其中,
基准的空间计量模型及其变式如下图所示:
借鉴 Diao 等 (2017),空间双重差分模型的核心是将时间和政策的交互项引入上图所示的模型中。以使用较为广泛的 SLX 模型为例 (上图中序号 4),推导自变量空间滞后模型 (SLX-DID):
其中,
在此基础上,进一步加入被解释变量的空间滞后项
其中,
在基准的 DID 模型中,需要满足一个重要的条件:个体处理效应稳定性假设 (Stable Unit Treatment Value Assumption,SUTVA),即政策干预只影响处理组,不会对控制组产生交互影响,或者说政策干预不会产生外溢效应。显然,SDID 模型在考虑到空间相关性和空间溢出效应时,SUTVA 被打破 (Kolak 和 Anselin,2020)。
当然,SUTVA 假定在现实经济中大都难以满足,通常需要加以条件来放宽对 SUTVA 假设的限制 (Rubin,1980)。第一个条件为处理组受到的政策干预是完全相同的,且不能与控制组存在不同差异的冲击。例如,当处理组城市执行严格的环保政策,关停所有重污染企业,而控制组只关停部分重污染企业,此时政策的处理效应被 “混淆”,不满足第一个条件。
第二个条件是处理组和控制组之间应该不存在相互干扰。例如,除你之外所有人都注射了新冠疫苗,此时你是否注射疫苗对于病毒传染影响不大;相反,当仅有你注射了新冠疫苗的情况下,此时你是否注射疫苗对于你被感染的概率影响巨大。
相比于基准的 DID 模型中,SDID 模型通过对空间溢出效应的考察,有效弥补了政策施行对控制组的作用力度和作用方向观测不足的缺陷。第一,政策溢出效应会随空间关系的减弱而衰减,这一关系的考察与空间权重矩阵的选择紧密相关。
第二,溢出效应可能有正有负。例如某地施行严格的环境管制政策,当地的重污染企业可能因此搬离至未受到环境管制的 “相邻” 地区,导致这些地区的环境污染更加严重。这也是空间计量模型最大的特征之一:解除了各样本之间的相互独立假设。
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]
:可指定附加选择,包括随机效应 (默认) 和固定效应,以及 dlag
、noeffects
、hausman
等选项,更多选项可通过 help xsmle
来查看。接下来,我们将通过 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 个变量,主要变量的含义如下:
为保证政策实施的随机性,本文假设在 1980 年后,"ALABAMA,ARIZONA,ARKANSAS,CALIFORNIA..." 等字母排序前 20 名的州开始施行 Q 政策 (完全虚构),其他地区未实施,采用 SDID 模型检验该项政策的净效应以及空间溢出效应。
首先,进行基本设定:
. 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)。
. *双重差分空间自回归模型 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 政策的实施对州产出的影响依然为负,但十分显著。
进行平行趋势检验是证明 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*、current、post* 进行回归,回归系数反映的就是 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 政策是完全虚构的,施行政策的州也是完全随机选择的。
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