# Spatial Epi

> 当用户需要比较分地区发病率/死亡率、计算标准化发病比 SMR、处理小区域 率不稳定问题、检测疾病空间聚集性、制作分级统计地图（choropleth）、 评审一张疾病地图的规范性时使用。同义场景：空间流行病学、疾病地图、 SMR 标化、间接标化、小区域估计、率平滑、Moran's I 莫兰指数、空间自相关、 扫描统计量、SaTScan、GeoDa、聚集性分析、热点分析、choropleth 制图规范、 "帮我算算各县 SMR""这病有没有空间聚集"。

- Skill: `minimax-ai/spatial-epi` (Agent Skill)
- Install (CLI): `npx skillmds@latest add minimax-ai/spatial-epi`
- Raw SKILL.md: https://api.skillmd.com/api/skills/minimax-ai/spatial-epi/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: MiniMax AI (https://skillmd.com/u/minimax-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/minimax-ai/spatial-epi

---


# spatial-epi：空间流行病学分析规程

## 目的

把"分地区的病例数与人口数"变成可审查的空间分析：从 SMR 计算与率的
稳定性评估，到聚集性检测的方法选择，再到分级统计地图的制图规范。
本技能不附带脚本（空间计算依赖 GIS/统计环境），但给出逐步计算表格
模板，保证每一步可手工复核。

铁律：

1. **地图会放大错觉**：小人口地区的率高波动是统计现象，不是"热点"
   证据；任何聚集结论必须说明稳定性处理。
2. **率必须有分母**：只画病例计数地图时，必须注明"未按人口校正，
   不反映风险高低"。
3. 边界与坐标：使用合规的行政区划边界数据（注意国界、争议地区
   表达的合规性）；边界来源带来源标签。

## 前置检查

1. 数据三件套齐备：分区**病例数**、分区**人口数**（分母）、参照
   **标准率**（全国/全省或全研究区合计率）。缺分母时停止，回
   epi-data-access 取人口数据。
2. 地区口径一致：病例分区与人口分区同一套行政区划代码与年份；
   区划调整年份要对齐，否则在备注中声明错位。
3. 个案地址数据已按 epi-data-access 第 4 节去标识化；分析单元
   不小于乡镇/街道（更细单元需评估再识别风险）。
4. 明确分析目的：描述分布 / 找高风险区 / 检验聚集存在性——三者
   方法与结论强度不同。

## 1 · 标准化发病比（SMR）

SMR 回答："若该区人口结构下按标准率发病，预期会有多少例？实际
观察是预期的几倍？"（间接标化法）

计算步骤（逐区一行）：

1. 取得标准率 λ（如全研究区合计发病率 = 总病例/总人口）。
2. 每区**预期病例数** Eᵢ = λ × 该区人口 Pᵢ。（分年龄结构做标化时，
   Eᵢ = Σⱼ λⱼ × Pᵢⱼ，j 为年龄组；年龄数据不可得时用粗率版并在
   局限中声明。）
3. **SMRᵢ** = 观察病例数 Oᵢ / Eᵢ。SMR > 1 表示高于标准水平。
4. 解读纪律：SMR 是**比值**，1.2 与 2.0 的差别要结合 Eᵢ 大小看；
   Eᵢ 很小时 SMR 极不稳定（见第 2 节）。
5. 不确定度：需要区间时按 Poisson 近似计算置信区间 [模型知识—
   待核实：常用精确法或 Byar 近似，公式查统计教材后引用]。

### 计算表格模板（粗率版）

| 地区代码 | 病例 O | 人口 P | 预期 E = λ·P | SMR = O/E | 备注 |
| --- | --- | --- | --- | --- | --- |
| … | … | … | … | … | … |

表头注明：标准率 λ 取值与来源标签、人口口径年份、病例时间窗。

## 2 · 率的面失稳与小区域平滑

问题：人口小的区，1–2 个病例就会让率或 SMR 剧烈波动；分级地图上
"最高"的往往是人口最小的区。这是**小样本噪声**，不是流行病学信号。

处理概念（按从轻到重）：

1. **合并相邻小单元**或累积多年数据，抬高每区期望数；
2. **经验贝叶斯（EB）平滑**：把各区率向全局均值收缩，收缩幅度随
   该区人口增大而减小 [模型知识—待核实：具体实现见 GeoDa 文档]；
