Stata计算莫兰指数基本步骤

之前的博客有介绍过R和Geoda计算莫兰指数的方法,考虑到有时候我们需要自定义空间权重矩阵来计算莫兰指数,那以上两种方法显得有点复杂。所以,今天来分享Stata计算莫兰指数的方法~

一、数据准备

1.1 数据导入

本次案例使用的数据为15-19年全国的人均GDP,数据图如下:
在这里插入图片描述

Stata中导入数据的方式十分便捷,通常可以分以下两种:

  • 打开数据编辑器,直接将excel数据复制粘贴即可

在这里插入图片描述

  • 当有dta文件时,可在命令行输入use dta文件地址(例如,dta文件在D盘,则使用use "D:/data.dta"即可导入)
1.2 程序包下载

莫兰指数计算的相关程序包需要预先下载,在命令行输入findit spatwmat后,点击sg162程序包即可
在这里插入图片描述

二、导入权重矩阵

主要命令如下,注意using后没有引号,standardize表示行标准化

spatwmat using d:/weight.dta,name(W) standardize  

在这里插入图片描述
权重数据文件需自行构造,示例图为邻接矩阵样例

在这里插入图片描述
注意点:

  • 不同于excel中权重矩阵的格式,Stata中第一列是没有省份列的,否则后续程序会报错!
  • 权重矩阵文件里的省份顺序需要和数据文件的省份顺序保持一致例如,各省份人均GDP数据文件是按照北京、天津、…、新疆顺序来的,对应的权重矩阵也应是该种排序。
  • Geoda和R主要通过shp文件构建权重矩阵,而Stata可以自行构建dta文件。因此,也更加适合导入自定义权重矩阵。

三、莫兰指数计算

3.1 全局莫兰指数计算

以邻接矩阵W,计算15-19莫兰指数

spatgsa y_2015 y_2016 y_2017 y_2018 y_2019,weights(W) moran

在这里插入图片描述
如果想一键将结果生成表格,可使用asdoc+命令,即可将结果输入word中,如下图所示(asdoc需通过ssc install asdoc安装)
在这里插入图片描述

3.2 局部莫兰指数计算
#熟悉stata编程的朋友,这里可以用循环代替
spatlsa y_2015,weights(W) moran
spatlsa y_2016,weights(W) moran
spatlsa y_2017,weights(W) moran
spatlsa y_2018,weights(W) moran
spatlsa y_2019,weights(W) moran

在这里插入图片描述

四、莫兰指数图

spatlsa y_2015 ,weight(W) moran id(province) graph (moran) symbol(id)

在这里插入图片描述
该图在stata中背景显示是黑底,复制到word中是透明的

全部代码

findint spatwmat #安装程序包
spatwmat using d:/weight.dta,name(W) standardize #导入权重矩阵
spatgsa y_2015 y_2016 y_2017 y_2018 y_2019,weights(W) moran #计算Global moran'I
spatlsa y_2015,weights(W) moran #计算local moran'I
spatlsa y_2015 ,weight(W) moran id(province) graph (moran) symbol(id) #带汉字的moran'I
  • 80
    点赞
  • 460
    收藏
    觉得还不错? 一键收藏
  • 56
    评论
评论 56
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值