GeoDa 空间自相关分析
前置知识 :[[GeoDa空间权重矩阵]]
难度等级 :⭐⭐⭐⭐
更新日期:2026-03-16
📋 目录
- [1. 空间自相关概念](#1. 空间自相关概念)
- [2. 全局莫兰指数](#2. 全局莫兰指数)
- [3. 局部莫兰指数(LISA)](#3. 局部莫兰指数(LISA))
- [4. Geary's C 统计量](#4. Geary’s C 统计量)
- [5. Getis-Ord G 统计量](#5. Getis-Ord G 统计量)
- [6. 双变量空间自相关](#6. 双变量空间自相关)
- [7. 实战案例](#7. 实战案例)
1. 空间自相关概念
1.1 托布勒地理学第一定律
"Everything is related to everything else, but near things are more related than distant things."
------ Waldo Tobler (1970)
核心思想:地理空间上的事物存在空间依赖性,距离越近,相似性越强。
1.2 空间自相关定义
空间自相关(Spatial Autocorrelation) 是指一个变量的值在空间上的分布是否与其邻近位置的值相关。
三种类型:
1. 正空间自相关(Positive Spatial Autocorrelation)
相似值聚集在一起
高-高聚集,低-低聚集
████ ████
████ ████
□□□□ □□□□
□□□□ □□□□
2. 负空间自相关(Negative Spatial Autocorrelation)
相异值相邻
高-低相间,棋盘状
██ □□ ██ □□
□□ ██ □□ ██
██ □□ ██ □□
□□ ██ □□ ██
3. 随机分布(Random Distribution)
无明显空间模式
██ □□ ██ ██
□□ ██ □□ ██
██ ██ □□ □□
□□ □□ ██ ██
1.3 空间自相关度量方法
| 方法 | 类型 | 值域 | 解释 |
|---|---|---|---|
| Moran's I | 全局/局部 | [-1, 1] | I>0正相关,I<0负相关 |
| Geary's C | 全局 | [0, 2] | C<1正相关,C>1负相关 |
| Getis-Ord G | 全局 | - | 检测热点/冷点 |
| Local Moran's I | 局部 | - | 识别局部聚集类型 |
| Getis-Ord Gi* | 局部 | - | 识别热点/冷点 |
2. 全局莫兰指数
2.1 计算公式
Moran's I 的计算公式:
I = (n / S₀) × [Σᵢ Σⱼ wᵢⱼ (xᵢ - x̄)(xⱼ - x̄)] / [Σᵢ (xᵢ - x̄)²]
其中:
n = 空间单元数量
wᵢⱼ = 空间权重矩阵元素
S₀ = Σᵢ Σⱼ wᵢⱼ(权重矩阵元素之和)
xᵢ = 空间单元 i 的属性值
x̄ = 属性值的平均值
2.2 解释
I 值范围:[-1, 1]
I ≈ +1 → 完全正空间自相关(相似值聚集)
I ≈ 0 → 随机分布
I ≈ -1 → 完全负空间自相关(相异值相邻)
期望值:E[I] = -1 / (n-1)
当 n 很大时,E[I] ≈ 0
2.3 显著性检验
零假设(H₀):空间随机分布(无空间自相关)
检验方法:
-
正态近似检验
-
随机置换检验(蒙特卡洛方法,推荐)
Z-score 计算:
Z = (I - E[I]) / SD[I]判断标准:
|Z| > 1.96 → p < 0.05,显著
|Z| > 2.58 → p < 0.01,非常显著
2.4 GeoDa操作步骤
步骤1:准备数据
1. 加载空间数据
File → Open → data.shp
2. 创建空间权重
Tools → Weights Manager → Create
(详见[[GeoDa空间权重矩阵]])
步骤2:运行莫兰指数分析
1. Space → Univariate Moran's I
2. 在弹出的对话框中:
┌────────────────────────────────┐
│ Univariate Moran's I │
├────────────────────────────────┤
│ Select Variable: │
│ [CRIME ▼] │
│ │
│ Weights: │
│ [queen_w1.gal ▼] │
│ │
│ ☑ Randomization (999 permutations)│
│ │
│ [Run] [Cancel] │
└────────────────────────────────┘
3. 点击 "Run"
步骤3:解读结果
结果窗口显示:
┌────────────────────────────────┐
│ Moran's I: 0.425 │
│ Expected I: -0.0101 │
│ Mean: 0.0023 │
│ Std Dev: 0.0456 │
│ Z-score: 9.26 │
│ p-value: 0.001 │
│ │
│ Permutations: 999 │
│ Pseudo p-value: 0.001 │
└────────────────────────────────┘
解读:
- Moran's I = 0.425 > 0:存在正空间自相关
- Z = 9.26 > 2.58:非常显著
- p-value = 0.001 < 0.01:拒绝零假设
- 结论:犯罪率在空间上显著聚集
2.4 莫兰散点图(Moran Scatter Plot)
四象限解释
标准化值 (x)
↑
Q2 │ Q1
Low-High │ High-High
│
────────┼────────→ 空间滞后 (Wx)
│
Q3 │ Q4
Low-Low │ High-Low
↓
Q1 (High-High):高值被高值包围(热点)
Q2 (Low-High):低值被高值包围(空间异常)
Q3 (Low-Low):低值被低值包围(冷点)
Q4 (High-Low):高值被低值包围(空间异常)
操作步骤
1. Space → Moran Scatter Plot
2. 选择变量和权重
3. 显示散点图和回归线
- 斜率 = Moran's I
- 四个象限用不同颜色标识
交互功能
- 点击点:高亮地图上对应区域
- 框选点:选中一组区域
- 右键菜单:
• Save Results(保存结果)
• Change Color(更改颜色)
• Show Statistics(显示统计)
3. 局部莫兰指数(LISA)
3.1 概念
LISA(Local Indicators of Spatial Association) 是局部空间自相关指标,用于识别每个空间单元周围的局部聚集模式。
3.2 计算公式
Iᵢ = (xᵢ - x̄) / m₂ × Σⱼ wᵢⱼ (xⱼ - x̄)
其中:
m₂ = Σᵢ (xᵢ - x̄)² / n
局部Moran's I的期望:
E[Iᵢ] = -wᵢ / (n-1)
显著性通过随机置换检验
3.3 LISA聚集地图
四种聚集类型:
| 类型 | 符号 | 含义 | 象限 |
|---|---|---|---|
| High-High | HH | 高值聚集(热点) | Q1 |
| Low-Low | LL | 低值聚集(冷点) | Q3 |
| Low-High | LH | 低值被高值包围 | Q2 |
| High-Low | HL | 高值被低值包围 | Q4 |
3.4 GeoDa操作步骤
步骤1:运行LISA分析
1. Space → Local Moran's I
2. 设置参数:
┌────────────────────────────────┐
│ Local Moran's I (LISA) │
├────────────────────────────────┤
│ Variable: [CRIME ▼] │
│ Weights: [queen_w1.gal ▼] │
│ │
│ Permutations: 999 │
│ │
│ Output: │
│ ☑ Cluster Map │
│ ☑ Significance Map │
│ ☑ Moran Scatter Plot │
│ │
│ [Run] [Cancel] │
└────────────────────────────────┘
3. 点击 "Run"
步骤2:查看结果
A. 聚集地图(Cluster Map)
显示四种聚集类型:
- 红色:High-High(热点)
- 深蓝:Low-Low(冷点)
- 浅蓝:Low-High(空间异常)
- 粉色:High-Low(空间异常)
- 浅灰:不显著
B. 显著性地图(Significance Map)
显示每个单元的显著性水平:
- 深色:p < 0.001
- 中色:p < 0.01
- 浅色:p < 0.05
- 白色:不显著
C. 莫兰散点图
显示每个单元在四象限的位置
- 点击点:地图高亮对应区域
- 框选:选择特定类型区域
3.5 结果保存
在LISA结果窗口右键 → Save Results
保存字段:
- LISA_I:局部Moran's I值
- LISA_P:伪p值
- LISA_Cluster:聚集类型(1=HH, 2=LH, 3=LL, 4=HL)
- LISA_Sig:显著性等级
4. Geary's C 统计量
4.1 计算公式
C = [(n-1) / (2S₀)] × [Σᵢ Σⱼ wᵢⱼ (xᵢ - xⱼ)²] / [Σᵢ (xᵢ - x̄)²]
值域:[0, 2]
解释:
C ≈ 0 → 强正空间自相关
C ≈ 1 → 随机分布
C ≈ 2 → 强负空间自相关
4.2 Geary's C vs Moran's I
| 特性 | Moran's I | Geary's C |
|---|---|---|
| 关注点 | 值与均值的偏差 | 相邻值的差异 |
| 灵敏度 | 全局模式 | 局部差异 |
| 推荐场景 | 一般分析 | 检测局部异常 |
4.3 GeoDa操作
1. Space → Geary's C
2. 选择变量和权重
3. 查看结果:
- Geary's C 值
- 期望值(≈1)
- Z-score
- p-value
5. Getis-Ord G 统计量
5.1 全局G统计量
计算公式
G = Σᵢ Σⱼ wᵢⱼ xᵢ xⱼ / Σᵢ Σⱼ xᵢ xⱼ (i≠j)
解释:
G > E[G] → 高值聚集(热点)
G < E[G] → 低值聚集(冷点)
特点
- 只能检测高值或低值聚集
- 不能同时检测两种聚集
- 适合分析具有实际意义的值(如GDP、人口)
5.2 局部Gi*统计量
计算公式
Gi* = [Σⱼ wᵢⱼ xⱼ - X̄ Σⱼ wᵢⱼ] / [S × √((nΣⱼ wᵢⱼ² - (Σⱼ wᵢⱼ)²) / (n-1))]
其中:
X̄ = 均值
S = 标准差
解释
Gi* > 0 且显著 → 热点(高值聚集)
Gi* < 0 且显著 → 冷点(低值聚集)
5.3 GeoDa操作
1. Space → G-statistic
2. 选择类型:
- General G(全局)
- Local G(局部)
- Local Gi*(局部,包含自身)
3. 查看热点/冷点地图
6. 双变量空间自相关
6.1 概念
分析两个变量之间的空间关联性。
例子:
- 变量1:犯罪率
- 变量2:收入水平
研究问题:高犯罪率地区是否被低收入地区包围?
6.2 计算公式
Iₓᵧ = (n / S₀) × [Σᵢ Σⱼ wᵢⱼ (xᵢ - x̄)(yⱼ - ȳ)] / [√(Σᵢ (xᵢ - x̄)²) × √(Σᵢ (yᵢ - ȳ)²)]
解释:
Iₓᵧ > 0 → x的高值被y的高值包围
Iₓᵧ < 0 → x的高值被y的低值包围
6.3 GeoDa操作
1. Space → Bivariate Moran's I
2. 设置变量:
┌────────────────────────────────┐
│ Bivariate Moran's I │
├────────────────────────────────┤
│ Variable X: [CRIME ▼] │
│ Variable Y: [INCOME ▼] │
│ Weights: [queen_w1.gal ▼] │
│ │
│ [Run] [Cancel] │
└────────────────────────────────┘
3. 解读结果:
- 双变量Moran's I值
- 聚集地图
- 显著性地图
6.4 应用场景
| 变量X | 变量Y | 研究问题 |
|---|---|---|
| 犯罪率 | 收入 | 犯罪与贫困的空间关系 |
| 房价 | 地铁距离 | 交通便利性的空间溢出 |
| PM2.5 | 工业密度 | 污染源的空间影响 |
| 经济增长 | 教育水平 | 知识溢出效应 |
7. 实战案例
案例1:城市犯罪率空间分析
数据描述
数据:哥伦布市(Columbus, Ohio)49个社区
变量:
- CRIME:犯罪率(每千户住宅的入室盗窃和车辆盗窃)
- INCOME:家庭收入(千美元)
- HOUSING:房屋价值(千美元)
分析步骤
步骤1:全局空间自相关
1. Space → Univariate Moran's I
2. 变量:CRIME
3. 权重:Queen邻接
结果:
Moran's I = 0.511
Z = 5.23
p < 0.001
结论:犯罪率存在显著的正空间自相关
步骤2:局部空间自相关(LISA)
1. Space → Local Moran's I
2. 变量:CRIME
结果:
- High-High聚集:3个社区(市中心北部)
- Low-Low聚集:5个社区(郊区)
- High-Low异常:1个社区
- Low-High异常:2个社区
解读:
- 市中心北部形成犯罪热点
- 郊区形成犯罪冷点
- 存在个别空间异常点
步骤3:双变量分析
1. Space → Bivariate Moran's I
2. 变量X:CRIME,变量Y:INCOME
结果:
Moran's Ixy = -0.387
p < 0.01
结论:
高犯罪率社区被低收入社区包围
证实了"社会解组理论"的空间假设
案例2:房价热点分析
数据描述
数据:某市200个街区房价数据
变量:
- PRICE:房价(元/平方米)
- AREA:面积(平方米)
- DIST_CBD:到CBD距离(km)
分析步骤
步骤1:创建距离权重
1. Tools → Weights Manager → Create
2. 类型:K-Nearest Neighbors
3. K = 6
理由:街区分布较密集,K=6可捕捉局部空间模式
步骤2:全局Moran's I
1. Space → Univariate Moran's I
2. 变量:PRICE
结果:
Moran's I = 0.672
p < 0.001
结论:房价存在强正空间自相关
步骤3:LISA聚集地图
1. Space → Local Moran's I
2. 变量:PRICE
热点区域(High-High):
- CBD核心区(12个街区)
- 高新区(8个街区)
冷点区域(Low-Low):
- 远郊区(25个街区)
空间异常:
- 老城区改造区(High-Low)
- 新兴区域(Low-High)
步骤4:Getis-Ord Gi*热点分析
1. Space → G-statistic → Local Gi*
2. 变量:PRICE
结果:
- 99%置信热点:CBD核心区
- 95%置信热点:高新区
- 99%置信冷点:远郊区
与LISA对比:
- LISA:识别聚集类型
- Gi*:识别热点/冷点强度
案例3:疫情空间传播分析
数据描述
数据:某省100个县区COVID-19确诊数据
变量:
- CASES:累计确诊病例数
- POPULATION:人口数
- INCIDENCE:发病率(CASES/POPULATION × 100000)
分析步骤
步骤1:数据标准化
1. Tools → Calculator
2. 计算发病率:
INCIDENCE = CASES / POPULATION * 100000
步骤2:空间权重选择
权重类型:距离权重
阈值:50 km
理由:疫情传播受距离影响,50km反映日常通勤范围
步骤3:时间序列LISA
分别对每日数据运行LISA:
Day 1-7:
- 仅有1个High-High聚集(首发地区)
Day 8-14:
- High-High聚集扩展到周边3个县区
Day 15-21:
- 形成两个独立的热点区域
- 出现High-Low异常(超级传播者)
Day 22-28:
- 热点区域继续扩大
- 部分区域转为Low-Low(防控见效)
步骤4:可视化
使用GeoDa的动画功能:
1. Space → LISA Animation
2. 选择时间变量
3. 播放聚集演变过程
8. 结果报告撰写
8.1 标准报告结构
markdown
## 空间自相关分析结果
### 1. 全局空间自相关
**Moran's I 分析结果**:
- Moran's I = 0.425
- 期望值 E[I] = -0.0101
- Z-score = 9.26
- p-value < 0.001
**结论**:
变量X存在显著的正空间自相关(p < 0.001),
表明该变量在空间上呈现聚集分布,非随机分布。
### 2. 局部空间自相关(LISA)
**聚集类型统计**:
- High-High(热点):12个单元(24.5%)
- Low-Low(冷点):8个单元(16.3%)
- High-Low(异常):2个单元(4.1%)
- Low-High(异常):3个单元(6.1%)
- 不显著:24个单元(49.0%)
**空间分布**:
- 热点区域集中在...
- 冷点区域分布在...
- 空间异常点出现在...
### 3. 政策建议
基于空间自相关分析结果,建议:
1. 针对热点区域采取重点干预措施
2. 关注空间异常点,分析特殊原因
3. 利用空间溢出效应,制定区域性政策
8.2 可视化建议
地图:
- LISA聚集地图(四色分类)
- 显著性地图(渐变色)
- 热点分析结果(红蓝色)
图表:
- 莫兰散点图
- 直方图(变量分布)
- 箱线图(聚集类型对比)
9. 常见问题
Q1: Moran's I值很小,是否意味着没有空间自相关?
不一定!
判断标准:
1. 看显著性(p-value),不是看绝对值
2. Moran's I 受变量分布影响
3. 小样本下,I = 0.1可能已显著
建议:
- 关注Z-score和p-value
- 结合LISA看局部模式
- 不要只看全局指标
Q2: LISA结果显示大量不显著区域,是否失败?
正常现象!
原因:
1. 空间自相关本身可能只存在于部分区域
2. 显著性检验较严格
3. 数据噪声影响
建议:
- 关注显著的聚集区域
- 分析不显著区域的原因
- 结合专业知识解释
Q3: 如何选择999次还是9999次随机置换?
推荐:
- 探索性分析:999次(快速)
- 正式报告:9999次(更准确)
- 论文发表:9999次或更多
注意:
次数越多,p值估计越精确
但计算时间也越长
Q4: 空间自相关显著,是否必须用空间回归?
不一定,但强烈建议!
理由:
1. 空间自相关违背OLS假设(独立性)
2. OLS估计可能有偏
3. 空间模型更符合实际
步骤:
1. 先用OLS回归
2. 检验残差的空间自相关(LM检验)
3. 如果显著,选择合适的空间模型
10. 小结
空间自相关分析是探索空间数据模式的核心方法。
关键要点:
- 全局Moran's I衡量整体空间聚集程度
- LISA识别局部聚集类型和空间异常
- 显著性检验通过随机置换进行
- 双变量分析揭示变量间空间关系
- 结合地图可视化是最佳实践
下一步学习:[[GeoDa空间回归分析]] →
附录:数学推导
Moran's I 与 Pearson 相关系数的关系
Moran's I 可以看作是标准化变量与其空间滞后之间的相关系数:
I = Corr(x, Wx)
其中 Wx 是空间滞后(邻居的加权平均)
LISA 满足两个性质
1. 全局指标分解:
Σᵢ Iᵢ = n × I(局部指标之和等于n倍全局指标)
2. 显著性指示:
每个LISA可以评估局部聚集的显著性
随机置换检验原理
1. 保持属性值不变
2. 随机打乱空间位置
3. 重新计算Moran's I
4. 重复999次
5. 构建参考分布
6. 计算伪p值:p = (rank_observed + 1) / (permutations + 1)