Stata:空间DID操作及应用手册(数据、代码)
一、空间DID模型简介
在传统双重差分模型基础上,充分考虑空间多重共线性的规避需求,构造了双重差分空间回归模型。
上述公式简介:
1、ρ表示SAR、SEM、SEM模型的空间自回归系数,即被解释变量的系数
2、Yit表示被解释变量
3、Xit,k表示相关解释变量,即表示影响Y的第k个解释变量
4、β0表示常数项
5、W表示生成的空间权重矩阵
6、Dit为组合的虚拟变量,即需要估计的参数。空间DID模型主要在原始空间计量回归模型基础上加入虚拟变量,例如Di表示分组变量,若个体i受政策实施的影响,则个体Di=1,表示属于处理组,对应的Di取值为1;若个体i不受政策实施的影响,则个体Di=0;另外再加上政策实施虚拟变量,政策实施之前取值为0,政策实施之后取值为1。另外Dit表示生成分组虚拟变量与政策实施虚拟变量的交互项。
二、操作应用简介
空间面板主要命令为:help xsmle
help xsmle
net install xsmle,all from ()
Requirements:Stata Version 10Data must be tsset or xtset
相关操作案例代码为:
# 计量经济学服务中心空间计量课程cd E:\stata\data //设置工作路径,调用数据use product.dta, clear
该数据为包含美国48个州的如下变量,gsp州产出,pcap公共资本,pc民营资本,emp就业量,unemp失业率。
Gsp州产出 (gross state product)
pcap公共资本(public captial)
pc民营资本(private captial)
emp就业量(employment)
unemp失业率(unemployment rate)
由于产出、资本和就业量存在指数增长趋势,故需要对这些变量取对数
相关操作案例代码为:
# 计量经济学服务中心空间计量课程gen lngsp = log(gsp)
gen lnpcap = log(pcap)
gen lnpc = log(pc)
gen lnemp = log(emp)
spmat use usaww using usaww.spmat
表示根据文件usaww.spmat来生成空间权重矩阵usaww,参见help spmat
本文首先生成地区以及时间相关的虚拟变量,首先设置48个州全部数据为1980-1986年为受到政策实施干预,此时时间虚拟变量t=1,而1970-1979年为0
另外设置前面20个州的数据为受到政策干预的州的组别,变量为code,最后生成spdid,spdid为t*code的交互项
三、双重差分空间滞后模型
# 计量经济学服务中心空间计量课程
*========================================
* 高级计量经济学
*========================================
* 计量经济学服务中心
*
* ===================================
* 空间计量及Stata应用(1)
* ===================================
*-------------------------------------------------------------------------------
* 参考资料:
* 《初级计量经济学及Stata应用:Stata从入门到进阶》
* 《高级计量经济学及Stata应用:Stata回归分析与应用》
* 《高级计量经济学及Eviews应用》
* 《空间计量入门》
* 《零基础|轻松搞定空间计量:空间计量及GeoDa、Stata应用》
* 《空间计量第二部:空间计量及Matlab应用课程》
* 《空间计量第三部:空间计量及Stata应用课程》
* 《空间计量第四部:《空间计量及ArcGis应用课程》
* 《空间计量第五部:空间计量经济学》
* 《空间计量第六部:《空间计量及Python应用》
* 《空间计量第七部:《空间计量及R应用》
* 《空间计量第八部:《高级空间计量经济学》
*-------------------------------------------------------------------------------
*-------------------------------------------------------------------------------
*一、数据生成
*-------------------------------------------------------------------------------
cd E:\stata\data
use product.dta,clear
*1、生成时间虚拟变量
gene t=0
ed
replace t=1 in 1/340
ed
*2、生成地区虚拟变量
gene code=0
replace code=1 if year>=1980 & year <=1986
*3、生成时间空间交互项
gene spdid=t*code
*-------------------------------------------------------------------------------
*二、数据生成
*-------------------------------------------------------------------------------
*4、数据对数转换
gen lngsp = log(gsp)
gen lnpcap = log(pcap)
gen lnpc = log(pc)
gen lnemp = log(emp)
*5、生成空间权重矩阵
spmat use usaww using usaww.spmat
*6、面板数据设定
xtset state year
*7、双重差分空间滞后模型
xsmle lngsp lnpcap lnpc lnemp spdid t code , fe model(sac) wmat(usaww) emat(usaww)
结果为:
. . *-------------------------------------------------------------------------------. *一、数据生成. *-------------------------------------------------------------------------------. . cd E:\stata\dataE:\stata\data
. . use product.dta,clear
. . *1、生成时间虚拟变量 . gene t=0
. ed
. replace t=1 in 1/340(340 real changes made)
. ed
. end of do-file
. do 'C:\Users\admin\AppData\Local\Temp\STD1f44c_000000.tmp'
. . *2、生成地区虚拟变量 . gene code=0
. replace code=1 if year>=1980 & year <=1986(336 real changes made)
. . . *3、生成时间空间交互项. gene spdid=t*code
. end of do-file
. do 'C:\Users\admin\AppData\Local\Temp\STD1f44c_000000.tmp'
. . *-------------------------------------------------------------------------------. *二、数据生成. *-------------------------------------------------------------------------------. *4、数据对数转换. gen lngsp = log(gsp)
. gen lnpcap = log(pcap)
. gen lnpc = log(pc)
. gen lnemp = log(emp)
. end of do-file
. do 'C:\Users\admin\AppData\Local\Temp\STD1f44c_000000.tmp'
. . *5、生成空间权重矩阵. spmat use usaww using usaww.spmat
. . *6、面板数据设定. xtset state year
Panel variable: state (strongly balanced) Time variable: year, 1970 to 1986 Delta: 1 unit
. . *7、双重差分空间滞后模型. . xsmle lngsp lnpcap lnpc lnemp spdid t code , fe model(sac) wmat(usaww) emat(usaww)Iteration 0: Log-likelihood = 1544.8042 Iteration 1: Log-likelihood = 1562.4899 Iteration 2: Log-likelihood = 1617.9469 Iteration 3: Log-likelihood = 1640.9464 Iteration 4: Log-likelihood = 1645.2944 Iteration 5: Log-likelihood = 1645.3607 Iteration 6: Log-likelihood = 1645.3607
SAC with spatial fixed-effects Number of obs = 816
Group variable: state Number of groups = 48Time variable: year Panel length = 17
R-sq: within = 0.9406 between = 0.9857 overall = 0.9846
Mean of fixed-effects = 2.9531
Log-likelihood = 1645.3607------------------------------------------------------------------------------ lngsp | Coefficient Std. err. z P>|z| [95% conf. interval]-------------+----------------------------------------------------------------Main | lnpcap | -.0270419 .0248934 -1.09 0.277 -.0758322 .0217483 lnpc | .1611582 .0243781 6.61 0.000 .1133779 .2089384 lnemp | .7869296 .025797 30.50 0.000 .7363685 .8374908 spdid | -.0186175 .0042006 -4.43 0.000 -.0268505 -.0103846 t | 0 (omitted) code | .0179788 .0073538 2.44 0.014 .0035657 .0323919-------------+----------------------------------------------------------------Spatial | rho | .0589165 .0324815 1.81 0.070 -.0047461 .122579 lambda | .5149828 .0466917 11.03 0.000 .4234688 .6064967-------------+----------------------------------------------------------------Variance | sigma2_e | .0010233 .0000497 20.57 0.000 .0009259 .0011208------------------------------------------------------------------------------
. end of do-file
.