之前,已经推荐过空间计量方面introductory性质的文章“空间计量模型选择、估计、权重、检验(Spatial effect)”和“空间计量经济学最新进展和理论框架,comprehensive track”。
我们先做一个普通的随机效应回归,从下面可以看出,gini系数的增加会导致一个地方的自杀率上升(gini前面的系数为正)。把年份效应加入进去之后,我们发现相对于1960年,1970、1980、1990年的自杀率都要高一些。sigma_u: panel-level standard deviation; sigma_e: standard deviation of epsilon_it。
以下内容为上面文章对应的代码 **written by @空间计量研究小组,作者: 甲壳虫 **------------------------------------------------- **估计大学生毕业率对失业率的影响 //------------------------------------------------ **下载并处理成空间计量形式的数据---------- 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' } //删掉之前的空间权重矩阵
*数据和代码在空间计量研究小组和计量社群。
7年,计量经济圈近2000篇不重类计量文章,
可直接在公众号菜单栏搜索任何计量相关问题,
Econometrics Circle
数据系列:空间矩阵 | 工企数据 | PM2.5 | 市场化指数 | CO2数据 | 夜间灯光 | 官员方言 | 微观数据 | 内部数据
计量系列:匹配方法 | 内生性 | 工具变量 | DID | 面板数据 | 常用TOOL | 中介调节 | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 | 因果识别 | 社会网络 | 空间DID
数据处理:Stata | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等 |
干货系列:能源环境 | 效率研究 | 空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习 | SSCI | CSSCI | SSCI查询 | 名家经验
联系客服