凡是搞计量经济的,都关注这个号了

邮箱:econometrics666@sina.cn

所有计量经济圈方法论丛的do文件, 微观数据库和各种软件都放在社群里.欢迎到空间计量研究小组交流访问(文末“阅读原文”).

图片 推荐阅读:

1.实证研究中用到的135篇文章, 社科学者常用toolkit

2.1998-2016年中国地级市年均PM2.5数据release

3.计量经济圈经济社会等数据库合集, 社科研究大米

下面的程序是与空间计量百科全书式的使用指南, 只此一份掌握此独门秘籍相对应的。数据由于太大,因此我们放在空间计量研究小组的社群里的,有需要可以到文末“阅读原文”通道获取。这当然只是一部分比较常用的空间计量程序,而对于使用Matlab, Python等工具进行空间分析的,强烈建议加入计量经济圈空间计量研究小组。

**written by @空间计量研究小组(spatial econometrics research team),作者: 甲壳虫

**-------------------------------------------------

**估计大学生毕业率对失业率的影响

//------------------------------------------------

**下载并处理成空间计量形式的数据----------

use texas_ue.dta, clear //载入这个数据

describe //描述一下这个数据

merge 1:1 fips using tl_2017_us_county //把前面的数据与shapefile合并

keep if _merge==3 //保留匹配好了的样本

drop _merge

rename NAME countyname

drop STATEFP COUNTYFP COUNTYNS GEOID

drop NAMELSAD LSAD CLASSFP MTFCC CSAFP

drop CBSAFP METDIVFP FUNCSTAT

drop ALAND AWATER INTPTLAT INTPTLON

save texas_ue.dta, replace //生成新的包含shapefile的样本

**数据整理好之后的空间计量估计-------------

summarize unemployment

grmap, activate

grmap unemployment //画出unemployment的地图

regress unemployment college income //做一个ols回归

spmatrix create contiguity W //生成相邻权重矩阵W

estat moran, errorlag(W) //检测一下是否有spatial correlation

spmatrix export W using contig.xls //把空间权重矩阵W输出

spmatrix create idistance M //生成距离倒数的权重矩阵M

**---------------------------------------------

**spregress方法考虑空间效应

//-----------------------------------------------

**如果没有加入iv,dv,error spatial lag做回归------------

regress unemployment college income

spregress unemployment college income, gs2sls

spregress unemployment college income, ml

**1.spregress有两种估计方法, spatial lag of the DV-------

spregress unemployment college income, gs2sls dvarlag(W) //用广义空间2sls估计

spregress unemployment college income, ml dvarlag(W) //用ml估计spatial lag of the dependent variable

**2.spatial lag of the IV-------------

spregress unemployment college income, gs2sls ivarlag(W:college)

estat impact //平均的效应

**3.spatial lag of error------------

spregress unemployment college income, gs2sls errorlag(W)

estat impact

**4.spatial lag of DV, IV and error--------

spregress unemployment college income, gs2sls dvarlag(W) heteroskedastic ///

errorlag(W) ivarlag(W: college) //同时把dv,iv和error的spatial都放进去

estat impact

spregress unemployment college income, gs2sls dvarlag(W) errorlag(W) ///

ivarlag(M: college) ///用了两个空间权重矩阵

estat impact

spregress unemployment college income, ml vce(robust) dvarlag(W) errorlag(W) ///

ivarlag(W: college) ivarlag(M: college) //ml方法可以有两个spatial lag of iv

estat impact

**----------------------------------------------

** spivregress方法处理内生性问题

//----------------------------------------------

use dui_southern, clear //用数据库来运行spivregress

spset //设置成空间回归形式的数据

**检测是否有sparital correlation-------

regress dui nondui vehicles i.dry

spmatrix create contiguity WI //生成相邻权重矩阵WI

spmatrix create idistance MI //生成距离倒数权重矩阵MI

estat moran, errorlag(WI) //检测是否有spatial correlation

estat moran, errorlag(WI) errorlag(MI)

grmap, activate

grmap dui //酗酒导致的被捕率(10wan)地图

spivregress dui nondui vehicles i.dry (police = elect), dvarlag(WI) ///

errorlag(WI) //用elect变量作为police的工具变量

estat impact

spivregress dui nondui vehicles i.dry (police = elect), dvarlag(WI) ///

errorlag(WI) ivarlag(WI: i.dry) //

**------------------------------------------

** spxtregress方法处理面板数据

//-------------------------------------------

use homicide_1960_1990, clear //用数据库来运行spxtregress

list _ID year in 1/8, sepby(_ID)

xtset _ID year //需要定义面板数据形式

spset //设置成空间回归形式的数据

bysort _ID: gen npanel = _N //检测一下是否_ID有重复

tab npanel //如果有重复,那需要使用spbalance

**空间随机效应-----------------------

xtreg hrate ln_population ln_pdensity gini i.year, re //普通的随机效应回归

spmatrix create contiguity WX if year == 1990 //生成紧邻权重矩阵WX(注意year==1990)

spmatrix export WX using contigx.xls //把空间权重矩阵W输出

spxtregress hrate ln_population ln_pdensity gini i.year, re dvarlag(WX) ///

errorlag(WX) //空间随机效应spatial lag of dv and error

estat impact gini //获得gini的平均效应

spmatrix create idistance MX if year == 1990 //生成距离倒数权重矩阵MX(注意year==1990)

spmatrix dir //显示一下所有的权重矩阵

spxtregress hrate ln_population ln_pdensity c.gini##i.year, re dvarlag(MX) ///

errorlag(MX) //空间随机效应,更换了一个权重矩阵且加入了交叉项

contrasts c.gini#year //检验gini与year交叉项的显著性

estat impact gini if year == 1960 //交叉项显著因此可以得到每一个year的gini效应

estat impact gini if year == 1970

estat impact gini if year == 1980

estat impact gini if year == 1990 //发现gini影响效应是在随着时间增强的

spxtregress hrate ln_population ln_pdensity c.gini##i.year, re sarpanel ///

dvarlag(MX) errorlag(MX) //当errorlag出现时,添加了sarpanel允许个体效应也像误差项那样的空间回归形式

**空间固定效应---------

xtreg hrate ln_population ln_pdensity gini, fe //普通的固定效应回归

spxtregress hrate ln_population ln_pdensity gini, fe dvarlag(WX) //空间固定效应spatial lag of dv

estat impact gini

spxtregress hrate ln_population ln_pdensity gini c.gini#i.year , ///

fe //如果不在每个panel里变动的话,就不能包括在fe模型里, 因为会被省略去

** 我们可以把内存里的权重矩阵删除掉---

local m "W M WX MX MI WI"

foreach x of local m {

spmatrix drop `x'

} //删掉之前的空间权重矩阵

数据由于太大,因此我们放在空间计量研究小组的社群里的,有需要可以到文末“阅读原文”通道获取。