Stata:面板数据的莫兰指数计算与散点图绘制-xtmoran

发布时间:2021-11-12 阅读 14579

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:陈子厚 (中共广东省委党校)
邮箱econometricalc@outlook.com


目录


1. 引言

研究空间计量,第一步基本上都是计算莫兰指数。我入门软件是 Matlab,后来学习了 Stata,发现相比于 Matlab,Stata 很便捷。但是,在使用 Stata 计算面板数据的莫兰指数和画莫兰散点图时,遇到了和大家一样的问题,即只能计算截面莫兰指数、莫兰散点图背景为黑色、以及不能编辑等。通过查看 ado 文件,我发现是版本太老了,随即我就有了想要结合 spatgsaspatlsa 命令功能编写新命令的想法。因为前期有 Matlab 计算莫兰指数和绘制莫兰散点图的经验,因此入门相对也快。当然命令还存在不完美的地方,欢迎赐教!

2. 命令介绍

xtmoran 命令编写借鉴了 Maurizio Pisati 教授的 spatgsaspatlsa 两个命令。在此基础上,将关于莫兰指数的部分命令整合在一起,同时根据莫兰指数的计算公式,实现面板数据的莫兰指数的计算,并对其中绘制莫兰散点图命令做了更新,感兴趣的小伙伴可以看一下 ado 文件。

新命令的功能如下:

  • 能够计算面板数据的莫兰指数;
  • 莫兰散点图可以显示完整汉字 (spatlsa 命令只能显示两个汉字),并且散点图可以编辑,以及绘制多年份莫兰散点图并不会覆盖上一张图片;
  • 能够给出每个地区所在象限位置 (结果中为 Quadrant),方便后续研究。

新命令的缺点如下:

  • 只能计算单个变量的莫兰指数,不能一次性计算多个变量的;
  • 计算莫兰指数的核心代码并未采用 mata 语言编写,显得臃肿复杂。

2.1 命令语法

*安装命令
ssc install xtmoran, replace
*命令语法
xtmoran varname, wname(matrix)[morani(numlist) graph symbol(varname)]

其中,必选项是 wname(matrix),括号中填入要调用 dta 格式的空间权重的名字 (最好调用 .dta 格式的矩阵),矩阵后续会自动进行行标准化。此外结果显示为双侧检验的结果。其余可选项如下:

  • morani(numlist):填入计算局部莫兰指数的年份;
  • graph:绘制莫兰散点图;
  • symbol(varname):填入莫兰散点图中地点标记名称变量。

2.2 结果展示

首先,我们来计算面板数据莫兰指数。在这里,仅计算变量 y 的莫兰指数,结果如下:

. lxhget xtmoran.pkg, replace
. use panel_xtmoran.dta, clear
. xtset id year
. xtmoran y, wname(w_xtmoran.dta)

Welcome to use this command to calculate the Moran's I
The results :
Moran's I (varname : y)                Number of obs =    480
Group variable: id                  Number of groups =     30
Time variable: year                     Panel length =     16
--------------------------------------------------------------
               year |    I      E(I)   Sd(I)     Z    P-value
--------------------+-----------------------------------------
               2004 | 0.5189 -0.0345  0.1214  4.5580   0.0000
               2005 | 0.5025 -0.0345  0.1222  4.3938   0.0000
               ...
               2018 | 0.3925 -0.0345  0.1218  3.5062   0.0005
               2019 | 0.3725 -0.0345  0.1213  3.3553   0.0008
--------------------------------------------------------------
*2-tail test

接着,计算面板数据莫兰指数与 2012、2013 年局部莫兰指数指数,当然可以计算更多年份的局部莫兰指数,这里仅展示 2012 和 2013 年两年的结果,结果如下:

. xtmoran y, wname(w_xtmoran.dta) morani(2012 2013)

Welcome to use this command to calculate the Moran's I
The results :
Moran's I (varname : y)                Number of obs =    480
Group variable: id                  Number of groups =     30
Time variable: year                     Panel length =     16
--------------------------------------------------------------
               year |    I      E(I)   Sd(I)     Z    P-value
--------------------+-----------------------------------------
               2004 | 0.5189 -0.0345  0.1214  4.5580   0.0000
               2005 | 0.5025 -0.0345  0.1222  4.3938   0.0000
              ...
               2018 | 0.3925 -0.0345  0.1218  3.5062   0.0005
               2019 | 0.3725 -0.0345  0.1213  3.3553   0.0008
