空间计量入门:SAR / SEM / SDM、Moran's I 与空间溢出分解
Spatial Econometrics 适用于"观测值之间存在空间相关性"的场景:一个省的 GDP 增长会影响邻省,一家企业的污染会影响上下游。本页入门级完整讲:空间权重矩阵构造、Moran's I 空间自相关检验、SAR / SEM / SDM 三大经典模型、LeSage-Pace 直接效应与间接效应分解,以及 Stata spregress / Python pysal/spreg 的完整代码。
spregress、spmat、spxtregress);Python 3.10+(libpysal、esda、spreg、geopandas)。01 空间相关性:为什么普通回归不够
普通 OLS 假设观测值之间相互独立。但在区域 / 城市 / 企业数据中,这个假设常常不成立:北京的空气质量受河北影响,A 省的产业升级会带动 B 省。当误差项存在空间自相关时,OLS 估计量仍然无偏但不再有效(标准误被低估);当因变量本身存在空间滞后("邻居的 Y 影响我的 Y")时,OLS 估计量有偏且不一致。
稳健标准误(cluster by province)只能处理组内异方差,不能解决空间自相关。空间计量专门处理"一个省的 Y 与邻省的 Y 系统相关"的问题——这是空间权重矩阵 W 的核心作用。
02 空间权重矩阵 W 的构造
空间权重矩阵 $W$ 是一个 $N \times N$ 的非负矩阵,元素 $w_{ij}$ 表示地区 $i$ 与地区 $j$ 之间的"邻近程度"。主对角线 $w_{ii}=0$(一个地区不能是自己的邻居)。常用构造方式:
| 权重类型 | 定义 | 适用场景 |
|---|---|---|
| 邻接矩阵(contiguity) | $w_{ij}=1$ 若 $i,j$ 有共同边界;否则 0 | 中国省/县数据,最常用 |
| 距离矩阵(distance / k-nearest) | $w_{ij}=1/d_{ij}$ 或 $w_{ij}=1$ 若 $j$ 是 $i$ 的 $k$ 个最近邻 | 地区间距离数据可得时 |
| 经济距离权重 | $w_{ij} = 1/|\bar{GDP}_i - \bar{GDP}_j|$ | 研究经济溢出而非地理溢出 |
| 嵌套权重 | $W = W_{geo} \odot W_{econ}$(哈达玛积) | 同时考虑地理与经济邻近 |
权重矩阵通常做行标准化(row-standardized):$w_{ij} \leftarrow w_{ij} / \sum_j w_{ij}$,使得每行和为 1。这样 $WY$ 可以解释为"邻居 Y 的加权平均",系数 $\rho$ 的大小可直接解读。
03 Moran's I 空间自相关检验
在跑空间回归之前,必须先检验"Y 是否真的存在空间自相关"——否则加空间项是画蛇添足。最常用的是 Moran's I 统计量:
其中 $S_0 = \sum_{i,j} w_{ij}$ 是权重矩阵的元素和。Moran's I 的解释类似相关系数:$I \in [-1, 1]$,$I>0$ 表示正空间自相关(高值被高值包围、低值被低值包围),$I<0$ 表示负自相关。在原假设"无空间自相关"下,$I$ 近似服从均值 $-1/(N-1)$ 的正态分布,可直接算 z 值与 p 值。
① 用 OLS 跑基准回归;② 对 OLS 残差算 Moran's I(不是对原始 Y);③ 若残差 Moran's I 显著 → 空间计量模型必要;④ 若不显著 → 普通 OLS + 聚类标准误就够。
04 SAR / SEM / SDM 三大模型
三大经典空间回归模型(以截面数据为例,面板类似):
SAR 假设"邻居的 Y 通过 $WY$ 影响我的 Y"——这是因变量空间滞后。$\rho$ 是关键参数,衡量空间溢出的强度。
SEM 假设空间相关存在于误差项中——不可观测的冲击在空间上扩散。$\lambda$ 是误差空间自相关系数。
SDM 同时包含 $WY$(因变量空间滞后)和 $WX$(解释变量空间滞后)。它是 SAR 和 SEM 的一般化:$\theta=0$ 时退化为 SAR,$\theta=-\rho\beta$ 时退化为 SEM。实务上默认从 SDM 出发,再做 LR/Wald 检验看是否能退化为 SAR 或 SEM。
05 直接效应与间接效应分解
空间回归的系数 $\beta$ 不能直接解读为"X 对 Y 的边际效应"——因为 SDM 中有 $WY$,X 变化会通过空间反馈循环影响所有地区。LeSage & Pace (2009) 提出把总效应分解为:
- 直接效应(Direct Effect):地区 i 的 X 变化对自身 Y 的平均影响。
- 间接效应 / 溢出效应(Indirect / Spillover):地区 i 的 X 变化对其他地区 Y 的平均影响。
- 总效应 = 直接 + 间接。
对角元素的均值 = 直接效应;非对角元素的行和均值 = 间接效应。Stata spregress ... , dlmx 自动计算并报告。
06 完整 Stata 代码(spregress)
* ============================================================
* 空间计量完整演示
* 场景:N=30 省,研究 FDI 对 lnGDP 的影响,考虑空间溢出
* ============================================================
clear all
set seed 20240103
set obs 30
* --- 1. 模拟数据 ---
gen province = _n
gen lon = rnormal(110, 8) // 经度
gen lat = rnormal(35, 6) // 纬度
gen fdi = rnormal(5, 2) // FDI
gen inv = rnormal(10, 3) // 国内投资
gen hum = rnormal(8, 1.5) // 人力资本
gen eps = rnormal(0, 0.3)
* --- 2. 构造空间权重矩阵(邻接 + k-nearest 两种)---
* Stata 16+ 的 sp 命令族:
* spset province lon lat, coords // 声明空间数据
* spmatrix create contiguity W, replace // 邻接权重
* spmatrix create idistance Wdist, replace // 反距离权重
* spmatrix normalize W, spectral // 行标准化
* --- 3. Moran's I 检验 ---
* 先 OLS 残差
reg ln_GDP fdi inv hum
predict e, resid
* spatreg e, weights(W) id(province) // Moran's I on residuals
* 输出 Moran I z p - 若 p<0.05 说明存在空间自相关
* --- 4. 空间回归:SAR / SEM / SDM ---
* 假设结果变量是 y
gen y = 2 + 0.3*fdi + 0.2*inv + 0.1*hum + eps
* (a) SAR:因变量空间滞后
spregress y fdi inv hum, dlmx iv(W) // IV 法(推荐)
* spregress y fdi inv hum, mle dlmx // MLE 法
estat moran // 残差 Moran's I
* (b) SEM:误差空间相关
spregress y fdi inv hum, error iv(W)
* (c) SDM:默认起点(同时含 WY 和 WX)
spregress y fdi inv hum, dlmx durbin(W) iv(W)
* durbin(W) 自动加入 W*fdi W*inv W*hum
* dlmx 自动输出直接/间接/总效应分解
* --- 5. 模型选择:SDM 是否能退化为 SAR / SEM?---
* SDM 估计后:
* test [Wx]fdi [Wx]inv [Wx]hum // H0: theta=0 → SAR
* 若不拒绝 → 用 SAR 即可
* 若拒绝 → SDM 必要
* --- 6. 面板数据:spxtregress ---
* 若为面板数据 (N 省 × T 年):
* spxtregress y fdi inv hum, fe dlmx durbin(W) iv(W)
* spxtregress y fdi inv hum, re dlmx durbin(W) iv(W)
* Hausman 检验选择 fe vs re
Python 用 libpysal.weights 构造 W、esda.Moran 算 Moran's I、spreg 拟合 SAR/SEM/SDM。语法与 Stata 对应:spreg.ML_Reg(y, X, w=W) (OLS)、spreg.ML_Lag(y, X, w=W) (SAR)、spreg.ML_Error(y, X, w=W) (SEM)、spreg.ML_SDM(y, X, w=W) (SDM)。
07 论文案例与常见错误
论文案例
常见错误
如果 OLS 残差 Moran's I 不显著,加空间项是过度拟合。规范做法:先 OLS → 残差 Moran's I → 显著才进入空间回归。
SDM 有 $WY$,X 变化通过空间反馈循环影响所有地区。必须报告 dlmx 输出的直接效应 / 间接效应 / 总效应,而不是原始 β。直接说"FDI 系数 0.3 意味着 FDI 每增 1% GDP 增 0.3%"是错的——这只是直接效应,没包含溢出。
换一种 W(邻接 → 反距离 → 经济距离)结论应该大致稳健。如果结论只在某一种 W 下显著,说明结果对权重选择敏感,不可信。规范做法:主表报邻接 W,稳健性检验报另外 1–2 种 W。
直接报 SDM 结果,但 SDM 可能简化为 SAR 或 SEM。规范做法:SDM 估计后做 LR/Wald 检验 H0: $\theta=0$(退化为 SAR)和 H0: $\theta=-\rho\beta$(退化为 SEM),根据检验结果选择最终模型。
空间计量本质上是"带空间相关的回归",它控制了空间相关,但不解决内生性。如果 X 本身内生(如 FDI 与 GDP 同时决定),空间 OLS / MLE 仍然有偏。需要用空间 GMM 或 IV。
进阶资料
- LeSage & Pace (2009) —— 空间计量标准教材,免费章节可读。
- Elhorst (2014) —— "Spatial Econometrics: From Cross-Sectional Data to Spatial Panels",面板空间计量的入门讲义。
- Stata 官方 manual spregress / spxtregress —— 命令语法与示例。