3. 报告纪律：平滑值与原始值**并列呈现**，不得只给平滑后数字；
   说明平滑方法、参数与软件版本。

## 3 · 聚集性检测方法概述

两类常用方法，择一并说明理由：

1. **全局/局部空间自相关（Moran's I 与 LISA）**：检验"率值相近的
   区是否在空间上相邻"。Moran's I 给全局一个数，LISA 定位到区
   [模型知识—待核实]。工具建议：**GeoDa**（开源桌面软件）
   [模型知识—待核实]。
2. **空间扫描统计量**：用移动扫描圆/窗口寻找"窗口内率显著高于
   窗口外"的聚集区，输出最可能聚集区与统计量 [模型知识—待核实]。
   工具建议：**SaTScan**（免费软件，需注册）[模型知识—待核实]。

使用纪律：

- 空间权重/扫描参数的设定（邻接定义、最大窗口）影响结果，必须
  写明并做一至两组参数敏感性对比；
- 聚集显著 ≠ 病因线索成立：聚集可能源于诊断可及性、报告差异、
  人口结构；讨论节列出非病因解释；
- 本技能只给规程与工具指针，实际运行由用户在相应软件中完成，
  结果与参数截图/日志落盘并登记 provenance。

## 4 · 分级统计地图（choropleth）制作规范

1. **画什么**：优先画率或 SMR，不画原始计数；确需展示计数时
   图题/图注写明"病例数，未按人口校正"。
2. **分级数**：4–7 级为宜 [模型知识—待核实：制图学通行建议]；
   分级方法（等距/分位数/自然断点）写进图注，分位数法每级区数
   相近但不反映数值间距，等距法反之——按讲述目的选择并说明。
3. **配色**：使用色盲友好的顺序色板（如单色渐深或 ColorBrewer
   顺序系列）[模型知识—待核实]；避免红绿对比；发散色板仅用于
   以某基准为中心的双极变量（如 SMR 以 1 为中心）。
4. **图件要素**：标题含指标+时间窗、图注含分级方法与数据来源
   标签、比例尺/指北针按出版要求、底图边界来源合规声明。
5. **伦理**：个案点图（dot map）不得精确到可再识别的位置；
   聚集区结果对外发布前考虑对当地居民的影响（guardrail 第 8 条）。

## 输出模板

```markdown
## 空间分析底稿（<日期>）

### 数据与口径
- 病例：<来源标签>，时间窗 <起止>；人口：<来源标签>，口径年 <年份>
- 行政区划：<层级与版本>，区划调整对齐说明

### SMR 表
（第 1 节表格，含 λ 取值与来源）

### 稳定性
- 小期望数地区（E<阈值的区）：<列出>，处理方式：合并/EB 平滑/仅提示
- 平滑与原始并列图：<路径>

### 聚集性
- 方法与工具：<Moran's I（GeoDa）/ 扫描统计量（SaTScan）>，
  参数：<权重/窗口设定>
- 结果：<全局统计量/聚集区清单>[实验数据]
- 非病因解释：<诊断可及性/报告差异/人口结构>

### 地图
- 图件路径：<figures/…>；分级方法、色板、来源标签齐备性自查通过
```

## 本技能不做什么

- **不替代 GIS/统计软件**：不手算 Moran's I 或扫描统计量；工具运行
  与参数日志由用户完成，本技能审口径与解读。
- **不做生态学因果推断**：地区水平的相关/聚集不推出个体水平因果
  （生态学谬误）；结论措辞限于"提示空间分布特征"。
- **不提供精确到户的病例点位展示**：再识别风险高的展示形式一律
  劝阻。
- **不判断行政区划与地图合规细节**：国界与争议地区表达以官方
  标准地图为准，拿不准时提示用户查标准地图服务，不自行裁决。
- **不编造方法学参数**：平滑方法参数、检验公式等查文档后引用，
  模型印象标 `[模型知识—待核实]`。

## 收尾与下一步

1. 汇总：SMR 表关键行、稳定性处理、聚集性结论（含非病因解释）。
2. 指向产物（SMR 表、地图、工具日志）并登记 provenance。
3. 建议下一步：
   - 发现聚集区需现场核实 → `outbreak-analysis`；
   - 地图与结果写入报告/论文 → `epi-writing`；
   - 缺人口或边界数据 → `epi-data-access`。

