【stata】空间杜宾模型(面板数据ver)

1. 知识点介绍

空间杜宾模型(Spatial Durbin Model, SDM)是空间计量经济学中最常用且理论最完备的模型之一,由 Luc Anselin 等人发展完善。它通过同时引入因变量的空间滞后项解释变量的空间滞后项,能够全面捕捉复杂的空间相互作用机制,是分析空间溢出效应的核心工具。

已经有文章将截面杜宾模型说的很详细了,此处主要详细讲一讲面板杜宾的做法,会在对应位置贴上截面的代码(没有测试过,可能有报错的问题)

空间溢出效应指一个空间单元(如省份、城市、区域)的经济变量(如经济增长、技术创新、环境污染、犯罪率)的变化,会通过空间相互作用机制(如贸易、要素流动、知识扩散、政策模仿、污染传输、社会网络等)影响其他空间单元相同或相关变量的现象。溢出的强度和范围通常随地理距离、经济距离或社会距离的增加而衰减(但并非绝对)

1.1 核心工具:空间权重矩阵

空间权重矩阵用于定量化定义空间单元之间的“邻近”或“联系”程度,是建模空间依赖性的基石。 权重矩阵的选择对结果影响巨大,需要基于理论、研究问题和数据特征进行合理设定和稳健性检验。通常需要行标准化(每行元素和为1)。

根据邵帅等(2016)在经济研究发表的《中国雾霾污染治理的经济政策选择——基于空间溢出效应的视角》权重分为四种(还有其他的制作方法):

(1)地理距离权重矩阵:元素w_{i,j} 表示i地区省会与j地区省会最近公路里程的倒数(此处为省份的权重,地级市或其他的类似);

(2)经济意义下的经济距离权重矩阵:元素w_{i,j}i区域人均GDP年均值与j区域人均GDP年均值绝对差值的倒数表示;

(3)地理经济距离空间权重矩阵:元素为i地区省会与j地区省会最近公路里程的倒数与i地区人均GDP年均值占所有地区人均GDP 年均值比重的乘积

(4)地理与经济距离的嵌套权重矩阵:为前两种的加权平均,权重在0~1之间,文章中为了方便取0.5。

邵帅,李欣,曹建华,等.中国雾霾污染治理的经济政策选择——基于空间溢出效应的视角[J].经济研究,2016,51(09):73-88.

此外,常见的还有邻接矩阵(即,两个地方是否相邻。共享边界即视为邻接,则为1,否则为0)

1.2 杜宾模型简介

若基础回归公式为Y=X\beta+\epsilon

则,杜宾模型公式为:Y=\rho WY+X\beta+WX\theta+\epsilon

