Stata空间计量:莫兰指数绘图moranplot命令介绍
2021-09-19
陈振环, 张少鹏
25653

连享会   主页 || 推文 || 知乎 || B 站 || 在线课堂

New! 搜推文,找资料,用 lianxh 命令:
安装: ssc install lianxh, replace
使用: lianxh 合成控制
       lianxh DID + 多期, w


⛳ Stata 系列推文:

PDF下载 - 推文合集

陈振环(东北林业大学,czh2017@nefu.edu.cn
张少鹏(哈尔滨工业大学,13251610878@163.com


目录
[[TOC]]


1. 背景简介

根据地理学第一定律( Tobler's First Law 或者 Tobler's First Law of Geography ),任何事物都是与其他事物相关的,只不过相近的事物关联更紧密。在空间计量经济学范式下,地理学第一定律尤为适用。对空间计量经济学有所了解的学者应该比较清楚,在进行空间计量模型分析之前,往往首先需要通过操作空间自相关检验来验证是否存在空间溢出效应。在空间自相关检验中,应用最为广泛的是全局莫兰指数 Moran‘ I 检验和局部莫兰指数 Moran‘ I 散点图(以下简称 “ 散点图 ”)。目前使用 Stata 软件绘制散点图已经有比较成型的命令,如 spatlsasplagvar 。然而, spatlsa 命令无法实现对生成的散点图进行编辑的目标,而 splagval 命令在定义空间权重矩阵时又较为复杂。有鉴于此,本文接下来将为大家介绍支持散点图轻松绘制和编辑的新命令 moranplot

spatlsasplagvar 等命令相比, moranplot 命令绘制出来的散点图可随意编辑,也可以用 graph combine 命令进行图形组合,并且让所有散点图均显示在当前窗口中。此外,绘制面板数据的的散点图仅需要一条循环语句即可实现,且该命令可直接配合 xsmle 使用。 

2. moranplot 命令介绍

2.1 命令安装

该命令需要使用 Stata16.1 软件,如果为低版本软件,需要将 moranplot.ado 中的 version 16.1 进行修改如 version 15.0 即可。此处需特别注意,不推荐使用 Stata 15.0 以下版本,并且尽量不要使用免安装版本。若出现报错,可能是 Stata 软件中未安装相应命令,直接 ssc install 安装相应命令后即可使用。当然,也可以直接通过 findit moranplot 进入下载页面。

. ssc install moranplot, all replace

下载数据时,由于此命令刚发布不久,还没有被 https://ideas.repec.org/ 更新。因此需要先输入: ssc new ,然后点击 MORANPLOT 即可进入页面下载数据,如图 1 所示。(PS:预计今后应该直接findit moranplot即进入下载页面)

2.2 命令语法

安装好命令之后,可以输入 help moranplot ,查看 moranplot 的帮助文档。需要说明的是,该命令的空间权重矩阵必须为 W1.spmat 格式。运行该命令有两种方式:其一,将数据与空间权重矩阵均放入 Stata 的当前工作目录下,继而运行命令;其二,也可以在其他文件夹放入数据和空间权重矩阵,并使用 cd 命令设置工作根目录,命令也能正常运行。

help moranplot

moranplot 命令的语法结构如下:

moranplot varlist(numeric) [if] [, options]
  • varlist(numeric): 必须为数值型变量,可以输入多个变量。
  • Options 选择项如下:
    • w(name) : 空间权重矩阵,扩展名必须为.spmat,是否标准化自定。
    • id(varname): 个体标识。
    • note(numlist) : 给Moran散点图添加注释。
    • mlabel(varname) : 为散点添加名称。

3. Stata 实操

本文使用 moranplot 命令自带的数据集进行操作演示。

3.1 调入数据

. use moranplot_data.dta

3.2 绘制 y1 变量的原始版散点图

// W1 为空间权重矩阵, id 为个体标识
. moranplot y1, w(W1) id(id)

得到的结果如图 2 所示:

3.3 绘制 y1 变量的注释版散点图

// 为散点图标注注释: 2018年制图
. moranplot y1, w(W1) id(id) note(2018)

得到的结果如图 3 所示:

3.4 分别绘制 y1, x1, y2 变量的原始版和注释版散点图,并组合图形

. moranplot y1 x1 y2, w(W1) id(id)
. moranplot y1 x1 y2, w(W1) id(id) note(2018) mlabel(name)

运行散点图合并命令时,需注意 Stata 界面上各子图的具体名称:

. graph combine   ///
    grss_graph3 grss_graph4 grss_graph5 ///
    grss_graph6 grss_graph7 grss_graph8, altshrink

得到的结果如图 4 所示:

3.5 绘制面板数据的散点图

使用 moranplot 命令制作面板数据的散点图,可以轻松实现多个变量的绘制(数据略,读者可依需要自行尝试)。但需要通过编写循环命令实现:

forvalues time = 2014/2018 {
    moranplot y1 x1 y2 if year==`time', ///
       w(W1) id(id) note(`time')
}

如图 5 所示, 3 个变量在 2014 - 2018 年的所有散点图(共 15 张,限于篇幅只展示第一张图)均出现在窗口:

4. 可能的报错及解决方案

4.1 grss 命令无法识别

由于 moranplot 命令中调用了 grss 外部命令,因此有些用户的 Stata 软件若未安装该命令则会报错,如图 6 所示:

遇到这种报错的话,直接输入 findit grss 进行命令安装即可。安装界面会显示 3 条命令,点击 grss 的链接直接安装即可(如图 7 所示)。为避免出现安装问题,此处推荐使用正版的 Stata 15.0 ,或直接使用 Stata 16.0 版本。

4.2 提示 variable w1_000000 not found

由于 moranplot 命令运行程序中会用到 spmat 命令,因此,如果 spmat 命令过于陈旧的话(常规使用 ssc install spmat 下载的就是旧版本),就会导致出现如图 8 所示的报错:

解决该问题需要下载最新版本的 spmat 命令包,并按照电脑存储路径 “ Stata 安装文件夹 → ado 文件夹 → plus 文件夹 → s 文件夹”,用新的 spmat.ado 替换掉旧的即可。最新命令可到波士顿学院 Baum 教授的“外部命令仓库”寻找。这里也提供了最新版本 spmat.adogrss.ado 的百度云盘链接,大家可以按需下载。

链接: https://pan.baidu.com/s/1rGGumcyLdnEteyU2SFynUA

提取码: 1234

5. 结语

综上,使用 moranplot 命令绘制局部莫兰指数散点图的优点相信大家已经有所体会,也希望本文能够为推动中国空间计量经济学的发展贡献绵薄之力。当然,该命令也存在一些不足和待完善之处,初衷仅用于自己写论文应急之用。未来我们会尝试继续更新这一命令(包括增加更多绘图的 option 选项,并使用 mata 语言编程加快运行速度等),为广大科研工作者带来更多的便利!

6. 参考文献

  • Chen Z, Zhu H, Zhao W, Zhao M, Zhang Y. Spatial Agglomeration of China’s Forest Products Manufacturing Industry: Measurement, Characteristics and Determinants. [J]. Forests, 2021, 12(8): 1006. -LINK-

7. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 空间
安装最新版 lianxh 命令:
ssc install lianxh, replace

资源共享


尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。
请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。
我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。more……
  • 扫码加入连享会微信群,提问交流更方便