mcpField
S
spatial-statistics

spatial-statistics

github.com/muend数据与数据库3769 次安装2 周前更新
代码仓库

关于 spatial-statistics

spatial-statistics 是用于检验空间聚集、局部热点、点模式和空间关系的分析技能,面向需要可靠推断的分析人员。内容涵盖权重选择、敏感性检查和残差诊断。

主要功能

  1. 01空间权重选择与敏感性检查
  2. 02全局 Moran's I 和局部 LISA
  3. 03Getis-Ord Gi* 热点分析
  4. 04点模式与 KDE 指导
  5. 05空间回归决策流程
  6. 06多重检验与残差诊断

适用场景

  1. 01检验地图变量是否呈聚集分布
  2. 02识别局部聚集区和热点
  3. 03分析点模式中的吸引或排斥
  4. 04诊断回归中的空间依赖

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/muend/geoai-skills --skill spatial-statistics

安装后在 Claude Code 中输入/spatial-statistics确认已加载。

附带文件agents/openai.yamlreferences/authoritative-sources.md

详细介绍

空间统计

目的:以可靠的推断回答“是否存在聚集、聚集在哪里,以及为什么”。 核心原则:空间数据违反独立性假设,因此标准统计方法会在不知不觉中夸大显著性——这里的每项分析都从权重设计开始,以残差诊断结束。

空间权重(W)——分析的核心就是权重

后续所有结果都取决于 W;请基于实质性理由选择权重,并使用一种替代方案进行敏感性检验:

权重适用场景
Queen/Rook 邻接关系不规则多边形(行政单元、地块)
K 近邻点;存在孤岛(邻接关系会使其无法连接)
距离带作用范围已知的物理过程
核(距离衰减)平滑影响、类似 GWR 的局部模型
from libpysal.weights import Queen

w = Queen.from_dataframe(gdf, use_index=True)
print(f"islands: {w.islands}")   # unconnected units break stats — fix or document
w.transform = "r"                # row-standardize (default for Moran/lag models)

始终报告:权重类型、参数、孤岛数量,以及结果是否在另一种 W 下仍然成立。

全局 → 局部工作流

  1. 全局 Moran's I(esda.Moran,置换推断次数 ≥999)——回答“是否存在任何聚集?”报告 I、p_sim 和置换分布,而非解析 p 值。
  2. LISA / 局部 Moran(esda.Moran_Local)——绘制聚集位置:高-高、低-低聚集,以及高-低/低-高离群值。着色绘图前先进行多重检验校正(至少采用 FDR)——未校正的 LISA 地图会夸大聚集,这是该领域最常见的滥用。
  3. Getis-Ord Gi*(esda.G_Local,star=True)——识别高/低强度热点(这与 Moran 聚集回答的问题不同——Gi* 寻找高值集中区域,LISA 寻找相似性结构)。
  4. 对基于人口的现象使用比率,而非计数;在进行上述任何分析前,先对人口较少的单元使用经验贝叶斯平滑(esda.smoothing)——稀疏单元中的原始比率只是噪声。

点模式

  • 首先区分一阶强度(密度存在变化)与二阶交互(点之间相互吸引/排斥)——KDE 描述前者,Ripley's K/L(pointpats)检验后者。
  • 如果研究区域存在明显的密度梯度(人口、道路),始终使用非齐次零假设进行检验;以 CSR 检验城市数据只是稻草人论证。
  • KDE 带宽决定分析结论:报告带宽并说明理由(Silverman/CV),同时展示一种替代方案。

空间回归决策路径

先运行 OLS,再进行诊断——切勿一开始就使用空间模型:

from spreg import OLS
ols = OLS(y, X, w=w, spat_diag=True, moran=True, name_y="price", name_x=xnames)

决策(通过 LM 检验实施 Anselin 规则):LM-Lag 显著而 LM-Error 不显著 → 空间滞后(SAR);反之 → 空间误差(SEM);两者均显著 → 比较稳健 LM 版本;两者均不显著 → 保留 OLS(并将此作为发现报告)。 解释时的注意事项:在 SAR 中,系数并非边际效应——应报告直接/间接(溢出)效应。在 SEM 中,空间结构是干扰相关性,不应解释为溢出。

GWR/MGWR(mgwr):适用于变量关系可能随空间变化的情况。通过 AICc 搜索带宽;绘制局部系数,并屏蔽不显著的局部 t 值;当预测变量的作用尺度不同时,使用 MGWR。GWR 用于探索——谨慎使用局部系数的因果表述。

诚实推断

  • 在可能的情况下,优先使用置换 p 值,而非解析 p 值。
  • 多重检验:n 个局部检验 = n 个单元;采用 FDR 校正。
  • MAUP(可变空间单元问题):结果可能随单元聚合方式而改变——如果聚合级别可以选择,请检验一种替代方案并披露结果。
  • 建模后残差仍存在空间自相关 = 模型仍有问题;每个最终模型都要报告残差 Moran's I。
  • 相关性 ≠ 因果关系,这里尤为如此:空间混杂变量(所有变量都与“距海岸距离”相关)要求在提出因果主张前明确说明识别策略。

报告模板

## Spatial analysis: <question>
- Units & n, variable(s), rate smoothing: <...>
- W: <type/params>, islands: <n>, sensitivity W: <type>
- Global: Moran's I = <> (p_perm = <>)
- Local: <k> significant clusters after FDR; map attached
- Model: <OLS/SAR/SEM/GWR> chosen because <LM diagnostics>
- Residual Moran's I: <> — <interpretation>
- Caveats: MAUP, W-sensitivity, causal limits

执行规范

  • 工作流: 明确定量推断问题和分析单元;检查分布和比率;构建并论证空间权重;先进行全局检验,再进行局部检验;必要时拟合模型;诊断残差的空间依赖;报告不确定性。
  • 决策规则: 使用空间统计分析空间依赖并进行推断;使用地统计学插值采样得到的连续表面;当样本外预测是首要目标时,使用预测型 ML。
  • 验证流程: 测试不同的权重和聚合方法;使用有效的置换检验或模型推断;校正局部检验的多重比较;检查残差的 Moran's I;区分关联与因果关系。
  • 失效情形: 权重设定随意、忽略孤岛、MAUP 结果不稳定、未校正多重检验、残差存在自相关,或使用缺乏依据的因果表述时,不得作出推断性结论。
  • 交付内容: 可直接用于分析的变量、权重规格、全局和局部结果、校正后的显著性、诊断地图、模型和残差检查、敏感性分析及注意事项。
  • 来源时效性: 在使用对版本敏感的统计 API 或默认值之前,请查阅权威来源注册表。

评论

支持 Markdown