其中,Y是因变量,X为解释变量,W为空间权重矩阵,\rho为空间自回归系数(用于衡量邻近单位因变量WY对本地因变量Y的影响。此部分为内生交互效应的体现,反映因变量自身的空间依赖性,如邻近地区的经济增长互相促进\beta为本地解释变量的系数,\theta为空间滞后解释变量系数(用于衡量邻近单元解释变量WX对本地因变量Y的影响。此部分为外生交互效应的体现,反应解释变量的空间溢出,如邻近地区基础设施投资对本地区经济的影响\epsilon为随机误差项,满足N(0,\sigma^2I)分布。

1.3 其他空间溢出模型

1.3.1 空间滞后模型

公式为Y=\rho WY+X\beta+\epsilon,可以简单理解为杜宾模型中\theta=0时的建议版本。

1.3.2 空间误差模型(SEM)

公式为Y=X\beta+u, u=\lambda Wu+\epsilon

空间依赖性体现在误差项 u 中。\lambda空间误差系数。模型假设溢出是由未观测到的空间相关因素或模型误设(干扰性依赖)导致的。

SEM主要用于处理干扰性空间依赖性,而非直接建模实质性空间溢出(如因变量或解释变量的相互影响)。

1.4 空间依赖性检验方法简介

检验空间依赖性是空间计量分析的核心前置步骤,其目的是判断数据是否存在空间关联性,并指导后续模型选择(如SLM、SEM、SDM)。

常见方法包括:

  • Moran's I: 最常用的全局空间自相关检验统计量,检验因变量是否存在显著的空间聚类模式。

  • LM检验 (Lagrange Multiplier): 包括LM-Lag (检验SLM是否必要) 和 LM-Error (检验SEM是否必要),以及其稳健版本 (Robust LM-Lag, Robust LM-Error),用于指导模型选择。

  • LR检验 (Likelihood Ratio): 用于嵌套模型比较(如SDM vs SLM, SDM vs SEM)。

  • Wald检验: 用于非嵌套或约束检验(如检验SDM是否可以简化为SLM或SEM,即检验 H0: θ=0 或 H0: θ + ρβ=0)。

2. stata实证

2.1 涉及的包以及下载(详细说明spmat和spwmatrix)

实证中需要用到的包分为可以直接下载的内容(如下代码)以及需要手动下载的部分(包括spmat和spatwmat)

* 安装必要的空间计量包
ssc install spmatrix, replace   // 空间矩阵工具
ssc install xsmle, replace       // 空间面板模型
ssc install xtmoran, replace

spmat

输入代码help spmat,点开后点击蓝色的“st0292.pkg”找到了spmat.do,旁边有一个蓝色的安装命令(由于已经下载,没办法截图,类似的结构可以参考我主页关于门槛效应的部分,也涉及手动下载的命令)

spatwmat

跟上面的同理。
//1.输入命令 findit spatwmat
//2.点击界面链接 "sg162 from http://www.stata.com/stb/stb60"
//3.找到INSTALLATION FILES,点击 "click here to install"

这两个命令没记错的话都是用于做空间矩阵相关的,都是需要用到的。

2.2 空间矩阵

假设你是完全新手且不打算下载shp格式的相关文件,首先将某一年你所需要的所有地点(比如国家、省份、地级市等等)罗列出来,并且写出对应的经纬度。格式如下:

地级市经度维度
 北京116.4052939.904989
天津117.1901839.125596

(*以上只是举例,不保真)

这个地方切记一定要跟自己的面板数据中的地点对应(顺序也要一致)!!!

保存后导入stata中。根据下面代码生成需要的矩阵,矩阵最终存放在excel表里面。建议在最前面cd一下当前目录,避免保存的时候找不到。

//导入经纬度坐标,lat纬度,lng经度,并重命名
rename lat x     //纬度赋值x
rename lng y     //经度赋值y

//1. 基于距离的邻接权重矩阵wbin_1、wbin

*spatwmat
//band()为邻接参数,可手动调整,band(0 10)即距离band在0~10之间的单位视为邻接,赋权重1,否则赋权重0,下述db(0 10)同理
spatwmat, name(wbin_1) xcoord(x) ycoord(y) band(0 10) binary
matrix list wbin_1            //查看权重矩阵wbin_1
putexcel set wbin_1, replace  //将权重矩阵wbin_1导入excel文件中
putexcel A1 = matrix(wbin_1)  //从A1单元格导入

*spwmatrix
spwmatrix gecon x y, wn(wbin) wtype(bin) db(0 10) cart   //wtype()为权重矩阵类型,wtype(bin)为邻接权重矩阵,其他参数可参考 help spwmatrix
matrix list wbin
putexcel set wbin, replace
putexcel A1 = matrix(wbin)

// 2. 计算一阶反距离权重矩阵winv
spwmatrix gecon x y, wn(winv) wtype(inv) cart alpha(1)
matrix list winv
putexcel set winv, replace
putexcel A1 = matrix(winv)

更多类型的矩阵计算参考:空间权重矩阵构建(Stata代码)_spatwmat怎么安装-优快云博客

不过这位作者最后面的经济地理权重和反经济地理权重矩阵,我这边没办法直接使用,应该是需要自己准备数据,但是对于面板来说,每年的经济数据都会变动,所以我个人认为不太现实,矩阵太大stata也跑不完(不过我没有细究,如果有不同观点或者成功案例可以沟通)

2.3 面板莫兰指数

使用上述下载的xtmoran包很简单就可以进行

*命令语法
xtmoran varname, wname(matrix)[morani(numlist) graph symbol(varname)]

其中

  • varname是需要检验是否存在空间自相关的变量,常常使用在被解释变量和核心解释变量上面。
  • wname里面即为刚刚计算出来的空间矩阵,注意,此处的matrix格式最好为dta格式
  • morani(numlist):填入计算局部莫兰指数的年份;
  • graph:绘制莫兰散点图;
  • symbol(varname):填入莫兰散点图中地点标记名称变量。

对于截面的整体莫兰指数的代码可参考:

spatgsa y,weight(matrix) moran twotail

结果如下:

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

2.4 面板杜宾模型

这里跳过了一些关于模型设定的检验,大家可以参考下面资料进行。

参考资料:

[1]一文读懂空间杜宾_空间杜宾模型-优快云博客(这个是文字的内容,相对排版稍微差一点,但是写的很全面)

[2]空间权重矩阵创建stata 5种经济地理矩阵 01矩阵 地理反距离 经济距离等(最新版本!!)_哔哩哔哩_bilibili(这个是视频内容,框架性很好,有很多思维导图,关于整个空间溢出效应的框架比较清晰,着重点感觉偏空间矩阵和如何选择模型)

这个地方跟前面的内容比较类似,但是由于我目前找到的代码放到杜宾模型中的空间矩阵格式为txt(i guess)所以整个过程又重新跑了一次。杜宾模型无论面板还是截面都是使用xsmle函数来实现。跑回归的完整代码如下。

use 数据所涉及的地区和经纬度.dta, clear
rename lat x
rename lon y
spwmatrix gecon x y, wn(空间矩阵命名) wtype(inv) ///
      r(20) alpha(1) ///
      xport(导出空间矩阵,txt) row replace
spmat import 导出空间矩阵 using "导出空间矩阵.txt", replace
spmat save 导出空间矩阵 using "导出空间矩阵.spmat", replace
spmat use 空间矩阵 using "导出空间矩阵.spmat", replace

use 回归面板.dta, replace
xtset city year //面板声明

xsmle y x X, wmat(空间矩阵) model(sdm) nolog effects fe

关于xsmle的解释(目前我没有一个参数一个参数扒,看看后面有没有时间修改)

有几个变量比较重要需要简单说明一下:

  • model():这里模型选择主要针对知识点中的三种空间溢出模型,sdm即为杜宾模型,sar为自回归,sem为误差(不过目前误差我没有跑成功,sar和sdm的参数设置基本保持一致,可以直接使用)
  • effects/noeffects:这两个二选一,选择noeffects则不显示直接效应、溢出效应和总体效应,选择effects的话会显示上面的部分。

参考资料:空间面板数据模型及Stata实现

结果阅读

effects部分从上至下依次为直接效应、溢出效应和总效应。

以上是粗略的面板结构的杜宾模型实证回归总流程,欢迎大家批评指正!

### Stata 中的空间溢出效应分析 #### 使用 `xsmle` 命令进行空间计量经济学建模 为了在 Stata 中处理和分析空间溢出效应,可以利用命令 `xsmle` 来执行空间计量经济模型的估计。此命令允许指定不同的空间权重矩阵以及多种类型的模型结构来捕捉区域间的相互影响。 ```stata * 加载数据集并定义变量 * use "your_dataset.dta", clear * 定义空间权重矩阵 W * spmat use W using "path_to_your_spatial_weights_file.gal" * 运行带有稳健标准误差的空间滞后模型(SAR) * xsmle ln_CO2 ln_ICT ln_URB ln_PGDP ln_IND ln_POP ln_EI, emat(W) model(sar) robust nolog noeffects ``` 上述代码展示了如何加载数据文件、读取预先准备好的空间权重矩阵,并通过 `xsmle` 执行一个稳健的标准差调整后的空间滞后模型(SAR)。这里假设因变量为二氧化碳排放 (`ln_CO2`) 而其他变量作为解释因素参与其中[^3]。 #### 处理动态空间面板数据的方法 当涉及到随时间和地点变化的数据时,则需考虑采用更复杂的动态空间面板模型来进行更为精确地描述现象之间的关系。针对这类情况,通常会应用到如下几种主要的技术: - 准似然函数或偏误修正的最大似然估计; - 广义矩估计(GMM); - 贝叶斯马尔科夫链蒙特卡罗模拟(Bayesian MCMC)[^2]。 这些技术能够更好地控制潜在的时间序列特性及其可能带来的内生性问题,在实际操作过程中可根据具体研究需求选取合适的方式实施计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ayfree

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值