--------------------------------------------------------------
*2-tail test

Moran's Ii (y2012)
-----------------------------------------------------------------------
           Location |    Ii    E(Ii)  Sd(Ii)     Z    P-value  Quadrant
--------------------+--------------------------------------------------
                  1 | 0.5790 -0.0345  0.6742  0.9099  0.3629       3
                  2 | 1.0076 -0.0345  0.6742  1.5456  0.1222       3
                 ...
                 29 | 0.8236 -0.0345  0.5409  1.5864  0.1126       1
                 30 |-0.1326 -0.0345  0.6742 -0.1455  0.8843       2
-----------------------------------------------------------------------
*2-tail test

Moran's Ii (y2013)
-----------------------------------------------------------------------
           Location |    Ii    E(Ii)  Sd(Ii)     Z    P-value  Quadrant
--------------------+--------------------------------------------------
                  1 | 0.2246 -0.0345  0.6706  0.3863  0.6993       3
                  2 | 0.8315 -0.0345  0.6706  1.2914  0.1966       3
                 ...
                 29 | 0.5541 -0.0345  0.5381  1.0938  0.2740       1
                 30 | 0.0790 -0.0345  0.6706  0.1693  0.8656       1
-----------------------------------------------------------------------
*2-tail test

最后,计算面板数据莫兰指数和 2012、2013 年度的局部莫兰指数,并绘制散点图,结果如下。其中,绘制的莫兰散点图名字会被命名为 picture + 年份,例如 2012 年的莫兰散点图命名为 picture2012。

. xtmoran y, wname(w_xtmoran) morani(2012 2013) graph symbol(name)

Welcome to use this command to calculate the Moran's I
The results :
Moran's I (varname : y)                Number of obs =    480
Group variable: id                  Number of groups =     30
Time variable: year                     Panel length =     16
--------------------------------------------------------------
               year |    I      E(I)   Sd(I)     Z    P-value
--------------------+-----------------------------------------
               2004 | 0.5189 -0.0345  0.1214  4.5580   0.0000
               2005 | 0.5025 -0.0345  0.1222  4.3938   0.0000
               ...
               2018 | 0.3925 -0.0345  0.1218  3.5062   0.0005
               2019 | 0.3725 -0.0345  0.1213  3.3553   0.0008
--------------------------------------------------------------
*2-tail test

Moran's Ii (y2012)
-----------------------------------------------------------------------
               name |    Ii    E(Ii)  Sd(Ii)     Z    P-value  Quadrant
--------------------+--------------------------------------------------
             北京市 | 0.5790 -0.0345  0.6742  0.9099  0.3629       3
             天津市 | 1.0076 -0.0345  0.6742  1.5456  0.1222       3
             ...
       宁夏回族自治区 | 0.8236 -0.0345  0.5409  1.5864  0.1126       1
     新疆维吾尔自治区 |-0.1326 -0.0345  0.6742 -0.1455  0.8843       2
-----------------------------------------------------------------------
*2-tail test

Moran's Ii (y2013)
-----------------------------------------------------------------------
               name |    Ii    E(Ii)  Sd(Ii)     Z    P-value  Quadrant
--------------------+--------------------------------------------------
             北京市 | 0.2246 -0.0345  0.6706  0.3863  0.6993       3
             天津市 | 0.8315 -0.0345  0.6706  1.2914  0.1966       3
             ...
      宁夏回族自治区 | 0.5541 -0.0345  0.5381  1.0938  0.2740       1
    新疆维吾尔自治区 | 0.0790 -0.0345  0.6706  0.1693  0.8656       1
-----------------------------------------------------------------------
*2-tail test
. * 合并导出 2012 年度莫兰散点图和 2013 年度莫兰散点图
. graph combine picture2012 picture2013, altshrink

3. 结束语

xtmoran 命令的编写核心是基于 spatgsaspatlsa,结果应是一致的,感兴趣的小伙伴可自行验证。本命令的编写目的是为中国空间计量经济学的研究贡献绵薄之力,有什么想法和问题都可以推文留言联系和邮箱联系等。

4. 相关推文

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

专题:专题课程

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh