GeoDa空间自相关分析

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₀):空间随机分布(无空间自相关)

检验方法

  1. 正态近似检验

  2. 随机置换检验(蒙特卡洛方法,推荐)

    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. 小结

空间自相关分析是探索空间数据模式的核心方法。

关键要点

  1. 全局Moran's I衡量整体空间聚集程度
  2. LISA识别局部聚集类型和空间异常
  3. 显著性检验通过随机置换进行
  4. 双变量分析揭示变量间空间关系
  5. 结合地图可视化是最佳实践

下一步学习:[[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)
相关推荐
Promising_GEO8 小时前
ArcGIS小技巧:起讫(Origin-Destination,OD)流量数据可视化教程
信息可视化·数据·制图·空间分析
水梦雪幻8 小时前
GeoDa 空间回归分析
空间分析
charlee442 个月前
从Shapefile到GeoJSON:用GDAL实现GIS矢量数据读写与空间分析
空间分析·gis开发·矢量数据·gdal·ogr
@HNUSTer4 个月前
基于 GEE 利用 GHSL(100m)数据的区域建成区时空变化量化分析
云计算·数据集·遥感大数据·gee·空间分析·云平台·城市扩张
xiao5kou4chang6kai47 个月前
如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物的影响?
arcgis·空间分析·生态环境·生态因子·空间统计
小艳加油9 个月前
GIS应用攻略:全面涵盖GIS基础、ArcGIS操作、数据制备、空间分析、地图制作、三维建模与多领域实战应用,助力科研与行业实践!
arcgis·gis·空间分析·数据制备
高-老师1 年前
AI(DeepSeek、ChatGPT)、Python、ArcGIS Pro多技术融合下的空间数据分析、建模与科研绘图及论文写作
人工智能·python·gpt·chatgpt·空间分析
骐骥11 年前
PostgreSQL/PostGIS中提升空间查询(分析)性能(效率)的一些方法
数据库·postgresql·postgis·空间分析·空间查询