因为要写毕业论文,用尽千辛万苦终于把空间计量基本全部掌握了~还有空间分布图、莫兰散点图和LISA集聚图的做法,我用的是中国31省级面板数据,希望这个帖子能够给大家带来一点便利之处,不用像我这样搜了好久才自己全部琢磨出来的~先说下我的数据吧,我做的是市场规模(consum)、工资水平(wage)、房价(hspri)、矿产资源(mine)、R&D、人力资本(hum)、劳动生产率(prod)、开放度(open)、市场化(mrkt)和交通水平(trans)对经济差异(theil)的影响,时间跨度为2002年至2017年,这里写出来是为了随后变量截图中你们好辨认出来哪些变量是哪些~好了,开始正题
第一步,需要先整理好数据,最好整理成我这种形式的,province这列是各个省份的代码,从北京到新疆按照1到31的顺序写即可,year按照2002-2017年顺序,后面是变量,(
变量不要有缺失,可用插值法等办法补充完善),这样做出来可以直接导入stata里面。
第二步,需要导入权重矩阵,这部写详细点,很多细节,一不小心就容易出错~第一,构建一个关于31省的gal文件。我用的是geoda软件做的买比较简单,把流程分享给你们。打开Geoda软件导入我们31省的shp文件—工具—空间权重管理—添加ID变量(默认选择POLY_ID)—创建,会出来一个文件框,把之前做的31省的矩阵内容点进去即可,矩阵内容大概为:
将刚生成的空间权重名称命为queen.gal,保存在桌面上,gal文件可用记事本程序打开;
第二,生成dat文件。将刚生成的queen.gal文件用stata打开,输入命令:
cd C:\Users\小白羊\Desktop(就是保存gal文件的路径,每个人不同);输入命令:
spwmatrix import using queen.gal, wname(W) rowstand xport(weight,dat),这样就生成一个名为weight.dat的文件了;
第三,生成dta文件。将刚生成的weight.dat文件用excel打开,命名为空间权重,在stata中导入excel,如图所示:

输入命令:
spmat dta W1 a1-a31(其中,W1是新的名称,a1-a31是空间权重表格中的第一行名称);输入命令:
save "c:\Users\小白羊\Desktop\weight.dta",这样就保存了dta文件。
第四,生成spmat文件。接着刚才的步骤,输入命令:
spmat dta W3 a1-a31(这个W3是新名称,自己喜欢取什么都可以);输入命令:
spmat save W3 using "c:\Users\小白羊\Desktop\weight.spmat",这样名为weight.spmat的文件就生成了。
第三步,进行空间计量分析。在stata中输入命令:use "C:\Users\小白羊\Desktop\weight.dta";输入命令将矩阵标准化(
标准化很重要,否则后面回归会出现initial values not feasible):
spatwmat using weight.dta,name(W) standardize。随后导入我们整理好的数据,如下所示:导入数据后输入命令:
xtset province year;输入回归命令:
xsmle Theil Consum Wage Hspri Mine RD Hum Prod Open Mrkt ,wmat(W)model(sdm)robust nolog noeffects,就可以做一个简单的SED模型,关于这个不同模型和效应的命令,大家根据自己实际情况输入即可。这样一个空间计量的大致步骤就完成了~
上传下我做的31省(不包含港澳台)的weight.dta文件和空间权重的表格吧,有需要的可以下载~
关于其中几点问题:
1、中国各省的shp文件可以去百度上搜,或者麻辣GIS里面也有免费下载,一般下载的地图可能会比较扁平,如果只是做空间计量的话不需要进行地图维度的调整,如果需要做空间分布图和莫蓝图等需要调整为正常地图形状,相关坐标转换步骤可参考:https://jingyan.baidu.com/article/da1091fb64fab4027849d61c.html。本身就是正常地图形状的同学可忽略此条 ~
2、需要注意的是数据不要有缺失,矩阵记得做标准化处理
3、关于矩阵内容:截图只是显示其中一部分,例如 1 2 (第一行)20 26(第2行)的意思是和第1省相邻的省份有2个,分别为第20和第26省,下面的以此类推,关于相邻省份的界定根据自己实际情况需要去调整,我的海南省设置和广东省相邻~
4、每个文件保存的路径要记清楚,否则会出现文件打不开或者找不到等问题
5、提供几个我参考的空间计量帖子,写的特别的赞:https://bbs.pinggu.org/thread-4977369-1-1.html;https://bbs.pinggu.org/thread-4677437-1-1.html