信息速览

WHO 全球卫生观察(WHO Global Health Observatory)— 全球卫生指标开放数据库 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | WHO Global Health Observatory(GHO) |
| 英文全称 | WHO Global Health Observatory data repository |
| 别名/简称 | GHO、GHO data repository、WHO GHO OData API、Athena API(已退役) |
| 疾病分类 | 全疾病谱统计监测(ICD-11:1C60-1C6Z 艾滋病毒病 / 1E90-1E97 结核病 / 2A00-2F9Z 肿瘤 / BA00-BE2Z 循环系统疾病,详见 §2.1) |
| SNOMED CT | 385481009 Epidemiologic approach / 64572001 Disease / 404684003 Clinical finding / 116154003 Population(详见 §2.1b) |
| 数据模态 | 国家-年面板统计(时间序列)、聚合指标数据库,无患者级数据 |
| AI 任务类型 | 时间序列预测、跨国面板回归、健康不平等分析、聚类与分层、缺失值插补、SDG 监测仪表盘 |
| 样本总数 | 1,000+ 官方指标 × 194 个成员国;单指标(WHOSIS_000001)全量 12,000+ 行观测 |
| 数据大小 | /Indicator 指标清单约 400 KB;单指标导出 0.1-5 MB 量级,按需增量获取 |
| 数据格式 | CSV / XLSX / JSON(OData v4)/ XML |
| 许可证 | CC BY-NC-SA 3.0 IGO |
| 访问级别 | 开放(无需注册、无需 API key) |
| DUO 标签 | 不适用(聚合人口级统计,无人类受试者个体数据) |
| 语言 | 英文 |
| 首发日期 | 2009 |
| 最后更新 | 持续滚动更新(每 1-2 周,截至 2026-09) |
| 发布机构 | World Health Organization(世界卫生组织,WHO) |
| 官方主页 | https://www.who.int/data/gho |
| 下载地址 | https://ghoapi.azureedge.net/api(OData API)/ https://www.who.int/data/gho/data/indicators(网页下载) |
| AI 就绪度评分 | ⭐⭐⭐(3/5)— API 免 key 开放、指标元数据注册库完备、多格式下载;扣分项:长格式需自行透视、Value 字符串混入置信区间、聚合行与国家行混杂、无官方数据划分与预处理脚本 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、全球健康统计口径与任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(OData 观测行结构与维度体系)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
审核方式:交叉审核
数据时效声明:本页面事实性内容对应 2026-09-05/07 检索批次的公开来源;GHO 处于平台过渡期,接口与指标状态可能变化,使用前请以官方文档为准。
利益冲突声明:千方病案医数集与世界卫生组织(WHO)无任何商业利益关联。本页面不销售 GHO 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受 WHO 或其下属机构的任何形式资助。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。GHO 数据按 WHO 数据使用条款以 CC BY-NC-SA 3.0 IGO 许可发布,仅限公共卫生目的使用;修改数据集需 WHO 事先书面授权,禁止向第三方出售或暗示 WHO 认可(WHO 数据条款)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 📌 30 秒速览
这是什么? GHO(Global Health Observatory,全球卫生观察)是世界卫生组织(WHO)自 2009 年起运营的旗舰开放卫生统计门户,为 194 个成员国提供 1,000+ 项优先健康主题指标(官方 About 页)。它不是医院病历,也不是患者队列,而是一张「国家 × 年份 × 指标」的全球面板:出生预期寿命、五岁以下死亡率、全民健康覆盖(UHC)指数、卫生人力密度、烟草使用、贫血患病率、灾难性卫生支出等,都能按国家、年份、性别等维度横向比较。
为什么重要? 它是 WHO 世界卫生统计报告(World Health Statistics)、健康相关可持续发展目标(SDG 3)监测以及几乎所有「跨国健康比较」研究的官方数据底座。各国上报数据经 WHO 与联合国技术机构统一估计与磋商,保证了跨国家、跨时间的可比性——这是直接抓取各国统计局数据难以做到的(HIQA 收录说明、OWID 数据源注释)。
我能用它做什么? 免 key 调用 OData API 拉取任一指标的完整时间序列;训练跨国时间序列模型预测健康指标走势;做健康不平等与区域差异分析;或者仅仅把 194 国的生命期望画成一张可靠的地图。本 Wiki 的 §6 提供了从 API 分页到清洗建面的完整可运行代码。
§1.1 摘要
GHO 的数据生产采用「成员国上报 + WHO/UN 统一估计 + 国家磋商」三级流程:生命登记(CRVS)、普查、住户调查(DHS/MICS/STEPS)等原始数据由各国年度上报,WHO 技术部门与联合国伙伴机构(如 UNICEF、UNAIDS、世界银行)按指标特定的方法学生成可比估计序列,再经国家磋商后发布(官方 About、OWID 方法注释)。门户每 1-2 周滚动更新,核心统计多为年度频率(HIQA)。
机器获取入口是 OData v4 API(基址 https://ghoapi.azureedge.net/api),无需 key 与注册;/Indicator 端点枚举约 2,000 条指标代码(含多版本与语言变体),每个指标以稳定代码(如 WHOSIS_000001 = 出生预期寿命)检索,返回逐观测的 JSON 记录,含国家码(ISO 3166-1 alpha-3)、年份、性别/年龄分层、数值与置信区间(官方 API 文档、healthapi 文档)。需要注意:响应默认每页 1,000 行、Value 是混有置信区间的字符串、WHO 区域与收入组聚合行与国家行同流混合,这三大特性构成了下游清洗的主要工作量(详见 §6.5 坑点 1-3)。
版本语义上,GHO 没有可引用的版本号:同一 URL 在不同日期返回的内容可能不同(滚动修订)。因此严肃项目应把「拉取日期」当作版本标识,把 §4.0 的快照仓库当作不可变工件;本 Wiki 的所有数字均标注来源与访问日期,复现时请对齐对应快照。
§1.2 战略价值
维度一:全球健康监测的「官方事实标准」。 在 GBD(IHME)、世界银行 WDI/HNP、UNICEF Data 等并存的国际数据库生态中,GHO 是唯一以 WHO 官方口径发布、并与 194 个成员国完成磋商的统计库。WHO《世界卫生统计》年度报告(2005 年起持续出版)即以 GHO 为数据底座(Windsor 大学图书馆指南)。对 AI 应用而言,这意味着:以 GHO 为训练/评测基准的结论更容易被公共卫生机构采信,也更容易与 SDG 3 指标框架对齐。
维度二:横向可比 + 纵向深时序的双重稀缺性。 与按统一建模覆盖 369 种疾病伤害的 GBD 不同,GHO 各指标采用「为该指标定制」的估计方法,且部分指标序列可回溯至 1950 年代甚至 1930 年代(HIQA、OWID)。这使 GHO 同时适合两类互补任务:跨国横截面比较(健康不平等、效率分析)与长时序预测(人口老龄化、卫生人力缺口推演)。WHO Health Inequality Data Repository 中源自 GHO 的分层数据(酒精 22 项、烟草 23 项、NCD 91 项、医疗体系 28 项指标,覆盖 198 个国家/地区)进一步支持公平性子群体分析(WHO 不平等数据页)。
维度三:零门槛的机器可及性。 免 key、免注册、无 DUA——在医疗数据集普遍受凭证与协议保护的当下,GHO(及其姊妹门户 data.who.int)是极少数可以匿名程序化访问的权威健康数据源。对教学、原型验证、LLM 工具调用(function calling 取数)等场景,这几乎是唯一选择;其代价是 API 层缺少合同时限承诺(OData v1 已宣布弃用),生产系统必须自带缓存与适配层(坑点 8、§6.10)。
§1.3 同类数据集横向对比
| 数据集 | 维护机构 | 规模 | 模态/粒度 | 与 GHO 的差异化 |
|---|---|---|---|---|
| WHO GHO | WHO | 1,000+ 指标 / 194 国 | 国家-年面板,含性别/年龄/公平分层 | WHO 官方口径、国家磋商、SDG 3 监测底座 |
| WHO Global Health Estimates(GHE) | WHO | 154 项死亡率/DALY 指标 / 197 个国家地区 | 国家-年-年龄-性别 | 统一建模的死因估计序列,GHO 中相关指标的直接上游(WHO 不平等数据页) |
| GBD Study(IHME) | IHME | 369 种疾病伤害 / 204 国 | 国家-年-年龄-性别,统一建模 | 独立估计口径、自有人口估计,与 WHO 数字可交叉验证但不可混用(OWID) |
| World Bank WDI / HNP | 世界银行 | WDI 1,600+ 指标 | 国家-年,含经济变量 | 与 GHO 大量重叠但补充社会经济变量,常作协变量源(Windsor 指南) |
| WHO Health Inequality Data Repository | WHO | 数十个模块(GHO 源子集 22-91 项/模块) | 国家 × 分层(财富五分位、教育、居住地等) | 全球最大的分国家分群体健康 disaggregated 数据集(WHO) |
| UNICEF Data / UNAIDS | UNICEF / UNAIDS | 主题专精 | 国家-年 | GHO 中相应指标的原始供应方之一,提供更细主题数据 |
读表的正确姿势:GHO 与各竞品不是「谁更准」的关系,而是「口径不同」的关系——同一指标(如五岁以下死亡率)在 GHO、GHE、GBD、UN IGME 中的数值常各不相同,源于估计模型、人口分母与调和规则差异。跨库合并时的第零步永远是核对指标定义而非直接 join(OWID 差异专页)。
§1.4 版本与平台时间轴
GHO 的「版本」是平台级而非数据级:数据内容滚动修订,平台接口则经历了三代更替。下表梳理了对使用者可感知的平台里程碑:
| 时间 | 平台/接口 | 说明 |
|---|---|---|
| 2009 | GHO 上线 | WHO 旗舰卫生统计门户启用,部分序列回溯历史数据(HIQA) |
| 2010 年代 | Athena API(Minerva 前端) | 早期 XML 为主的数据服务,提供 CSV/JSON 导出(Athena 示例页) |
| 2020 年前后 | GHO OData API(ghoapi.azureedge.net) |
OData v4 + JSON,成为现行主接口(官方文档) |
| 2023-2024 | GHO 新门户 + data.who.int | 门户改版,与 WHO Data Hub 共享单一底层数据源(legacy 公告) |
| 2025 年底 | Athena/Minerva 确认退役;GHO OData API 官方宣布弃用 | WHO 通告将切换到 World Health Data Hub OData API,新接口采用标准化字段命名(legacy 公告) |
| 2026-08 | 过渡期 | 第三方审计发现官方宣布的 Hub OData 端点链接仍为占位符,旧 GHO OData 接口仍在服务但间歇性缓慢(Apify 审计记录) |
时间轴的工程含义:任何以 GHO 为依赖的生产系统都应把「接口断代」当作一年内大概率事件来设计——旧 Athena 用户曾经历整链路失效,同样的剧本可能在新 Hub OData 上线时重演(坑点 8 给出了适配层方案)。
§1.5 典型应用场景
- 健康指标时间序列预测:用 194 国 × 数十年序列训练 XGBoost/N-BEATS 等模型,外推预期寿命、UHC 指数等(文献示例见 §8.1)。
- 健康不平等分析:结合 Health Inequality Data Repository 的财富五分位/教育/居住地分层,量化国内健康差距。
- 跨国面板回归与政策评估:卫生支出、人力密度对死亡率的影响估计(以 WDI 补充经济协变量)。
- SDG 3 监测仪表盘:Power BI/Superset 直连 OData feed,构建官员级监测看板(官方 Power BI 示例)。
- 缺失数据插补基准:各国覆盖不均造成天然稀疏面板,适合评估 MICE/矩阵补全算法的真实场景(覆盖差异证据)。
- 地理空间可视化:以国家 ISO 码直接对接地图库(folium/kepler.gl)绘制指标 choropleth,SpatialDim 与 GeoJSON 的 ISO alpha-3 编码天然对齐。
- 数据新闻与科普:记者与 NGO 以 GHO 数值制作国别对比图表;Our World in Data 的健康图表即以 GHO 为原始源并公开其清洗管道(OWID 处理说明)。
每个场景共同的先决条件是:先完成 §6.3 的清洗(剔除聚合行、解析置信区间、对齐年份),再进入建模或可视化——跳过这一步是下游返工的首要原因(§6.5 坑点 1-3)。
§2 医学背景
§2.1 ICD-11 主题映射表
GHO 是全疾病谱的统计监测库,其指标通常不直接携带病例级 ICD 编码,而是以主题归类;下表给出核心主题与 ICD-11(2024 版,2022 年 1 月生效)相应章节/编码范围的对应关系,供下游任务对齐诊断分类使用。
| GHO 主题 | 代表指标 | ICD-11 定位(章节/编码范围) | 说明 |
|---|---|---|---|
| 传染病监测 | 艾滋病毒病发病率、结核发病率 | 1C60-1C6Z(艾滋病毒病)/ 1E90-1E97(结核病) | HIV 数据由 UNAIDS 估计供给(OWID) |
| 疟疾与被忽视的热带病 | 疟疾发病率、干预覆盖 | 1F40-1F4Z(疟疾)/ 第 01 章其他传染病 | 主题门户单列 Malaria 与 NTD |
| 肿瘤 | 癌症 5 年生存率、发病率 | 2A00-2F9Z(第 02 章肿瘤) | 另有 Cancer Survival 主题门户 |
| 内分泌/营养/代谢 | 糖尿病患病率、儿童消瘦 | 5A10-5A14(糖尿病)/ 第 05 章营养性疾病 | 儿童营养联合估计 JME 由 UNICEF/WHO/世界银行共同发布 |
| 循环系统 | 血压升高患病率、心血管死亡率 | BA00-BE2Z(第 09 章循环系统) | GHE 死因统计的主要类别之一 |
| 呼吸系统与环境卫生 | 急性呼吸道感染、空气污染归因死亡 | CA00-CB7Z(第 11 章呼吸系统) | 环境归因死亡由环境健康主题估计 |
| 精神健康 | 自杀率、精神卫生人力 | 6A00-6E6Z(第 06 章精神行为障碍) | Global Dementia Observatory 为并列门户 |
| 孕产妇/新生儿/儿童 | 孕产妇死亡率、五岁以下死亡率 | 第 17 章(孕产妇-围产期相关条目) | MDG 时代延续的核心监测指标族 |
| 伤害与道路安全 | 道路交通死亡率 | 第 20-23 章(损伤中毒及外因) | Road Safety 主题与 PAHO 协同 |
注:ICD-11 编码范围仅用于主题定位示意;GHO 指标数值是人群统计口径,与病例级编码(ICD-11 编码表)不属于同一抽象层级。指标级精确定义见 WHO 指标元数据注册库。
§2.1b SNOMED CT 映射表
GHO 无病例级临床术语;下表将数据库的统计抽象映射到 SNOMED CT 的流行病学与人群健康概念,供知识图谱/本体工程引用。
| 概念标签 | ICD-11 定位 | SNOMED CT 码 | 术语 |
|---|---|---|---|
| 流行病学统计方法 | 全库适用 | 385481009 | Epidemiologic approach(qualifier value) |
| 疾病(人群统计对象) | 全章节 | 64572001 | Disease (disorder) |
| 临床发现(指标类型抽象) | 症状/体征类指标 | 404684003 | Clinical finding (finding) |
| 人口(空间聚合单元) | SpatialDim 维度 | 116154003 | Population (population group) |
§2.2 全球健康统计背景与流行病学
全球健康统计的原始骨架是生命登记与 vital statistics(CRVS):各国按 ICD 规则上报分死因死亡,WHO Mortality Database 汇集后经质量筛查进入全球健康估计(GHE)。多数发展中国家缺乏完整 CRVS,WHO 采用专题调查(DHS、MICS、STEPS)与建模估计补位;在既无可用死因数据也无替代来源时,WHO 直接采用 IHME GBD 的结果填补空档(OWID 方法说明)。GHE 死亡率与 DALY 指标族覆盖 197 个国家/地区、各 154 项指标(WHO 不平等数据页)。
这一生产链条决定了 GHO 的三层抽象:原始上报层(国家的登记/调查数据,覆盖参差)→ 统一估计层(WHO/UN 模型产出的可比序列,全量覆盖)→ 聚合发布层(GHO 门户与 API,含区域/收入组汇总)。AI 建模者接触到的始终是第二、三层;理解「同一个指标可能同时存在上报值与估计值」,是避免跨来源混淆的前提(官方 About)。
流行病学背景上,GHO 主题结构与全球疾病转变同步:非传染性疾病与风险因素(NCD)模块覆盖 91 项分层指标(烟草、酒精、血压、血糖、肥胖、体力不足等),传染病主题保留 HIV/结核/疟疾/被忽视的热带病四大监测线,孕产妇与儿童健康指标族自 MDG 时代延续至今,环境卫生与 UHC 模块则对应 SDG 3 的后发目标。COVID-19 大流行展示了聚合监测的两面性:GHO API 明确不提供 COVID-19 实时数据(由 UNOCHA HDX 的 CSV 提供),但疫情造成的预期寿命回落、免疫接种中断等「事后统计」会以年度修订形式进入 GHO。对 AI 建模者,这意味着 2020-2021 年是多国序列的显著结构断点,需要在特征工程与漂移监控中显式处理(§7.6)。
§2.3 临床/公共卫生任务定义
GHO 支持的是公共卫生层面(人群级)任务,而非个体临床任务:
| 任务类型 | 定义 | GHO 中的典型指标族 |
|---|---|---|
| 监测(Surveillance) | 按国家/年份更新官方统计,识别偏离趋势 | 死亡率、发病率、免疫覆盖率 |
| 预测(Forecasting) | 用历史面板外推指标未来值 | 预期寿命、卫生人力密度、NCD 风险因素 |
| 不平等分析(Equity analysis) | 分层比较健康服务的分配差距 | 财富五分位/教育/城乡分层的覆盖率 |
| 归因与关联(Attribution) | 估计风险因素对健康结局的人群归因 | 烟草/酒精/空气污染归因死亡 |
| 目标达成评估(Target tracking) | 对照 SDG 3、Triple Billion 目标度量进度 | UHC 指数、SDG 指标页 |
| 异常检测(Anomaly detection) | 识别序列中的断裂点与离群国家-年 | 疫情冲击、报告中断检测 |
§2.4 数据人群/聚合单元表
| 维度 | 取值 | 说明 |
|---|---|---|
| 空间(SpatialDim) | 194 个成员国(ISO 3166-1 alpha-3)+ 6 个 WHO 区域 + 收入组 + 全球 | AFR 47、AMR 35、SEAR 11、EUR 53、EMR 21、WPR 27 国(区域构成) |
| 时间(TimeDim) | 年度,多为 2000 年至今;部分序列回溯至 1950 年代甚至 1930 年代 | 各国最新年份不同(HIQA) |
| 性别(Dim1 = SEX) | SEX_BTSX / SEX_MLE / SEX_FMLE | 每国家-年通常 3 行(API 维度) |
| 年龄(Dim1/Dim2) | 指标特定(如 0-27 天、15-60 岁、30-70 岁、60+ 岁) | 详见指标元数据注册库 |
| 公平分层(部分指标) | 财富五分位、母亲教育、居住地、年龄组 | Health Equity Monitor 模块(HIQA) |
| 聚合层(SpatialDimType) | WHO 六大区域 / 世界银行收入组 / 全球 | 与国家行同流,需显式过滤(坑点 3) |
表中的每个维度都是潜在的特征轴或分组轴;但维度不是「越多越好」——分层越细,估计的模型成分越重、区间越宽。建议下游以「国家-年-性别」为默认粒度,仅在公平性研究等明确需求下启用财富/教育分层,并配合分层数据源(Inequality Repository)使用。
维度取值编码的两套写法差异值得专门强调:API 过滤参数中性别写作 MLE/FMLE/BTSX,而部分文档与维度端点展示 SEX_MLE/SEX_FMLE/SEX_BTSX 全码。两套写法在 $filter=Dim1 eq 'MLE' 这类表达式中混用会直接导致 0 行返回——遇到「明明有数据却查不出」时,优先检查维度取值写法(官方示例)。
§2.5 公共卫生价值
GHO 的价值链条是「可比数据 → 目标监测 → 资源配置」:WHO《世界卫生统计》用它对照 SDG 3 打分;Triple Billion 仪表盘用它追踪三项十亿目标;Health Equity Monitor 用分层数据定位「谁被落下」。对机器学习研究,它提供了唯一由联合国系统背书、覆盖全部成员国的纵向健康面板——这在构建「全球健康基础设施状态」类基座知识(如 LLM 医学问答的统计事实层)时不可替代。
具体到三类使用者:(1) 流行病学家与卫生经济学家用它构造跨国比较与效率前沿分析,GHO 的国家磋商机制使结果对政府有谈判效力;(2) AI 研究者把它当作「干净标签 + 天然稀疏」的真实评测床,用于时序预测、迁移学习与插补算法研究;(3) 政策与公众通过主题仪表盘直接消费结论,因此数值修正、口径变更的传播路径必须是官方单源——这正是 GHO 相对于第三方聚合库的核心优势(HIQA 收录说明、OWID 数据源注释)。
§2.6 金标准(估计流程)描述
| 要素 | 描述 |
|---|---|
| 估计/标注方式 | 成员国上报 + WHO/UN 技术机构统一估计(指标特定方法)+ 国家磋商修订(官方 About) |
| 估计者 | WHO 各技术部门与专题网络(GHE、UNAIDS、JME=UNICEF+WHO+世界银行、WHO Global Health Workforce 统计等) |
| 一致性保障 | 跨国家跨时间可比性优先于国家官方口径;多来源时按预设准则调和(OWID) |
| 性质 | 回顾性、滚动修订的官方统计估计(非实验测量、非标注任务) |
把这套流程称为「金标准」,是因为它在国际统计界承担着仲裁角色:当各国自行发布的数据互相矛盾时,WHO 磋商后的可比估计通常被联合国系统与国际媒体引用为基准。但它不是测量学意义的金标准(不是仪器读数、不是病理确诊)——使用者引用时应表述为「WHO 可比估计」而非「真值」。
§3 数据集规格
§3.0 获取渠道抉择矩阵
GHO 无「版本号」概念(滚动更新),多版本抉择实际是获取渠道的抉择:
| 你的需求 | 推荐渠道 | 大小/成本 | 理由 |
|---|---|---|---|
| 少量指标(≤20 个)全量时序 | OData API /{IndicatorCode} 逐个拉取 |
单指标 12,000+ 行以内,免费 | 自动化、可分页过滤、无登录(API 文档) |
| 指标探索与关键词检索 | /Indicator?$filter=contains(IndicatorName,'…') |
列表约 400 KB,缓存本地 | 代码不可猜,必须先检索(§6.5 坑点 4) |
| 单指标快速人读/Excel 分析 | GHO 网页指标页下载 | CSV/XLSX 即用 | 网页已解析 Value 与 CI 列 |
| 分群体不平等研究 | WHO Health Inequality Data Repository | 免费 CSV/数据库 | 预置财富/教育/居住地分层(WHO) |
| BI 工具直连 | Power BI OData Feed | 免费连接器 | 官方支持 OData feed 导入(API 文档) |
| COVID-19 类实时疫情数据 | UNOCHA HDX CSV | 免费定期更新 | GHO API 明确不提供 COVID 数据(GHO 主页) |
矩阵背后的原则:GHO 的最优用法是「官方口径的国家-年指标」,凡偏离这一粒度的需求(实时疫情、亚国家、个体、高频)都应换渠道而非硬凑。渠道之间数据可能重叠(Inequality Repository 的 GHO 源模块与 API 取数高度重合),但分层深度与更新节奏不同,选错渠道的典型症状是「拿不到想要的分层」或「发现两处数字不一样」——后者多半不是错误,而是渠道间修订节奏差(坑点 6 的变体)。
§3.1 模态详情
GHO 是单一模态的聚合统计数据库:不包含影像、波形、文本或个体记录。其「样本」是观测行(observation):一个指标在某国家、某年份、某分层上的一个数值(含点估计与置信区间)。模态内部差异体现在维度丰富度——有的指标只有国家-年两维,有的带有性别、年龄、财富五分位、城乡多维交叉(官方 API 文档)。
从 AI 工程视角,该模态有三个决定性特征:其一,长格式稀疏——所有指标共用一张观测大表,任何分析都要先按指标筛选再透视成宽表,宽表中的空洞(国家 × 年份缺失)是常态而非异常;其二,字符串噪声——面向人读的 Value 列与面向机器的 NumericValue 列并存,机器管线必须只认后者并用前者回补区间;其三,多粒度同流——国家行、WHO 区域行、收入组行、全球行在同一响应里,靠 SpatialDimType 区分。这三个特征共同定义了 §6.3 预处理管线的设计目标。
§3.2 主题与指标规模表
官方口径下 GHO 提供 1,000+ 项优先主题指标(About);OData /Indicator 端点枚举约 2,000 条指标代码(含同指标多版本/语言变体),第三方完整枚举亦有 3,000+ 条记录的说法(healthapi、Apify)。WHO Health Inequality Data Repository 中源自 GHO 的四个模块规模如下(提取时间 2025-10,WHO 不平等数据页):
| 模块(源出 GHO) | 指标数 | 国家/地区数 | 分层维度 |
|---|---|---|---|
| 酒精使用 | 22 | 198 | 性别 |
| 烟草使用 | 23 | 198 | 性别 |
| 非传染性疾病与风险因素 | 91 | 198 | 性别 |
| 医疗体系与可及性 | 28 | 198 | 年龄/经济状况/居住地/性别 |
GHO 门户的主题导航覆盖约 40 个专题(每专题对应一个或多个指标族),高频使用的主题门户包括:
| 主题门户 | 内容概要 | 典型下游任务 |
|---|---|---|
| Global Health Estimates | 预期寿命、死因、DALY 统一估计序列 | 时序预测、死因结构分析 |
| Universal Health Coverage(SDG 3.8) | UHC 服务覆盖指数与灾难性支出 | 目标监测、不平等分析 |
| Health Workforce | 医生/护理/助产密度与缺口预测 | 人力规划回归 |
| Noncommunicable Diseases | 风险因素患病率与 NCD 死亡 | 风险因素面板建模 |
| Immunization | 疫苗覆盖率(DTP、Measles 等) | 覆盖预测、中断检测 |
| Health Equity Monitor | 按财富/教育/居住地分层的服务指标 | 公平性分解分析 |
| Nutrition(含 JME) | 儿童生长迟缓/消瘦/超重 | 联合估计追踪 |
| WASH | 饮用水、环境卫生与个人卫生服务 | 环境健康关联研究 |
§3.3 数据格式表
| 格式 | 载体 | 典型用途 |
|---|---|---|
| JSON(OData v4) | ghoapi.azureedge.net/api |
程序化拉取、增量同步(主通道) |
| CSV | 网页指标页导出 / Athena 遗留接口 | 快速人读、Excel 分析 |
| XLSX | 网页指标页导出 | 业务与政策报告 |
| XML | OData $metadata / Athena 遗留 |
模式发现、企业集成(API 文档) |
格式选择的工程建议:以 JSON(OData)为唯一采集格式落盘原始层,CSV/XLSX 仅作交付层产物——原始层保留 @odata.context 与完整维度字段,交付层才做列裁剪与类型转换;这保证任何一次清洗 bug 都能从原始层重放修复,而不必重新打 API(服务在迁移期并不总是可用,见坑点 8)。
§3.4 存储大小
无单一全库打包下载。经验量级:/Indicator 清单约 400 KB(应本地缓存);单指标全量观测 12,000+ 行(如 WHOSIS_000001 跨 30+ 年,Apify 文档、healthapi)。构建 100-200 个核心指标的本地仓库(JSON 落盘 + Parquet 宽表)通常仅需数百 MB 以内。
§3.5 标注方式(统计口径)
对应机器学习语境的「标签」,GHO 的数值有三类产生方式:(1) 直接上报——国家行政/登记数据经 WHO 质量筛;(2) 统一估计——WHO/UN 模型生成可比序列(GHE 类指标);(3) 联合估计——多机构共同发布(如 JME 儿童营养)。每条指标的定义、方法学与数据来源可在指标元数据注册库逐条查证。
三类口径在建模上的含义截然不同:直接上报值承载真实世界的测量误差,统一估计值承载模型假设的系统误差(且随版本修订),联合估计值则受多机构调和规则约束。把三者混为一列输入模型,等于把三种不同性质的过程噪声叠加在同一个标签上——正确的做法是在宽表中为每个指标标记口径类型,敏感性分析时按口径分组重跑(OWID 方法说明)。
§3.6 估计者资质与一致性
估计由 WHO 技术部门与联合国伙伴机构的专业统计团队完成(非众包、非自动标注);「一致性」通过跨机构调和与成员国磋商保证。与临床试验标注不同,GHO 数值不提供 inter-rater kappa 类一致性指标,可比性依据是方法学文档与国家磋商记录(官方 About)。联合估计的典型代表是儿童营养联合估计(JME),由 UNICEF、WHO 与世界银行三方共同发布,同一指标在三个机构的门户中数值完全一致——遇到不一致时应首先怀疑自己拉错了指标代码或版本(坑点 4)。
§3.7 采集周期
基础数据年度汇编(各国上报),门户整体每 1-2 周滚动更新一次;指标数值多在 WHO 年度估计发布后集中刷新(HIQA)。这个双节奏(年度数值 + 双周平台)意味着:连续两次拉取之间大概率看到的是「无变化」,而一旦变化往往是一批指标同时刷新——增量同步策略应以「年度发布窗口」为触发器,而非依赖双周轮询的diff。
§3.8 地域覆盖
全部 194 个成员国均有至少部分指标覆盖,但密度极不均匀:预期寿命类近全覆盖,灾难性卫生支出(FINPROTECTION_CATA_TOT_10_POP)仅约 80 国且存在多年缺口(覆盖差异)。除国家行外,响应中同时包含 6 个 WHO 区域、世界银行收入组与全球聚合行(必须显式过滤,见坑点 3)。区域国数合计恰为 194(47+35+11+53+21+27),可用作国家清单完整性的快速校验锚点。
§3.9 服务基础设施规格
以设备规格不适用于本数据集,代之以服务端事实:OData API 托管于 Azure CDN(ghoapi.azureedge.net),无文档化限流但重负载可能触及基础设施上限;社区探针记录到单次请求延迟最高约 19.4 秒与偶发失败(healthapi、探针历史)。对延迟敏感的应用(交互式问答、在线仪表盘)应前置一层缓存而非直连 API;批处理应用则按 §6.10 的礼貌策略串行拉取即可。
§3.10 深度溯源链
原始来源(各国 CRVS/普查/调查)→ 国家年度上报 → WHO/UN 技术机构估计模型 → 国家磋商 → GHO 发布(OData API/网页/报告)→ 下游再分发(OWID、QoG、世界银行 Data360 等,均有各自的清洗规则)。引用时 WHO 要求的完整格式为:World Health Organization. [数据集或指标标题]. Global Health Observatory. [具体 URL], 访问日期(Data360 元数据 PDF)。
溯源链上每个环节都有对应的责任主体与可查证文档:国家层(CRVS 体系说明与调查报告)、估计层(指标注册库的方法学摘要)、发布层(GHO 关于页与 FAQ)、再分发层(各平台的清洗管道说明,如 OWID 公开其全部处理代码)。下游 AI 工作若需要审计「某个数字从哪来」,标准路径是从观测行的 Comments 字段出发,逆行至注册库条目,再至估计方法文档——三层文档链完整覆盖了绝大多数指标。
§4 数据结构
§4.0 目录树(API 导出的本地组织)
GHO 无官方打包文件;推荐按如下结构自建本地仓库(由 §6.2/§6.3 脚本生成):
gho_warehouse/
├── indicators.json # /Indicator 全量清单(约 400 KB,缓存)
├── dimensions/
│ ├── COUNTRY.json # 国家码-名称映射(194 国 + 聚合层)
│ ├── SEX.json # SEX_BTSX / SEX_MLE / SEX_FMLE
│ └── REGION.json # AFR/AMR/SEAR/EUR/EMR/WPR
├── raw/ # 原始 OData 响应(按指标代码落盘,可复现)
│ ├── WHOSIS_000001.json # 出生预期寿命(12,000+ 行)
│ ├── WHOSIS_000015.json # 五岁以下死亡率
│ ├── MDG_0000000001.json # 婴儿死亡率
│ └── FINPROTECTION_CATA_TOT_10_POP.json
├── processed/
│ ├── long.parquet # 清洗后长表(仅国家行、数值列已解析)
│ └── wide_life_expectancy.parquet # 宽透视示例:国家 × 年份
└── snapshots/
└── 2026-09-05/ # 快照目录(应对回溯修订,见坑点 6)
两点设计说明:其一,raw/ 永远保存 API 原始响应而不做任何改写——这是全库唯一的事实锚点,清洗逻辑迭代多少次都能重放;其二,snapshots/ 以日期为目录名,任何论文/模型卡引用的数据都指向特定快照,而不是「最新版」。
§4.1 DAIMS 字段字典(OData 观测行核心字段)
下表覆盖 WHOSIS 族指标响应中出现的高频字段;示例值取自 WHOSIS_000001(出生预期寿命)2021 年日本 BTSX 行。
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| IndicatorCode | string | 指标稳定代码,大小写敏感 | WHOSIS_000001 | 主键之一/任务选择 | 无 | 无 | 见 /Indicator 清单 |
| IndicatorName | string | 指标英文名 | Life expectancy at birth (years) | 语义检索 | 命名跨版本变动 | 无 | 自由文本 |
| SpatialDim | string | 国家/聚合层代码(ISO alpha-3) | JPN | 主键之二/分组键 | 无 | 无 | COUNTRY 维度枚举 |
| SpatialDimType | string | 空间类型 | COUNTRY | 过滤聚合行(关键) | 无 | 无 | COUNTRY/REGION/INCOME 等 |
| TimeDim | integer | 年份 | 2021 | 主键之三/时序索引 | 无 | 无 | 1930s 至今(按指标) |
| TimeDimType | string | 时间类型 | YEAR | 区间指标判定 | 无 | 无 | YEAR 等 |
| TimeDimensionBegin/End | date | 跨年区间起止 | 2016-01-01 | 区间指标对齐 | 无 | 无 | ISO 日期 |
| Dim1 | string | 第一分层(多为性别/年龄) | SEX_FMLE | 分组建模 | 无 | null = 无分层 | 指标特定 |
| Dim1Type | string | 第一分层类型 | SEX | 维度语义 | 无 | 无 | SEX/AGE 等 |
| NumericValue | float | 点估计(数值) | 84.26 | 建模目标/特征 | 继承 WHO 估计不确定度 | null = 未上报 | 指标特定 |
| Value | string | 展示值(常含置信区间) | 84.3 [83.5-85.0] | 解析出区间列 | 字符串格式混入 | 无 | 自由文本 |
| Low / High | float | 置信区间下/上限 | 83.5 / 85.0 | 不确定性建模 | 约 15-20% 记录为 null | null = 未提供 | 同数值列 |
| Comments | string | 脚注(如数据来源说明) | Estimated using… | 来源溯源 | 自由文本 | null | 自由文本 |
维度体系的完整枚举(COUNTRY/SEX/REGION 之外还有 YEAR、AGEGROUP、WORLDBANKINCOMEGROUP 等)可从
/Dimension端点获取;任何在本表中未出现的字段以$metadata与响应实况为准——平台迁移期字段命名可能变动(坑点 8)。
§4.2 「标签」分布(观测构成)
以 WHOSIS_000001 为例的全量响应构成:每国家-年通常 3 行(SEX_BTSX/SEX_MLE/SEX_FMLE),194 国 × 30+ 年 → 12,000+ 行;剔除区域/收入组聚合后国家行约占主体。指标间差异巨大:生命预期类近全覆盖,灾难性卫生支出类约 80 国且多年缺口(覆盖差异)。GHE 死亡率/DALY 族按年龄 × 性别细分达 154 项指标 × 197 个国家地区(WHO 不平等数据页)。
观测行的典型构成可概括为下表(以一个高覆盖、性别分层指标为例):
| 观测类型 | SpatialDim 示例 | SpatialDimType | 行数贡献 | 处理 |
|---|---|---|---|---|
| 国家行 | JPN、BRA、NGA | COUNTRY | ≈194 × 年数 × 3 | 保留(分析主体) |
| WHO 区域行 | AFR、EUR | REGION | 6 × 年数 × 3 | 剔除或分表(坑点 3) |
| 收入组行 | WB_HI、WB_LI | INCOMEGROUP | 4 × 年数 × 3 | 剔除或分表 |
| 全球行 | GLOBAL | GLOBAL | 1 × 年数 × 3 | 剔除或分表 |
| 无分层行 | 同上 | — | 部分指标 Dim1 为 null | 按指标语义保留 |
两种行构成交织的后果是:任何未声明粒度的「求和/求平均」都没有意义——聚合行与国家行的混算会把加权和算成双重计数。团队内值得推广一条纪律:长表入库前强制丢弃非 COUNTRY 行,聚合对比需求由单独的聚合表承接(§6.3 步骤 1 的扩展做法)。
§4.3 关键统计
- 空间单元:194 个成员国 + 6 个 WHO 区域(AFR 47、AMR 35、SEAR 11、EUR 53、EMR 21、WPR 27)+ 世界银行收入组 + 全球。
- 性别维度恒为 3 值:SEX_BTSX/SEX_MLE/SEX_FMLE(API 维度)。
- 指标清单单页默认 1,000 条,$top 可调;数据端点默认页大小 1,000 行,须跟进
@odata.nextLink(分页事实)。 - 约 15-20% 记录 Low/High 为 null 而 Value 字符串仍含区间(解析统计)。
- 高覆盖参考点:WHOSIS_000001 全量 12,000+ 行、跨 30+ 年;低覆盖参考点:FINPROTECTION_CATA_TOT_10_POP 约 80 国、存在多年缺口——两者行数差一个数量级,批量拉取前应按指标预估行数(Apify 文档)。
/Indicator清单约 400 KB,包含 IndicatorCode、IndicatorName、Language 三字段;同一名下的多语言/多版本条目会重复出现,去重键用 IndicatorCode(hepius 参考)。
覆盖极不均匀是 GHO 与合成基准最大的区别:任何「国家-年 × 指标」宽表的密度完全由指标选择决定。建议在项目 README 中记录每个指标的覆盖率(非空国家-年数 / 理论满额),并据此决定插补策略或直接弃用低于阈值的指标。
一个实用的分层经验法则:覆盖率 ≥ 90% 的指标可直接进宽表建模;60-90% 建议配合插补敏感性分析;< 60% 时改用长格式事件级分析或弃用。阈值本身应随任务校准——预测任务对缺失敏感,横截面描述则宽容得多。
§4.4 数据层级
GHO 数据库
└── 主题(Theme:UHC、卫生人力、NCD、WASH、公平……)
└── 指标(Indicator:WHOSIS_000001 等,附元数据注册库条目)
└── 观测(Observation:国家 × 年份 × 分层,唯一业务粒度)
└── 数值(NumericValue + Low/High 置信区间)
与影像/EHR 数据集的「患者 → 检查 → 序列 → 切片」四级层级不同,GHO 的层级在「观测」就已到底——观测之下没有更低粒度的记录。这带来两个直接推论:其一,DAIMS 中的「多模态对齐」「去标识化」等检查项在本库要么不适用要么天然满足;其二,任何「更细粒度」的需求(个体、设施、亚国家)都必须换数据源(DHS/MICS 微观数据、PAHO/区域局数据),而非在 GHO 内挖掘。
§4.5 缺失值与信息性缺失编码表
| 情形 | 表现 | 语义 | 处理建议 |
|---|---|---|---|
| 指标无该国该年记录 | 该组合行不存在 | 未上报/未估计 | 缺失 ≠ 0;插补前先区分机制(hepius 参考) |
| Dim1 为 null | 行存在但分层空 | 指标不分层 | 用 $filter=Dim1 eq null 显式选取(API 文档) |
| Low/High 为 null | 区间列空但 NumericValue 存在 | 未发布区间 | 从 Value 字符串回填(坑点 2) |
| Value 为非数值字符串 | 「…」「Not applicable」等 | 不适用/保密/过小 | 按指标注册库注释归类 |
| 同键多行(多值) | (指标, 国家, 年份, 分层) 出现 2 行以上 | 回溯修订叠加/来源切换 | 保留最新并记录(坑点 6) |
| 序列中断 | 某国连续多年无记录 | 报告中断/冲突/制度变迁 | 不插补长缺口,标注后建模 |
§5 数据划分与使用建议
§5.1 官方划分
无。GHO 是统计数据库而非基准任务集,官方不提供 train/val/test 划分;所有划分由使用者为具体任务自建。这既是短板也是自由度:研究者可以按科学问题定义最贴合部署场景的切分,但相应地必须在论文/模型卡中把切分协议写透(§8.3),否则结果无法横向比较。
§5.2 社区惯例划分
- 时间外推(推荐):以 2000-2015 训练、2016-2021 测试,模拟「预测未来」;与 GHE/GBD 的年度发布节奏对齐。生命预期预测文献普遍采用随机 80/20 切分(如 Discover Applied Sciences 2023),但时间外推更贴近部署场景。
- 留国家(LOCO / GroupKFold by country):以国家为组做 K 折,检验跨国外推;避免同国多年份同时进入训练与验证(同国序列高度自相关)。
- 留指标(多指标输入时):检验模型对未见指标的泛化,适合表征学习类研究。
- 区域留出(GroupKFold by WHO region):按六大区域整块留出,检验跨地理泛化;这是最严格的切分,得分显著低于按国家切分属正常现象。
§5.3 泄漏风险(重点)
- 同国跨年自相关:随机切分会把 2019 年的日本放进训练集、2020 年的日本放进测试集,得分虚高。必须 GroupKFold(group=国家)或时间外推。
- 跨指标信息共享:WHO 的多指标估计共享同一批输入数据(同一调查/登记系统),多指标合并建模时,一个指标的「泄露」会传导至相关指标。
- 聚合行重复计入:区域/全球行本身就是国家行的加权汇总,若混入训练将构成直接泄漏(坑点 3)。
- 回溯修订泄漏:WHO 滚动修订意味着「2021 年发布的 2015 年值」与「2026 年发布的 2015 年值」可能不同;用最新快照回测历史预测会引入修订后信息(坑点 6)。
- 快照穿越:为「预测 2021」的任务用 2026 年拉取的数据(含 2022 年后修订与补充的回溯列),时间上虽无重叠,信息上已含未来。严格做法是引用与预测目标同期发布的快照。
§5.4 交叉验证建议
对国家-年面板回归/预测:以国家为组的 GroupKFold(5-10 折)+ 每折内再做时间外推的双层方案最稳健;报告每折的 MAE/RMSE 分布而非单点值(评测惯例)。折数选择上,194 国样本下 5 折意味着每折约 39 个整国家流出,足以暴露「对未知国家外推」的真实水平;若研究目标是「对已知国家预测未来」,则应以时间外推为主、GroupKFold 仅作稳健性附注。两者混用是审稿意见的高频靶点,报告时必须显式声明切分协议(§8.3)。
§5.5 外部验证建议
以 GBD(独立估计口径)、世界银行 WDI/HNP(社会经济协变量与交叉核对)作为外部验证源;同一指标两来源数值不一致时(人口估计口径不同所致),应作为不确定度而非错误处理(OWID 差异分析)。操作上分三步:(1) 键对齐——把 GHO 的 ISO alpha-3 与 GBD 的 location id、WDI 的 iso3c 映射到统一国家表;(2) 年份对齐——注意 GBD 的估计年份滞后发布;(3) 差异归因——把系统性偏差(GBD 与 WHO 人口分母不同)与随机差异分离,前者应在论文方法节声明。具体文献级差异案例见 §7.8 外部验证矩阵。
§6 AI 就绪指南
§6.0 云端快速启动
GHO 无需云环境与专用硬件:API 免 key、体积小,Google Colab 免费档即可运行本节全部代码。若需在国内网络环境稳定访问,建议使用自建代理并配合本地缓存(§6.10)。
十分钟上手路径:(1) 在 Colab/本地 Python 3.11 环境安装 requests pandas pyarrow torch scikit-learn;(2) 运行 §6.1 快速上手脚本,拉取 WHOSIS_000001 并确认拿到 12,000+ 行;(3) 运行 §6.2 检索脚本缓存 /Indicator 清单;(4) 展开 §6.3 完整预处理脚本生成 Parquet 长表与宽表;(5) 用 §6.4 的 DataLoader 跑通一次前向。若第 2 步行数恰好是 1,000,说明分页循环没生效(坑点 1);若第 3 步请求超时,稍等重试或配置退避(坑点 8)。
§6.1 快速上手
环境准备:Python 3.11+;依赖仅 requests、pandas、pyarrow(§6.4 再加 torch、scikit-learn)。无需任何账号、密钥或环境变量——GHO API 完全匿名开放,这也是它区别于大多数医疗数据集(PhysioNet 凭证、DUA 签署)的最大工程便利。
# ============================================================
# 快速上手:拉取并清洗一个 GHO 指标(出生预期寿命)
# ------------------------------------------------------------
# 目录结构预期(data_root 拼接关系):
# data_root/
# ├── raw/WHOSIS_000001.json ← 本脚本第 1 步生成
# └── clean/le.parquet ← 本脚本第 3 步生成
# 最小可用子集:一个指标(WHOSIS_000001)+ 194 国 + 2000 年至今
# 运行环境:Python 3.11+,requests / pandas / pyarrow
# ============================================================
import requests, json, pathlib
BASE = "https://ghoapi.azureedge.net/api"
data_root = pathlib.Path("data_root") # ← 改成你的数据根目录
raw_dir = data_root / "raw"; raw_dir.mkdir(parents=True, exist_ok=True)
def fetch_indicator(code: str) -> list[dict]:
"""全量拉取一个指标:默认每页 1,000 行,必须跟进 @odata.nextLink。"""
rows, url = [], f"{BASE}/{code}"
while url:
r = requests.get(url, timeout=60)
r.raise_for_status()
payload = r.json()
rows.extend(payload.get("value", []))
url = payload.get("@odata.nextLink") # 下一页链接;None 表示取完
(raw_dir / f"{code}.json").write_text(json.dumps(rows))
return rows
rows = fetch_indicator("WHOSIS_000001") # 出生预期寿命,12,000+ 行
print(len(rows), rows[0].keys())
运行判据:打印的行数应远大于 1,000(全量约 12,000+);若恰好 1,000,说明循环没有跟进 @odata.nextLink(坑点 1)。第一次成功后建议立即运行 set(k for r in rows for k in r) 查看本指标实际携带的字段——不同指标的字段集合可能略有差异,这是确认 Dim1Type 语义的最快方式。
§6.2 数据获取
获取方式对照表
| 通道 | 入口 | 认证 | 输出 |
|---|---|---|---|
| OData API | https://ghoapi.azureedge.net/api | 无 key、无注册 | JSON(OData v4) |
| 指标清单 | /Indicator?$filter=contains(IndicatorName,'mortality') |
无 | IndicatorCode + IndicatorName |
| 维度枚举 | /DIMENSION/COUNTRY/DimensionValues 等 |
无 | 代码-名称映射 |
| 网页下载 | https://www.who.int/data/gho/data/indicators | 无 | CSV / XLSX |
| 元数据 | 指标元数据注册库 | 无 | 定义/方法学/来源 |
| 官方咨询 | gho_info@who.int | 邮件 | 人工答疑(迁移期问题首选) |
| Health Inequality Repository | https://www.who.int/mega-menu/data/data-at-who/health-inequality | 无 | 分层 CSV/数据库(GHO 源模块) |
# 指标检索:编码不可猜测,先用名称模糊定位(坑点 4)
import requests, json
r = requests.get(
"https://ghoapi.azureedge.net/api/Indicator",
params={"$filter": "contains(IndicatorName,'life expectancy')"},
timeout=60,
)
catalog = r.json()["value"]
# 缓存清单(约 400 KB,避免反复拉取)
pathlib.Path("indicators.json").write_text(json.dumps(catalog))
for row in catalog[:5]:
print(row["IndicatorCode"], "->", row["IndicatorName"])
运行判据:打印应出现若干含 life expectancy 字样的指标行(如 WHOSIS_000001 及 HALE 相关条目)。若返回空列表,先检查 $filter 的引号与大小写;若请求 400,多为 URL 未编码——直接用 params= 让 requests 代为编码最省心。
多指标批量下载建议串行 + 指数退避重试(服务存在间歇性缓慢,见坑点 8),并按指标落盘 JSON 以保证可复现(快照策略见坑点 6)。
批量下载的参数备忘:(1) $filter 中的空格须编码为 %20、值用单引号包裹,如 $filter=SpatialDim%20eq%20'GBR';(2) $select 可显著瘦身响应,例如只要数值列时 $select=SpatialDim,TimeDim,Dim1,NumericValue,Low,High;(3) 国家过滤用 SpatialDim eq 'XXX'、性别过滤用 Dim1 eq 'MLE'(注意 GHO 维度代码是 MLE/FMLE/BTSX,不带 SEX_ 前缀,与 /DIMENSION/SEX/DimensionValues 返回的 SEX_MLE 等全码不同名——以实际响应为准,勿混用两套写法);(4) 区间型指标按 date(TimeDimensionBegin) ge 2011-01-01 and date(TimeDimensionBegin) lt 2012-01-01 取单年(官方示例、healthapi 速查)。
§6.3 预处理全流程
<details>
<summary>展开完整预处理脚本(解析置信区间 → 剔除聚合行 → 宽透视 → 年份对齐)</summary>
# ============================================================
# GHO 预处理 Pipeline:raw/WHOSIS_*.json → processed/long.parquet
# 前置:§6.1 已把原始响应存到 data_root/raw/{code}.json
# ============================================================
import json, re, pathlib
import pandas as pd
raw_dir = pathlib.Path("data_root/raw")
CATALOG = {r["IndicatorCode"]: r["IndicatorName"]
for r in json.loads(pathlib.Path("indicators.json").read_text())}
def parse_ci(value: str):
"""从 '84.3 [83.5-85.0]' 解析点估计与区间;失败返回 (None, None, None)。"""
if not isinstance(value, str):
return None, None, None
m = re.match(r"^\s*([\d.]+)\s*(?:\[([\d.]+)\s*-\s*([\d.]+)\])?", value)
if not m or not m.group(1):
return None, None, None
lo, hi = (float(m.group(2)), float(m.group(3))) if m.group(2) else (None, None)
return float(m.group(1)), lo, hi
frames = []
for path in raw_dir.glob("WHOSIS_*.json"):
df = pd.DataFrame(json.loads(path.read_text()))
# 步骤 1:只保留国家行——剔除 WHO 区域/收入组/全球聚合(坑点 3)
if "SpatialDimType" in df.columns:
df = df[df["SpatialDimType"] == "COUNTRY"]
# 步骤 2:数值解析——Value 是字符串,点估计以 NumericValue 优先(坑点 2)
parsed = df["Value"].apply(parse_ci)
df["value_parsed"] = [p[0] for p in parsed]
df["low"] = df.get("Low", None)
df["high"] = df.get("High", None)
df.loc[df["low"].isna(), "low"] = [p[1] for p, l in zip(parsed, df["low"]) if p[1]]
df["numeric_final"] = df["NumericValue"].fillna(df["value_parsed"])
# 步骤 3:性别维度标准化(每国家-年常为 3 行:BTSX/MLE/FMLE)
keep = ["IndicatorCode", "SpatialDim", "TimeDim", "Dim1",
"numeric_final", "low", "high"]
df = df[[c for c in keep if c in df.columns]]
frames.append(df)
long = pd.concat(frames, ignore_index=True)
long.to_parquet("data_root/processed/long.parquet")
# 步骤 4:宽透视(国家 × 年份)—— 以 BTSX 行为例
wide = (long[long["Dim1"] == "SEX_BTSX"]
.pivot_table(index="SpatialDim", columns="TimeDim",
values="numeric_final"))
wide.to_parquet("data_root/processed/wide_life_expectancy.parquet")
# 步骤 5:年份对齐检查——各国最新可用年份差异悬殊(坑点 5)
latest = (long[long["Dim1"] == "SEX_BTSX"]
.groupby("SpatialDim")["TimeDim"].max())
print(latest.describe()) # max 年份的国别分布,决定是否限定共同年窗口
</details>
流程要点:(1) 分层字段 Dim1 需按指标注册库确认语义(SEX 或 AGE);(2) 跨年区间指标须用 TimeDimensionBegin/End 对齐年份而非 TimeDim(API 文档);(3) 插补遵循「先国内后全局」的两级中位数策略(文献惯例,HALE 复现仓库)。
清洗后的验收清单(每一步都可写进 CI 断言):
| # | 验收项 | 断言 | 不达标的含义 |
|---|---|---|---|
| 1 | 无聚合行 | SpatialDimType 全为 COUNTRY | 坑点 3 未执行 |
| 2 | 无同观测重复 | (Indicator, SpatialDim, TimeDim, Dim1) 唯一 | 多值行未处理(坑点 6) |
| 3 | 数值列无字符串 | numeric_final dtype 为 float | Value 解析遗漏(坑点 2) |
| 4 | 分页完整 | 行数 ≈ 覆盖国家 × 年份 × 分层 | @odata.nextLink 漏跟进(坑点 1) |
| 5 | 年份窗口 | 每国 TimeDim.max() 落在预期范围 | 拉取残缺或指标口径变动 |
| 6 | 区间合理 | Low ≤ NumericValue ≤ High(有区间时) | 解析错位或单位不一致 |
清单中第 2、6 项允许少量白名单例外(官方元数据确认的口径切换行),例外须记录在快照的 README 中;无记录的例外一律按 bug 处理。
§6.4 PyTorch DataLoader(面板回归示例)
任务:用 6 个 GHO 风险因素/卫生体系指标预测各国出生预期寿命(BTSX),按国家分组切分。
<details>
<summary>展开完整可运行 Dataset + DataLoader 代码</summary>
# ============================================================
# 输入:data_root/processed/long.parquet(§6.3 产物)
# 长表结构:IndicatorCode, SpatialDim, TimeDim, Dim1, numeric_final
# 任务:面板回归 —— 特征=6 个指标的国家-年值,标签=当年预期寿命
# 划分:GroupKFold(group=SpatialDim),避免同国跨年泄漏(§5.3)
# ============================================================
import pandas as pd, numpy as np, torch
from torch.utils.data import Dataset, DataLoader
from sklearn.model_selection import GroupKFold
FEATS = ["WHOSIS_000015", # 五岁以下死亡率
"MDG_0000000001", # 婴儿死亡率
"SA_0000001400", # 烟草使用(示例代码,以 /Indicator 检索为准)
"RS_196", # 道路交通死亡率(示例代码)
"NCD_BMI_30A", # 肥胖患病率(示例代码)
"HWF_0001"] # 卫生人力密度(示例代码)
TARGET = "WHOSIS_000001"
class GHOPanelDataset(Dataset):
"""国家-年面板数据集:一行 = 一个国家-年观测。"""
def __init__(self, long: pd.DataFrame, feat_codes, target_code):
piv = long.pivot_table(index=["SpatialDim", "TimeDim"],
columns="IndicatorCode",
values="numeric_final")
piv = piv.dropna(subset=[target_code])
self.y = piv[target_code].to_numpy(np.float32)
X = piv.reindex(columns=feat_codes).to_numpy(np.float32)
# 缺失插补:组内中位数 → 全局中位数(两级策略)
self.means = np.nanmedian(X, axis=0)
X = np.where(np.isnan(X), np.nan_to_num(np.nanmedian(X, axis=0),
nan=0.0) + 0, X)
X = np.where(np.isnan(X), self.means[None, :], X)
self.mu, self.sd = X.mean(0), X.std(0) + 1e-6
self.X = (X - self.mu) / self.sd
self.groups = piv.index.get_level_values(0).to_numpy()
self.meta = piv.index.to_list()
def __len__(self):
return len(self.y)
def __getitem__(self, i):
return torch.from_numpy(self.X[i]), self.y[i]
data = GHOPanelDataset(pd.read_parquet("data_root/processed/long.parquet"),
FEATS, TARGET)
gkf = GroupKFold(n_splits=5)
fold = next(gkf.split(data.X, data.y, groups=data.groups))
tr = torch.utils.data.Subset(data, fold[0])
va = torch.utils.data.Subset(data, fold[1])
train_loader = DataLoader(tr, batch_size=64, shuffle=True, num_workers=2)
val_loader = DataLoader(va, batch_size=256, shuffle=False, num_workers=2)
model = torch.nn.Sequential(
torch.nn.Linear(len(FEATS), 64), torch.nn.ReLU(),
torch.nn.Linear(64, 32), torch.nn.ReLU(), torch.nn.Linear(32, 1))
</details>
注意:FEATS 中的示例代码务必先经
/Indicator检索核实——GHO 编码无统一语义,凭记忆硬编码是高频事故(坑点 4)。
这段代码刻意保持了「最小可用」形态:单层 MLP、6 特征、5 折 GroupKFold。它的价值不在性能,而在把「GHO 长表 → 面板张量 → 分组切分」的数据通路一次打通;替换模型(换成树集成或时序模型)时,DataLoader 与切分协议无需改动——这正是把 GHO 接入任何建模栈的标准姿势。
§6.5 坑点清单(8 个,源自真实失败模式)
⚠️ 坑点 1:OData 默认分页 1,000 行的静默截断(分类:工程陷阱)
问题:GHO OData API 每页最多返回 1,000 行且不报错;一个 194 国 × 20 年 × 3 性别的指标约 11,600 行,直接 GET 只拿到首页约 8% 的数据,后续统计与训练全部建立在残缺样本上。
症状:DataFrame 行数恰好是 1,000(或 1,000 的整数倍);某国某性别「莫名消失」;聚合结果与 WHO 官方报告对不上。
解决:
- 简单方法:循环读取响应中的
@odata.nextLink直到为 null(§6.1 代码)。- 进阶方法:对已知小查询设
$top=100降低延迟;对大批量拉取用$skip显式分页并断点续传;每页落盘,失败可续(分页证据、Apify 实现)。- SOTA 方法:拉全量后校验行数守恒——
国家行数 ≈ 覆盖国家数 × 年份数 × 分层数,偏差超阈值告警;用/DIMENSION/COUNTRY/DimensionValues的国家清单反查缺失组合。参考:https://apifyforge.com/blog/querying-who-gho-api-usable-dataset ;https://apify.com/logiover/who-gho-scraper
⚠️ 坑点 2:Value 字符串混入置信区间,NumericValue/Low/High 缺口 15-20%(分类:预处理陷阱)
问题:
Value是展示字符串,形如「78.5 [78.1-78.9]」;数值列NumericValue与区间列Low/High覆盖不全——约 15-20% 记录区间列为 null 但字符串里其实有区间。直接float(df["Value"])会静默产生大量 NaN。症状:
astype(float)后 NaN 激增;训练/绘图用的区间忽宽忽窄;两份脚本一个用 Value 一个用 NumericValue,结果对不上。解决:
- 简单方法:一律以
NumericValue为点估计,Value 仅作展示(解析建议)。- 进阶方法:正则解析 Value 回填区间:
re.match(r"([\d.]+)\s*\[([\d.]+)-([\d.]+)\]", v)(§6.3 步骤 2)。- SOTA 方法:区间缺失且无法回填时,改用指标元数据注册库公布的同指标历史不确定度范围,或在不确定性建模中显式标记区间缺失掩码,禁止用全库均值区间填充。
参考:https://apifyforge.com/blog/querying-who-gho-api-usable-dataset
⚠️ 坑点 3:WHO 区域 / 收入组 / 全球聚合行混入国家面板(分类:评估误用)
问题:不设过滤时,响应同时包含国家行与 WHO 六大区域、世界银行收入组、全球聚合行。聚合行是国家级信息的加权汇总——排名、均值、相关性会被污染,且构成训练集与测试集间的直接信息泄漏。
症状:同一国家出现「两行同年份」;全球排名里出现 AFR、WPR 这类「假国家」;面板行数比预期多 20-30%。
解决:
- 简单方法:拉取时加
$filter=SpatialDimType eq 'COUNTRY'(URL 编码空格为 %20,值用单引号)。- 进阶方法:响应侧再按
SpatialDim∈ 国家码白名单二次过滤,双保险(过滤建议)。- SOTA 方法:把聚合层单独入库(
SpatialDimType分表),区域对比与国家分析各用各的表;校验国家行加权均值 ≈ 区域聚合值,顺带发现异常行。参考:https://apifyforge.com/blog/querying-who-gho-api-usable-dataset ;https://github.com/domcushnan/healthapi/tree/main/apis/global-who-gho-odata
⚠️ 坑点 4:指标编码不可猜测、大小写敏感、语义前缀失配(分类:标签理解)
问题:GHO 指标代码是历史层积产物,前缀与含义无稳定映射:WHOSIS_000001 是出生预期寿命、WHOSIS_000015 是五岁以下死亡率、MDG_0000000001 却是婴儿死亡率;代码区分大小写,
whosis_000001返回 404。凭直觉拼编码是最高频的取数事故。症状:请求 404 或返回完全无关指标;两个「长得像」的代码取出两个不同定义的指标;报告里的指标定义与 WHO 官网不一致。
解决:
- 简单方法:用
/Indicator?$filter=contains(IndicatorName,'关键词')检索并缓存清单(约 400 KB,勿反复拉取)。- 进阶方法:建立「代码 ↔ 名称 ↔ 指标注册库定义」三方核对表,入库前人工确认定义、单位与年份口径(元数据注册库)。
- SOTA 方法:为项目维护一个指标 YAML 清单(代码/定义/单位/版本/检索日期),CI 中校验清单里的每个代码仍可在 API 取到数据——兼顾平台迁移期的编码变动(坑点 8)。
参考:https://apifyforge.com/blog/querying-who-gho-api-usable-dataset ;https://github.com/domcushnan/healthapi/tree/main/apis/global-who-gho-odata
⚠️ 坑点 5:国家覆盖与最新年份双重不齐,直接建面板引入时间偏倚(分类:偏倚陷阱)
问题:各国数据可用年份差异悬殊——预期寿命近全覆盖,灾难性卫生支出仅约 80 国且多年缺口;「最新值」的年份国国不同(如一国 2021、另一国 2018)。把「每国最新值」直接拼成截面做回归,等于拿不同年份的数据比较同一时点。
症状:横截面散点图的横轴名义上是「2021 年」实为 2016-2021 混合;小国(安道尔、圣马力诺类)整段缺失导致样本偏大偏富;生命预期预测文献中曾出现 population/支出变量错误而需以世界银行值替换的案例(清洗记录)。
解决:
- 简单方法:分析前打印每国
TimeDim.max()分布,统一限定共同年窗(如 2015-2021 内取各国最新)。- 进阶方法:非平衡面板 + 时间固定效应;缺失机制可视化(国家 × 年份热图)后再选插补(两级中位数:国家-年内 → 全局,HALE 复现)。
- SOTA 方法:对覆盖极稀的指标改用 WHO Health Inequality Data Repository 或 GBD 的对应序列做敏感性分析;报告「共同年窗」与「全序列」两套结果。
参考:https://apifyforge.com/blog/querying-who-gho-api-usable-dataset ;https://doi.org/10.1007/s42452-023-05404-W
⚠️ 坑点 6:同一观测多值与回溯修订,破坏可复现性(分类:工程陷阱)
问题:GHO 滚动修订且无版本快照——WHO 每次更新估计方法或补充数据后,历史年份的值会被改写;社区数据集记录过同一观测出现多个值的实例(卢旺达 2000-2015 生命预期因「同一观测多个值」被 QoG 整段丢弃)。
症状:半年前论文里的数字与今天 API 拉到的对不上;同国家-年-分层出现 2 行;审稿人要求复现时的数据与投稿时不同。
解决:
- 简单方法:同观测多值时保留
TimeDim相同但记录日期最新的行;在论文/README 中写明拉取日期。- 进阶方法:按日期建快照仓库(
snapshots/YYYY-MM-DD/),所有实验指向特定快照(§4.0 目录树);WHO 引用格式本身就要求「accessed [日期]」(Data360 引用规范)。- SOTA 方法:为关键指标做双源校验(GHO vs GBD/WDI),差异超阈值即触发人工审查;对方法论敏感的序列(如疫情年份)在数据卡中标注修订风险。
参考:https://datafinder.qog.gu.se/dataset/who ;https://www.who.int/data/gho/info/about-the-observatory
⚠️ 坑点 7:生态谬误——把国家级聚合当个体级规律(分类:偏倚陷阱)
问题:GHO 全部是聚合统计。国家级相关(如「卫生支出高的国家预期寿命高」)不能直接外推为个体规律;聚合还会掩盖国内不平等(国民均值抹平贫富/城乡差距)。
症状:用国家面板训练的「个体风险预测」模型在部署时失真;政策结论与微观调查(DHS/MICS)矛盾;均值的背后是巨大的分层差距。
解决:
- 简单方法:在论文与模型卡中明确任务层级——国家级结论只谈国家。
- 进阶方法:需要亚群体结论时切换到 WHO Health Inequality Data Repository(财富五分位/教育/居住地分层,GHO 源模块 22-91 项指标,WHO)或 DHS/MICS 微观数据。
- SOTA 方法:多层级模型(mixed effects)把国家间方差与国内方差分离;对聚合预测结果做经人口加权的稳健性检验。
参考:https://www.who.int/mega-menu/data/data-at-who/health-inequality ;https://ourworldindata.org/explorers/global-health
⚠️ 坑点 8:平台迁移期的不稳定与接口断代(分类:工程陷阱)
问题:旧 Minerva/Athena 接口已退役;现行 GHO OData API 已于 2025 年底被官方宣布弃用,将切换到 World Health Data Hub OData API(标准化字段命名),而 2026-08 审计发现新端点链接仍是占位符。过渡期内旧服务间歇性缓慢(探针记录单次延迟可达约 19.4 秒、偶发失败),代码可能突然中断。
症状:请求超时或 5xx 抖动;一夜之间 Athena 式 URL 全部失效;新 Hub API 上线后字段名与现行走 OData 完全不同,下游解析代码需重写。
解决:
- 简单方法:请求层加指数退避重试 + 超时设置;失败页面落盘待补。
- 进阶方法:本地缓存层(原始 JSON 按指标落盘 + Parquet 精简表),生产任务只读缓存、离线刷新;订阅 WHO 数据页公告追踪迁移窗口(legacy 公告)。
- SOTA 方法:把「取数层」抽象成适配器接口(OData v4 ↔ 未来 Hub API 各实现一份),上层分析代码零改动;CI 中每季度跑一次全链路冒烟测试。
参考:https://apps.who.int/gho/data/node.main-eu.A1400?lang=en ;https://zingu.ai/endpoints/azureedge.us:who-global-health-observatory:GET:_Indicator
§6.6 数据增强(统计面板版)
统计面板的「增强」本质是重采样与扰动策略:
- ✅ 安全:GroupKFold 按国家重采样;时间窗滑动(扩展/收缩训练窗);对置信区间做蒙特卡洛重采样(在 Low-High 均匀抽样)生成不确定度感知训练;跨指标标准化(z-score);以国家为单元的 bootstrap 聚合评估。
- ❌ 危险:对国家级时序做随机抖动/插值伪造年份(破坏官方统计语义);把区域聚合行当独立样本复制过采样;用邻国数据线性混合「造国」(国家身份是不可交换的分层变量);对疫情断点年份做平滑「修复」(等于删除真实世界事件);把置信区间重采样结果当真实观测混入标签。
原则:一切增强都不得改变「官方估计」的语义边界——可以在采样与加权层面引入多样性,不能在数值层面制造 WHO 没有发布过的数。
§6.7 模型推荐表
| 任务 | 推荐模型 | 理由 |
|---|---|---|
| 单指标跨国预测 | XGBoost / LightGBM | 生命预期文献中表现最优(MAE 1.554 / RMSE 2.402,Sage IDT 2024),抗缺失、可解释 |
| 多指标面板回归 | 随机森林 / 梯度提升 | HALE@60 研究中 RF 达 RMSE≈0.55、R²≈0.99(IEEE 2024) |
| 长时序外推 | Prophet / N-BEITS 系时序模型 | 年度稀疏序列 + 结构断点(疫情)场景 |
| 不平等分析 | 分层回归 / mixed effects | 处理分层嵌套(国家-群体) |
| 缺失值插补基准 | MICE / IterativeImputer / 矩阵补全 | GHO 稀疏面板是天然测试床(HALE 复现的两级中位数基线) |
| 健康不平等分解 | Health Equity Monitor 分层指标 + Oaxaca-Blinder 类分解 | WHO 官方不平等分析方法学配套 |
| LLM 统计事实问答 | 检索增强(指标注册库 + 观测表) | 数值型健康问答的事实层,需快照对齐 |
选型时的通用约束:所有模型都应运行在同一份快照与同一套 §6.3 清洗之上;报告结果时必须同时给出数据快照日期与切分协议,否则与任何文献数字的对比都是无效比较。
§6.8 硬件需求表
| 规模 | CPU | 内存 | 磁盘 | GPU |
|---|---|---|---|---|
| 单指标分析 | 2 核 | 4 GB | < 1 GB | 不需要 |
| 100-200 指标仓库 + 面板建模 | 4 核 | 16 GB | < 10 GB | 可选(加速树模型) |
| 全指标枚举 + 深度时序 | 8 核 | 32 GB | < 100 GB | 推荐(N-BEATS/Transformer) |
所有档位均为单机规模:GHO 是年度聚合统计,即使全指标枚举(约 2,000-3,000 个代码 × 平均数百行)落盘后也在百 GB 以内,瓶颈永远在清洗逻辑与口径治理,而非算力——这是它与影像/组学数据集在工程画像上的本质区别。
§6.9 评估指标代码
# 回归任务评估:MAE / RMSE / MAPE + 分国家折外得分分布
import numpy as np
def evaluate(y_true, y_pred, groups=None):
mae = np.mean(np.abs(y_true - y_pred))
rmse = float(np.sqrt(np.mean((y_true - y_pred) ** 2)))
mask = y_true != 0
mape = float(np.mean(np.abs((y_true[mask] - y_pred[mask]) / y_true[mask])) * 100)
out = {"MAE": round(mae, 3), "RMSE": round(rmse, 3), "MAPE%": round(mape, 2)}
if groups is not None: # 按国家给出误差分布,暴露偏倚
import pandas as pd
per = (pd.DataFrame({"g": groups, "e": np.abs(y_true - y_pred)})
.groupby("g")["e"].median())
out["country_median_abs_err_p90"] = round(float(per.quantile(0.9)), 3)
return out
指标选择的三条经验:(1) 跨国面板以 MAE 为主报告——RMSE 会被少数极端国家(冲突、疫情年份)主导,而 MAPE 在接近零的比率型指标(死亡率)上会爆炸;(2) 误差必须按国家分布报告(如上例 p90),只报均值会掩盖「模型在低 CRVS 国家系统性失效」的关键事实;(3) 若使用了置信区间做蒙特卡洛训练(§6.6),可加报区间覆盖率(prediction interval coverage),检验不确定度是否被正确传播。
§6.10 MLOps 笔记
- 缓存优先:
/Indicator清单与维度枚举永久缓存;原始响应按指标落盘(§4.0),生产任务离线刷新,避免高峰期打 API(服务有间歇性缓慢,坑点 8)。 - 快照即版本:以
snapshots/YYYY-MM-DD/为数据版本单元接入 DVC/Git LFS;引用时执行 WHO 的 accessed-date 规范(坑点 6)。 - 漂移监控:每月对比「最新拉取 vs 上一快照」的同键值差异率;WHO 估计修订是计划内「漂移」,需要与真实世界变化区分。
- 接口抽象:取数层做成适配器,准备 GHO OData → WHO Data Hub OData 的切换(字段命名标准化在即,坑点 8)。
- 指标清单治理:指标 YAML 清单入库 + CI 校验代码有效性(坑点 4),防止编码腐化。
- 数据卡随版本走:每次快照附一份最小数据卡(指标清单、行数、覆盖率热图、已知异常行),下游使用者不必重做勘探。
- 监控告警锚点:选 3-5 个高覆盖指标(如 WHOSIS_000001)作哨兵,其行数或数值分布突变优先排查自身管线而非「世界突变」。
- 成本与礼貌:无文档化限流不等于无限配额;批量任务控制在串行小请求、避开美欧工作时间,Azure Edge 侧的重负载上限是共享基础设施(healthapi)。
§7 质量评估与局限性
§7.1 已知偏倚表
偏倚评估的框架取自「统计制度 → 数据质量」的传导链:一个国家的 CRVS 能力决定了其数据是被「测量」出来还是被「估计」出来的,而这又决定了误差结构与跨国可比性。下表按影响面排序:
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 报告偏倚 | CRVS 体系弱的国家上报少、质量低 | 高 | 优先用 WHO 统一估计列;辅以调查型指标 |
| 模型估计偏倚 | 缺口由 WHO/UN 模型填补,可能偏离国家官方口径 | 中 | 官方已声明「最优估计≠国家估计」(About);与 GBD 交叉验证 |
| 覆盖偏倚 | 指标间覆盖 80 国 ↔ 194 国悬殊,小国更常缺失 | 高 | 建模前做覆盖热图;避免以「有数据」为条件选样 |
| 生态谬误 | 国家均值掩盖国内不平等 | 高 | 分层数据(Inequality Repository)补充(坑点 7) |
| 修订偏倚 | 滚动回溯修订,无版本快照 | 中 | 快照仓库 + 拉取日期引用(坑点 6) |
| 聚合混入 | 区域/收入组行与国家行同流 | 低 | SpatialDimType 过滤(坑点 3) |
| 幸存者偏倚 | 剧烈冲突/治理崩溃国家的序列经常整段中断 | 中 | 序列中断建模;与 GBD 对照核查 |
§7.2 「标注」质量(估计质量)
GHO 数值由 WHO/UN 专业统计团队按公开方法学生成并经成员国磋商,元数据在指标注册库逐条公开;置信区间随 GHE 族指标提供。质量弱点在于:不同指标的估计方法异质、部分指标区间缺失比例可观(15-20%,坑点 2)、历史修订无标注 changelog。
与个体级医学数据集的「标注质量」对照可以更清楚地看到 GHO 的定位:它没有标注者间一致性(kappa)问题,却有「估计模型版本」问题;没有标注噪声问题,却有「上报-估计双轨」问题。审稿与复现时的关键质询因此从「标注准不准」变成「你用的是哪一年发布口径的哪一版估计」——把这个问题写进数据卡,就能规避绝大多数可复现性质疑(坑点 6)。
§7.3 泛化性表
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 低 CRVS 能力国家的外推预测 | 高(训练分布以高上报国为主) | 模型估计填补 + 覆盖不均(OWID) |
| 疫情/冲突年份外推 | 高(结构断点) | COVID 导致多国序列回落、修订频繁 |
| 跨指标迁移(用 A 指标训练预测 B) | 中-高(方法学异质) | GHO 各指标方法非统一建模(OWID) |
| 国家级 → 个体级迁移 | 极高(生态谬误) | 坑点 7;需微观数据验证 |
| 平台迁移期部署依赖 | 高(接口断代风险) | Athena 前车之鉴;OData v1 弃用过渡中(坑点 8) |
泛化性失效的主导逻辑是「分布外 = 方法学分布外」:GHO 的分布差异不仅来自健康水平,更来自各国统计制度差异。因此跨分布评估(留区域、留收入组)应成为这类面板工作的常规配置,其得分差距本身就是有价值的发现。
泛化性失效的主导逻辑是「分布外 = 方法学分布外」:GHO 的分布差异不仅来自健康水平,更来自各国统计制度差异。因此跨分布评估(留区域、留收入组)应成为这类面板工作的常规配置,其得分差距本身就是有价值的发现。
§7.4 伦理
聚合统计不涉及个人数据保护问题(无个体记录、无再识别风险)。伦理要点集中于使用层面:非商业许可(NC)约束商业变现;禁止暗示 WHO 认可;对低资源国家数据的呈现应避免污名化(引用时保留置信区间、避免单年极端值叙事)(WHO 数据条款)。
此外有三条从业者自律建议:其一,国家排名类产品应固定数据快照并在界面标注访问日期,否则排名会随 WHO 修订「无预告漂移」;其二,把模型预测值与 WHO 官方估计并排展示时必须显式区分二者的性质(模型输出 ≠ 官方统计);其三,向第三方再分发 GHO 派生数据集时,NC-SA 条款要求以相同许可共享并保留归属链——纯转发原始数值也要附上完整引用格式(§3.10)。
§7.5 公平性
GHO 自带公平监测模块(Health Equity Monitor):按财富五分位、母亲教育、居住地等分层的服务覆盖指标;配套 Health Inequality Data Repository 提供 198 个国家/地区的分层数据(GHO 源模块见 §3.2)。这是把「国家均值」还原为「人群分布」的第一站(WHO 不平等数据页、HIQA)。
公平性分析的建模要点:(1) 分层数据的单位是「国家 × 群体 × 年」,比国家面板多一维,切分时 group 变量应升级为国家(防止同国不同群体跨集);(2) 不平等指标(集中指数、斜率指数)对分层样本量敏感,弱调查国的区间会显著加宽;(3) 把公平维度纳入预测任务时(预测最贫困五分位与最富五分位的覆盖率差),注意 WHO 分层估计本身的模型假设会传导进标签。
§7.6 数据漂移
两类漂移叠加:(1) 真实世界漂移——人口老龄化、疫情冲击等真实变化;(2) 口径漂移——WHO 方法修订导致的回溯改写(计划内、无 changelog)。下游系统应以快照 diff 区分两者:同键值持续小幅变动多为口径漂移,大幅单点变动优先核查官方发布说明。
工程上可建立三层漂移防线:第一层是哨兵指标 diff(§6.10 第 7 条),月度自动比对行数与数值分布;第二层是语义检查,对 GHE 族指标关注其方法学文档的「修订版本」段落;第三层是下游再校验,用 §5.5 的 GBD/WDI 双源对照识别系统性偏移。三层防线把「数据为什么变了」从逐次人工排查变成自动分级告警,这在 WHO 高频修订窗口(年度估计发布后数周)尤其关键。
§7.7 DAIMS 24 项检查表
以下 24 项按 AI-Ready 数据集治理清单逐项核对;状态含义:✅ 官方具备且可直接使用;⚠️ 部分具备或需人工补齐;❌ 不具备(或对本数据集不适用)。
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ⚠️ | API 为长格式;宽透视需自建(§6.3) |
| 2 | 唯一标识 | ⚠️ | 代码 + 国家 + 年份 + 分层理论上唯一,但存在同观测多值实例(坑点 6) |
| 3 | 特殊字符 | ⚠️ | Value 字符串混入区间括号与占位文本 |
| 4 | 重复行 | ⚠️ | 聚合行与国家行混流、多值行需去重 |
| 5 | 缺失编码 | ✅ | null 语义明确(未上报 ≠ 0),有官方说明 |
| 6 | 标签标识 | ✅ | IndicatorCode 稳定 + 元数据注册库逐条定义 |
| 7 | 罕见类分组 | ⚠️ | 低覆盖指标未提供最小可报告分组指引 |
| 8 | 偏倚评估 | ✅ | 官方 About 明示估计口径与磋商机制 |
| 9 | 数据字典 | ✅ | Indicator and Measurement Registry 完备 |
| 10 | 信息性缺失解释 | ⚠️ | 未上报/不适用/保密需读注册库注释自行区分 |
| 11 | 设备记录 | ❌ | 不适用:聚合统计无设备元数据 |
| 12 | 共线性 | ⚠️ | 指标族高度相关(如 LE 与 HALE),需自查 VIF |
| 13 | 编码映射 | ✅ | DIMENSION 端点提供官方代码-名称映射 |
| 14 | 时间戳处理 | ⚠️ | 年度值 + 跨年区间(TimeDimensionBegin/End)混合,需分支处理 |
| 15 | 划分建议 | ❌ | 无官方划分,全部自建(§5) |
| 16 | 泄漏讨论 | ❌ | 官方无泄漏说明;聚合行/修订泄漏需自防(§5.3) |
| 17 | 标签分布 | ⚠️ | 无官方覆盖统计,需自算国家 × 年份热图 |
| 18 | 测量偏倚 | ✅ | 国家磋商 + 方法学文档披露测量口径 |
| 19 | 外部验证建议 | ⚠️ | 官方未给验证协议;社区惯例对 GBD/WDI 交叉验证 |
| 20 | 版本记录 | ❌ | 滚动修订无版本快照(坑点 6) |
| 21 | 预处理脚本 | ❌ | 官方不提供分析脚本(社区 rgho 仅取数) |
| 22 | 合规要求 | ✅ | CC BY-NC-SA 3.0 IGO + 条款清晰可执行 |
| 23 | 多模态对齐 | ❌ | 单模态统计库,无对齐需求/能力 |
| 24 | 去标识化 | ✅ | 纯聚合数据,无个体信息,天然合规 |
DAIMS 评分:13.0 / 24
评分解读:数据「源头质量」扎实(字典、编码映射、合规、偏倚披露均为 ✅),失分集中在「分析工程配套」——无划分、无脚本、无版本快照、长格式与字符串噪声。这不是数据质量问题,而是 GHO 定位为官方统计门户(而非 ML 基准)的必然形态。
对你意味着什么:把 §6 的预处理 Pipeline、快照仓库与 GroupKFold 划分当成必做基建而非可选项——补齐这四件事后,该库的 24 项得分可提升到 18+ 的实际可用水平;反之,直接把 API 响应喂进模型,你会在分页截断(坑点 1)、区间字符串(坑点 2)与聚合污染(坑点 3)上先损失一轮时间。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| HALE@60 预测(185 国 2000-2019,约 3,700 国家-年) | IEEE 2024(论文、复现仓库) | GHO 多指标 → HALE 回归 | RF:测试 RMSE≈0.55、R²≈0.99 | — | 成人死亡率与体力不足是最强预测因子;两级中位数插补即可 |
| healthspan-lifespan gap(183 国 2000-2019) | Communications Medicine 2025(论文) | GHO LE/HALE/YLD 聚类与回归 | 无监督聚类 + 多元回归(调整 R²) | — | 缺口全球普遍但区域异质;非洲区缺口扩张最快 |
| 生命预期监督回归(193 国 2000-2015) | Discover Applied Sciences 2023(论文) | GHO+UN 22 变量面板回归 | RMSE/MAE(80/20 随机切分) | 清洗后样本 2,937 → 2,832 | population 与支出变量存在错误值,需以世界银行数据替换/剔除 |
| 生命预期算法对比(WHO 源数据) | Sage IDT 2024(论文) | 多回归算法对比 | XGBoost MAE 1.554 / RMSE 2.402 | — | WHO 部分字段错误由世界银行开发指标替换后性能最优 |
矩阵的共性结论:四项独立研究都在「原始 GHO 派生数据」上发现了字段级错误或覆盖异常,且都以「换用世界银行/UN 数据替换或剔除」作为关键清洗步骤——这印证了 §7.1 的覆盖与报告偏倚判断,也说明 GHO 的正确用法是「核心源 + 双源校验」的组合,而非孤立单源。
§8 基准性能与生态
§8.1 文献性能对比(GHO 无官方排行榜)
GHO 是统计数据库而非竞赛基准,不存在官方排行榜;下表汇总以 WHO/GHO 源数据做生命预期/HALE 回归的代表性文献。各行数值不可直接比较:样本窗口、特征集、切分方式(随机 vs 时间外推)、清洗规则各不相同。另外注意:Kaggle 等平台流传的「WHO Life Expectancy」CSV 多为 2000-2015 年的静态导出,且经第三方插补——其数字与本表文献的口径不可互换。
| 排名 | 模型 | 性能 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | Random Forest(HALE@60,185 国) | RMSE≈0.55 / R²≈0.99 | 2024 | 两级中位数插补 + 特征筛选 | Pranjal T S et al., 2024, IEEE. https://ieeexplore.ieee.org/document/10987496 | GitHub |
| 2 | XGBoost(生命预期,WHO 源) | MAE 1.554 / RMSE 2.402 | 2024 | 与世界银行数据交叉替换错误值 | (Sage IDT), 2024, Int. J. Information and Decision Sciences. DOI 10.3233/IDT-240983 | 未公开 |
| 3 | 随机森林(生命预期,193 国) | MSE 1.93 / MAE 1.24(文献综述值) | 2023 | 集成投票回归 | Faisal et al.(见 Sage IDT 2024 综述节) | 未公开 |
| 4 | 监督回归(GHO+UN 面板) | 2,832 样本基线 | 2023 | 世界银行替换错误字段 | (DAS), 2023, Discover Applied Sciences. DOI 10.1007/s42452-023-05404-W | 未公开 |
§8.2 SOTA 总结与选型建议
以 GHO 源数据做回归/预测,树集成(RF/XGBoost/LightGBM)稳定占优,且对小样本、强非线性、混合量纲的统计面板最鲁棒;深度时序模型在长序列(30+ 年)外推与多指标联合建模时有潜力,但需先解决稀疏与修订漂移。所有文献级 R²≈0.99 应持保留态度——随机切分下的同国自相关泄漏几乎必然推高指标(§5.3)。
选型决策树:任务先问「预测未来」还是「解释现在」。预测未来 → 时间外推 + 树集成或全局时序模型,评估锚定 MAE 与按国家误差分布;解释现在 → 面板固定效应/混合效应,谨慎解读因果语言(GHO 是观测统计,不支持实验级因果声明);做产品/仪表盘 → Power BI 直连 OData 或缓存 Parquet,前端不直打 API(迁移期不稳,坑点 8)。无论哪条路,先把 §6.3 清洗做扎实——文献中可复现的失败案例几乎都栽在清洗而非模型。
§8.3 评测协议(建议)
- 固定指标清单(YAML + 检索日期);2. 固定快照日期(引用 accessed date);3. 时间外推切分为主、GroupKFold 为辅双报告;4. 以 NumericValue 为准、区间作不确定度带;5. 与 GBD/WDI 双源校验偏差入报告。
完整协议建议逐条落实为:
| 步骤 | 内容 | 产出物 |
|---|---|---|
| 1. 指标清单 | YAML 固定代码 + 名称 + 定义 + 检索日期 | indicators.yaml |
| 2. 数据快照 | 按日期落盘原始 JSON + 清洗后 Parquet | snapshots/YYYY-MM-DD/ |
| 3. 切分协议 | 时间外推主报告 + GroupKFold 附注 | split_manifest.json |
| 4. 基线 | 两级中位数/线性回归作为下界 | baseline_metrics.json |
| 5. 主模型 | 树集成(调参后)+ 深度时序(可选) | model_card.md |
| 6. 评估 | MAE/RMSE/MAPE + 国家 p90 + 区间覆盖率 | metrics.json |
| 7. 双源校验 | 与 GBD/WDI 同键值对比偏差 | crosscheck_report.md |
该协议的成本约 2-3 人日(首次),此后每次快照刷新只需重跑 2、6、7 三步。比起协议本身,更重要的是把「不满足协议的结果不得对外引用」写成团队规范——GHO 领域大量流传数字的问题不在算法,而在协议缺失。
§8.4 相关数据集表
| 数据集 | 机构 | 关系 | 获取 |
|---|---|---|---|
| WHO Global Health Estimates(GHE) | WHO | GHO 内死亡率族的上游统一估计 | who.int |
| WHO Health Inequality Data Repository | WHO | GHO 源分层数据(公平分析) | who.int |
| GBD Study / GHDx | IHME | 独立口径交叉验证 | ghdx.healthdata.org |
| World Bank WDI / HNP | 世界银行 | 经济协变量 + 错误字段替换源 | databank.worldbank.org |
| UNICEF Data | UNICEF | 母婴/营养主题更细粒度 | data.unicef.org |
| UNAIDS Data | UNAIDS | HIV 指标原始供给方 | unaids.org |
| OECD Health Statistics | OECD | 38 国高收入子集精数据 | oecd.org |
| UN Data | UN 统计司 | 跨机构人口经济社会面板 | data.un.org |
| DHS Program / MICS | USAID / UNICEF | 微观数据源(GHO 调查指标的原始层) | dhsprogram.com / mics.unicef.org |
| WHO Mortality Database | WHO | GHO 死因族的上游原始登记库 | who.int/data/gho/info/mortality-database |
组合使用建议:以 GHO 为核心源时,WDI/HNP 补经济协变量、GBD 做口径校验、Inequality Repository 补分层、DHS/MICS 补微观机制——四类外部源恰好覆盖 §7.1 偏倚表中的四类主要风险。
§8.5 关键论文与资源 Top 7
- World Health Organization. Global Health Observatory data repository. https://www.who.int/data/gho(数据库本体;官方引用格式见 §3.10)。
- GBD 2016 SDG Collaborators. Measuring progress and projecting attainment on the basis of past trends of the health-related Sustainable Development Goals in 188 countries: an analysis from the Global Burden of Disease Study 2016. The Lancet, 2017. DOI 10.1016/S0140-6736(17)32336-X ——系统对比 WHO 与 GBD 的 SDG 指标覆盖与口径差异。
- Pranjal T S et al. Healthy Life Expectancy (HALE) Analysis and Prediction using Machine Learning. IEEE, 2024. https://ieeexplore.ieee.org/document/10987496 ——GHO 多指标预测 HALE 的可复现基线。
- Garmany A, Terzic A. Healthspan-lifespan gap differs in magnitude and disease contribution across world regions. Communications Medicine, 2025. DOI 10.1038/s43856-025-01111-2 ——GHO LE/HALE/YLD 的全球区域聚类分析。
- An application of a supervised machine learning model for predicting life expectancy. Discover Applied Sciences, 2023. DOI 10.1007/s42452-023-05404-W ——完整记录了 GHO 派生数据清洗中的错误值处理。
- Comparative analysis of life expectancy prediction using regression algorithms. International Journal of Information and Decision Sciences, 2024. DOI 10.3233/IDT-240983 ——多算法对比与双源替换实验。
- Zarca K, Filipovic-Pierucci A. rgho: Access WHO Global Health Observatory Data from R. CRAN, v3.0.2, 2024. https://CRAN.R-project.org/package=rgho ——官方 OData 接口的社区 R 客户端。
- Logiover. WHO GHO Scraper(Apify actor,含 2026-08 平台迁移审计说明). https://apify.com/logiover/who-gho-scraper ——记录了过渡期接口契约现状的第三方工程审计。
§8.6 社区活跃度
GHO 无单一社区论坛;生态分散在:R 包 rgho 的 GitHub issues(aphp/rgho)、Kaggle 长期流传的 WHO 生命预期数据集及 Notebooks、OWID 的 GHO 数据管道(公开代码)、以及 WHO 官方反馈渠道 gho_info@who.int(API 页)。平台迁移期问题建议优先走官方邮件通道。提问姿势建议:附完整请求 URL(含 $filter)+ 响应中 @odata.context 字段 + 拉取日期——官方支持团队靠这三样基本能一次定位问题,社区复现也依赖同样信息。
§8.7 生态快照表
| 资源 | 类型 | 链接 | 状态(截至 2026-09) | 推荐理由 |
|---|---|---|---|---|
| GHO 门户 | 官方门户 | https://www.who.int/data/gho | 在线 | 权威入口与主题浏览 |
| GHO OData API | 官方 API | https://ghoapi.azureedge.net/api | 服务中;2025 年底宣布弃用、仍在过渡 | 机器获取主通道 |
| 指标元数据注册库 | 官方文档 | https://www.who.int/data/gho/indicator-metadata-registry | 在线 | 指标定义/方法学唯一权威 |
| Athena 示例页 | 官方文档 | https://www.who.int/uat-portal/info/athena-api-examples | 历史存留 | 理解维度/过滤语法的最佳教材 |
| healthapi WHO GHO 条目 | 社区文档 | https://github.com/domcushnan/healthapi/tree/main/apis/global-who-gho-odata | 2026-05-18 验证 | 精炼的 API 速查 + gotchas |
| rgho(CRAN) | 社区工具 | https://CRAN.R-project.org/package=rgho | v3.0.2(2024-01-19) | R 用户一键取数 |
| WHO GHO Scraper(Apify) | 社区工具 | https://apify.com/logiover/who-gho-scraper | 在线(2026-08 审计说明保留旧契约) | 免代码全量导出的替代品 |
| data.who.int | 官方门户 | https://data.who.int | 在线 | SDG 指标页与仪表盘的新门户 |
| ApifyForge 清洗指南 | 社区教程 | https://apifyforge.com/blog/querying-who-gho-api-usable-dataset | 在线 | 分页/CI/聚合三大坑的系统梳理 |
生态使用原则:官方资源回答「数据是什么」,社区资源回答「怎么踩坑少」;两者冲突时(如接口状态、字段命名)一律以官方为准——过渡期内社区文档的时效衰减速度远快于官方页面。
§9 相关资源与引用
§9.1 官方资源列表
- GHO 主页与主题浏览:https://www.who.int/data/gho
- 指标下载与搜索:https://www.who.int/data/gho/data/indicators
- OData API 文档(含 Power BI 示例):https://www.who.int/data/gho/info/gho-odata-api
- 指标元数据注册库:https://www.who.int/data/gho/indicator-metadata-registry
- 数据使用条款(中文版):https://www.who.int/zh/about/policies/publishing/data-policy/terms-and-conditions
- 新门户:https://data.who.int
- 官方咨询邮箱:gho_info@who.int
- 社区工具:rgho(R)、healthapi 速查
学习路径建议:初次接触者按「门户浏览指标 → 注册库读一个指标的定义与方法学 → API 文档照抄一个过滤示例 → §6.1 跑通第一个指标」四步走,全程约半天;直接从第三方博客的代码起步(跳过注册库)是指标语义错配的主要来源。
§9.2 BibTeX 完整引用
以下 7 条覆盖本页 §8.5 关键资源与 §10.3 学术文献;数据库本体(who_gho_2026)建议作为所有数据引用的主条目,文献条目按需组合。
@misc{who_gho_2026,
title = {WHO Global Health Observatory data repository},
author = {{World Health Organization}},
year = {2026},
url = {https://www.who.int/data/gho},
note = {Accessed 2026-09-05},
publisher = {World Health Organization}
}
@article{gbd2016sdg,
title = {Measuring progress and projecting attainment on the basis of past
trends of the health-related Sustainable Development Goals in 188
countries: an analysis from the Global Burden of Disease Study 2016},
author = {{GBD 2016 SDG Collaborators}},
journal = {The Lancet},
year = {2017},
doi = {10.1016/S0140-6736(17)32336-X}
}
@article{pranjal2024hale,
title = {Healthy Life Expectancy (HALE) Analysis and Prediction using
Machine Learning},
author = {Pranjal, T. S. and others},
year = {2024},
publisher = {IEEE},
url = {https://ieeexplore.ieee.org/document/10987496}
}
@article{garmany2025gap,
title = {Healthspan-lifespan gap differs in magnitude and disease
contribution across world regions},
author = {Garmany, Armin and Terzic, Andre},
journal = {Communications Medicine},
year = {2025},
doi = {10.1038/s43856-025-01111-2}
}
@article{das2023lifeexp,
title = {An application of a supervised machine learning model for
predicting life expectancy},
journal = {Discover Applied Sciences},
year = {2023},
doi = {10.1007/s42452-023-05404-W}
}
@article{idt2024comparison,
title = {Comparative analysis of life expectancy prediction using
regression algorithms},
journal = {International Journal of Information and Decision Sciences},
year = {2024},
doi = {10.3233/IDT-240983}
}
@misc{zarca2024rgho,
title = {rgho: Access WHO Global Health Observatory Data from R},
author = {Zarca, Kevin and Filipovic-Pierucci, Antoine},
year = {2024},
howpublished = {Comprehensive R Archive Network (CRAN), version 3.0.2},
url = {https://CRAN.R-project.org/package=rgho}
}
§9.3 引用指南
引用 GHO 数据时遵循 WHO 官方格式:World Health Organization. [数据集或指标标题]. Global Health Observatory. [具体数据 URL], accessed [访问日期]。商业用途需另行与 WHO 确认(许可含 NC 条款);任何对数据的实质修改需 WHO 事先书面授权(条款、Data360 元数据)。
引用本百科页面时使用 frontmatter citeAs 字段的 BibTeX;引用具体指标建议直接引用该指标的元数据注册库 URL,使读者可以核对定义与口径。注意 WHO 官方要求的归属链包含对提供基础数据的成员国的确认——在正式出版物中复制 WHO 条款的完整归属格式是最稳妥的做法。
§10 AI 使用声明卡
§10.1 AI 模型列表
| 模型/系统 | 用途 | 版本/日期 |
|---|---|---|
| 大型语言模型(编码助手) | 本条目的资料整合、初稿起草、代码示例生成 | 2026-09(千方病案编辑部部署) |
| WebSearch 检索系统 | 事实核查与来源收集 | 2026-09-05/07 检索批次 |
本页面未使用 AI 生成图表、未使用 AI 合成任何数据数值;封面图像由文末 cover_image_prompt 驱动的图像模型单独生成,不构成数据内容。
§10.2 AI 参与范围
AI 参与了:§1-§9 的文字起草、代码示例编写、表格组织、BibTeX 排版。人工负责:事实核查(逐条对照下方 §10.3 来源)、医学与数据工程审核(§0)、坑点真实性评估、红线合规检查(占位符/许可证/引用格式)。全部结论性数字均要求有 §10.3 来源支撑,无法核实的内容一律省略。
以下内容经人工逐条验证后保留:(1) 指标编码示例(WHOSIS_000001/000015、MDG_0000000001)来自官方 API 示例页与社区文档双重来源;(2) 分页 1,000 行、区间缺失 15-20% 等工程事实来自同一商业 scraper 厂商的公开博客与其 Apify 产品页(相互独立发布、内容一致);(3) 许可证与引用格式来自世界银行 Data360 官方元数据 PDF 与 WHO 条款原文。代码示例经语法检查但未逐条在线执行(API 拉取代码依赖网络环境),使用者运行时应配合 §6.3 验收清单自查。
§10.3 输入来源列表
- World Health Organization. About the Observatory. https://www.who.int/data/gho/info/about-the-observatory(访问 2026-09-07)
- World Health Organization. Global Health Observatory 主页. https://www.who.int/data/gho(访问 2026-09-07)
- World Health Organization. GHO OData API 文档. https://www.who.int/data/gho/info/gho-odata-api(访问 2026-09-07)
- World Health Organization. Athena API examples. https://www.who.int/uat-portal/info/athena-api-examples(访问 2026-09-07)
- World Health Organization. GHO legacy 弃用公告. https://apps.who.int/gho/data/node.main-eu.A1400?lang=en(访问 2026-09-07)
- World Health Organization. 数据使用条款和条件(中文). https://www.who.int/zh/about/policies/publishing/data-policy/terms-and-conditions(访问 2026-09-07)
- World Bank Data360. Global Health Observatory Indicators 元数据 PDF. https://data360files.worldbank.org/data360-data/datasetmetadata/WHO_GHO.pdf(访问 2026-09-07)
- Health Information and Quality Authority (Ireland). WHO Global Health Observatory 收录条目. https://www.hiqa.ie/ga/node/46256(访问 2026-09-07)
- domcushnan. healthapi — WHO GHO OData API 条目. https://github.com/domcushnan/healthapi/tree/main/apis/global-who-gho-odata(验证 2026-05-18,访问 2026-09-07)
- ApifyForge. Querying the WHO API Is Easy. Getting a Usable Dataset Isn’t. https://apifyforge.com/blog/querying-who-gho-api-usable-dataset(访问 2026-09-07)
- Logiover. WHO GHO Scraper(含 2026-08-01 审计说明). https://apify.com/logiover/who-gho-scraper(访问 2026-09-07)
- Hepius. WHO Global Health Observatory OData API Dataset 参考. https://hepius.co/documents/who-global-health-observatory-api-dataset-all-indicators-2022/(访问 2026-09-07)
- Our World in Data. Global Health Explorer(方法与来源差异). https://ourworldindata.org/explorers/global-health(访问 2026-09-07)
- WHO. Health Inequality Data Repository 数据页. https://www.who.int/mega-menu/data/data-at-who/health-inequality(访问 2026-09-07)
- GBD 2016 SDG Collaborators. The Lancet, 2017. DOI 10.1016/S0140-6736(17)32336-X
- Pranjal T S et al. IEEE, 2024. https://ieeexplore.ieee.org/document/10987496(及复现仓库 https://github.com/pranjalts07/HALE-ML-Prediction)
- Garmany A, Terzic A. Communications Medicine, 2025. DOI 10.1038/s43856-025-01111-2
- Discover Applied Sciences, 2023. DOI 10.1007/s42452-023-05404-W
- Sage IDT, 2024. DOI 10.3233/IDT-240983
- Zarca K, Filipovic-Pierucci A. rgho v3.0.2. CRAN, 2024. https://CRAN.R-project.org/package=rgho
- University of Gothenburg QoG. WHO 数据集注释(卢旺达多值实例). https://datafinder.qog.gu.se/dataset/who(访问 2026-09-07)
- Zingu. /Indicator 端点探针历史. https://zingu.ai/endpoints/azureedge.us:who-global-health-observatory:GET:_Indicator(访问 2026-09-07)
- University of Windsor Libraries. Health Data & Statistics 指南. https://guides.library.uwindsor.ca/c.php?g=745866&p=5402701(访问 2026-09-07)
来源使用规则:官方来源(1-8、14)优先于商业/社区来源(9-13、22-23)优先于学术文献(15-19);两处来源冲突时以 WHO 官方页面为准并在正文标注差异。所有访问日期与检索批次对应 2026-09-05/07。
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §0 E-E-A-T 与免责声明 | 千方病案医学编辑部 | 逐字对照金标准模板 + 合规条款核对 | ✅ 已通过/已验证 |
| §1 概览与 §2 医学背景(ICD-11/SNOMED 映射) | 千方病案医学编辑部 | 对照 ICD-11/SNOMED CT 官方术语与来源文献 | ✅ 已通过/已验证 |
| §3-§4 规格与数据结构 | 千方病案医学编辑部(数据工程) | 对照官方 API 文档与元数据注册库 | ✅ 已通过/已验证 |
| §5-§6 指南与坑点 | 千方病案医学编辑部(数据工程) | 坑点逐条溯源至真实社区/官方证据 | ✅ 已通过/已验证 |
| §7 DAIMS 与 §8 生态 | 千方病案医学编辑部 | 24 项逐项评分复核 + 文献引用核对 | ✅ 已通过/已验证 |
| §9-§10 引用与声明卡 | 千方病案医学编辑部 | BibTeX 格式与来源完整性检查 | ✅ 已通过/已验证 |
校验方式说明:「逐字对照」指与金标准模板文本逐句比对;「溯源核对」指每个数字/事实回查至少一个 §10.3 来源;「真实失效模式评估」指坑点条目须对应官方文档、社区 issue 或文献中可指认的记录,不得套用模板泛化。
§10.5 AI 生成章节标注
本条目全文由 AI 起草(范围见 §10.2),经人工事实核查、医学与数据工程交叉审核后定稿;关键数字均可回溯至 §10.3 来源列表。AI 未参与:审核结论的判定、审核状态的勾选、以及任何对外承诺(合规建议以 WHO 条款原文为准)。代码示例中的指标代码凡标注「示例代码」者,均须以 /Indicator 实时检索核实后再用于生产。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)
数据访问与时效声明:本页面引用的 API 行为、指标规模与接口状态对应 2026-09-05/07 的检索批次;GHO 处于向 WHO Data Hub 迁移的过渡期,接口细节可能随时间变化,请以官方文档实时为准。本页不存储、不再分发任何 GHO 数据副本,仅链接官方源。
页面状态:published(全部内容已完成审核并发布)
