全球疾病负担结果工具 GBD — 口径矩阵与建模估计

七维筛选、11 个度量上下文、23 种合法口径配对

来源 https://vizhub.healthdata.org/gbd-results/发布时间: 2026-10-29最后更新: 2026-10-29 阅读 8
全球疾病负担结果工具 GBD — 口径矩阵与建模估计

信息速览

数据集名称全球疾病负担结果工具 GBD — 口径矩阵与建模估计
数据类型估计值,CSV 下载,国家级聚合,建模数据
规模不适用(覆盖 204 个国家与地区的人口级估计,不含任何个体层面记录)
接入方式https://vizhub.healthdata.org/gbd-results/
AI 就绪度

GBD Results Tool 是华盛顿大学健康测量与评价研究所(IHME)为全球疾病负担研究配的官方取数口:选定原因、地点、年龄、性别、年份,把结果看在一张表里,或者打包成 CSV 带走。它不生产数据,只把 GBD 2023 那一轮算出来的估计值,按七个筛选维度切开摆好,等着被查。

它真正难的地方不在界面,而在口径。同一句「中国肝癌死亡数」,换度量、换单位、换年龄口径、换性别,能问出十几个不同的量,而每一个都有名有姓、都能被引用、都能通过同行评议。选错一格,结论就换一个方向,而且错得毫无声响。

还有一条更硬的边界:GBD 给的是建模估计,不是登记台账。原始死因数据薄的地方,数字由模型补出来,95% UI 会很宽。一屏速览见下表。

维度 内容
中文名 全球疾病负担结果工具
英文名 GBD Results Tool(Global Burden of Disease Study Results)
主管机构 IHME,华盛顿大学(Seattle)
当前轮次 GBD 2023,2025 年 10 月 12 日在世界卫生峰会上发布,同月发表于《柳叶刀》系列
覆盖范围 204 个国家与地区 + 660 个次国家单元(分布于 20 个国家与地区)
原因清单 292 条死因口径、375 条疾病与伤害口径、88 个风险因素、9 类损害
度量 Deaths、DALYs、YLLs、YLDs、Prevalence、Incidence、MMR、PoD、HALE、SEV 等,按上下文分组共 22 项
单位 Number、Rate、Percent、Years、Probability of death、Index score
筛选维度 GBD Estimate、Measure、Metric、Location、Age、Sex、Year 共七层
年龄 25 个年龄组,另设「全年龄」与「年龄标准化」两个汇总值
时间 疾病负担 1990–2023;全死因与预期寿命 1950–2023
规模 官方口径逾 6,070 亿条标准化估计(IHME 全站合计)
获取方式 浏览器看表与折线;注册登录后申请 CSV,邮件送链接,文件保留 7 天
许可 免费非商业用户协议;商业用途须单独申请
最典型误用 把 DALYs 当死亡数、把 Rate 当 Number 去和别国比

§1 它是什么:一个取数口,不是一个数据库

1.1 一句话定位

GBD Results 是一台「口径切片机」。原料是一整套已经算好的估计值,刀片是七个下拉框,产出是表格或 CSV。它的价值不在原料有多重——那是研究本身的事——而在刀片切得有多细、每一片的边界有没有写清楚。

这句话可以拆成三个可检验的断言。第一,它不改变数值:同一个单元格,无论你从网页看还是从 CSV 读,除了舍入精度之外应当一致(网页显示四舍五入值,官方明说完整精度只在下载文件里)。第二,它不生产数值:任何一行都能追到某个模型、某批输入数据、某一轮发布。第三,它把「口径」显式化了:度量、单位、年龄、性别四个字段不是装饰,是定义的一部分,行里不写清楚就无法解释。

第三点最容易被低估:多数开放数据给你一张宽表,列名即变量名;GBD 给你一张长表,每行含义要靠四个字段共同确定。这既是它的严谨,也是它的陷阱。

1.2 与研究总览的分工:两篇各管一头

库内已有 global-burden-of-disease(全球疾病负担研究总览),与这一篇是上下游关系,不是重复。分工可以一句话说清:总览回答「这个研究是什么、凭什么可信」,这一篇回答「怎么从这个研究里把数取出来、取的时候有哪些口径要定、为什么同一句话能问出五个答案」。

问题 总览词条负责 这一篇负责
GBD 是什么、谁在做、做了多少年 讲清 只给最低限度的背景
用了哪些模型、方法学怎么演进 讲方法与学术史 只讲这些模型如何决定 UI 的宽度
有多少病、多少风险、多少国家 给规模与结构 给规模,但重点是「这些数为什么不能相加」
怎么取一份数据 提一句「通过 Results Tool」 讲透七个维度、23 种合法配对、下载链路与坑
同一问题的多个答案 不展开 全文主轴,§3 整章
建模估计与原始登记的差别 提及 §4 整章,含登记完整率的硬数字

要一段「GBD 是什么」的背景,看总览就够;要取 2023 年中国 40 岁以上男性肝癌的死亡数与年龄标准化率、还要能写进方法段,这一篇才有用。两篇都看更好,但不要拿总览里的规模数字去当查询结果——那是两套不同性质的数:前者是「研究级」口径,后者是「查询级」口径,混用是跨篇引用最常见的错。

1.3 你的处境与它能帮到的事

左列写处境,不写功能。同样一份工具,不同的人该拿走的东西完全不同。

你的处境 它能帮你什么 下一步该做什么
要为一个国家的卫生规划写背景章节 给出该国主要死因排序与 DALYs 构成 先定度量(Deaths 还是 DALYs),再定是否年龄标准化
要做跨国横断面比较 提供统一的年龄标准化率 必须选 Rate + 年龄标准化,不能选 Number
要追踪某种病 1990 年以来的走向 逐年序列 + 官方预设的五段变化率 用同一轮次的一整条序列,不要跨轮拼接
要评估某个风险因素的归因负担 风险因素上下文下的归因死亡与归因 DALYs 注意风险与原因必须先配对,否则查不到
要做一个疾病负担预测模型的基线 提供带区间的历史点估计 用 CSV 取全精度,用 UI 宽度做不确定性先验
要给论文的方法段写一句可复现的取数说明 提供可分享的查询链接与官方引用格式 把维度组合、轮次、访问日期三项全部写进方法段
要在课堂上讲「同一数据多种解读」 一个天然的口径矩阵教具 用 §3.6 的十二条答案表做练习
要评价某家医院的诊疗质量 帮不上 换机构级临床数据

1.4 不适合谁:五条边界

第一条:要个体数据的。 这套数的最小单元是「地点 × 年龄 × 性别 × 年份 × 原因」,没有患者、没有病例、没有随访。任何想做个体轨迹、共病模式、疗效异质性的研究,在这里第一列就交白卷。

第二条:要做实时监测的。 GBD 是轮次制,一轮发布覆盖到某一年,下一轮要等一到两年。它做的是回顾性基线,不是本周预警。想监测当月疫情或灾后超额死亡,应当去 WHO 的实时通报、各国生命登记快报或专业监测网络。

第三条:要原始登记数据的。 工具给的是模型的输出,不是模型的输入。想研究「某国死亡登记到底记了什么」,应当去 GHDx 找该国的登记微观数据,或去 WHO 死亡数据库取原始归因表。

第四条:要因果推断的。 归因负担(attributable burden)建立在比较风险评估框架上,它的含义是「若暴露降到反事实水平,负担会减少多少」,不是「这个因素导致了这些死亡」。把归因 DALYs 读成因果效应量,是方法学上的越界。

第五条:要拿它做绩效问责的。 数字背后有大量模型假设与协变量校正,单点值不足以支撑「某国做得差」这样的判断。它可以是背景,不能是判据。

§2 数据构成与规格

2.1 一项研究,三个出口

GBD 的结果不是只有一个门。理解三个出口的分工,能省掉大量白跑。

出口 形态 强项 弱项
GBD Results 表 + CSV 维度全、可下载、带区间 界面朴素,大查询要等邮件
GBD Compare 交互可视化 一眼看出排序与趋势,适合讲故事 不能批量导出,精度受限
GHDx 目录 + 打包文件 归档完整、含历史轮次、有 DOI 需要逐数据集找,不是按问题查

三者数据同源。Results 面向「我要一组数」,Compare 面向「我要看懂一件事」,GHDx 面向「我要一套可长期引用的档案」。做工程的人最后都会回到 Results 与 GHDx:前者给查询结果,后者给层级表、伤残权重、SDI 序列这些配套件。

2.2 规模:七个数字,没有两个能相加

GBD 的规模数字分属四类互不相通的计数基准(总量、原因清单、风险、地点),是这一篇最容易被误用的一类。

数字 官方表述 计的是什么 能不能加
逾 6,070 亿条 「高度标准化的综合估计」 IHME 全站累计的估计单元格数 不能与下面任何一项相加
292 死因条数 有致死结果的原因 不能与 375 相加
375 疾病与伤害条数 有非致死结果的原因 不能与 292 相加
88 风险因素个数 可改变风险 独立计数
204 国家与地区 地点 与 660 并列,不相加
660 次国家单元 20 个国家与地区内部的点位 同上
463 「健康结局与风险因素」 IHME 首页的另一套说法 不等于 292+375+88

最后一行必须点出来。292 加 375 加 88 等于 755,而 IHME 首页写的是 463。463 不是前三者的和,也不等于其中任何一项;《柳叶刀》的专题页把它写成「463 种疾病与伤害」,IHME 首页写成「463 种健康结局与风险因素」。两处措辞不同,指向的很可能不是同一个集合。引用时就近取一个、写清出处,不要自己算总和。

292 与 375 的关系同样需要当心。两张清单不是包含关系:有些原因只出致死结果,有些只出非致死结果,层级表里用两列标记(YLL Only 与 YLD Only)。所以「375 减 292 等于 83」这种减法没有意义——那 83 条的差额里混着两种完全不同性质的原因。

2.3 七个维度,一张全表

工具的筛选面板从上到下是七层。前两层决定了你能看到哪些度量,这一点多数人在第一次使用时都会踩空。

维度 取值形态 数量级 关键提醒
GBD Estimate 上下文:死因伤害、死因概率、风险、病因、损害、SEV、HALE、伤害性质、人口、生育、全死因 11 类 先选它,度量清单会随之改变
Measure 度量:Deaths、DALYs、YLLs、YLDs、Prevalence、Incidence、MMR、PoD、SEV、HALE、Population 等 22 项(跨全部上下文) 不是每一项在任何上下文里都有
Metric 单位:Number、Rate、Percent、Years、Probability of death、Index score 6 项 Rate 是每十万人口,不是每万
Location 超级区、地区、国家、次国家单元、自定义区组 见 §2.4 自定义区组含 WHO 区、世界银行收入组等
Age 25 个年龄组 + 全年龄 + 年龄标准化 27 个可选值 年龄标准化在这里,不在 Metric 里
Sex 男、女、男女合计 3 项 合计不等于男女相加后再除二的任何变形
Year 1990–2023 逐年 34 个年份 另有一个变化率开关,见 §3.7

这张表里最该记住的是第一行与第五行:前者决定「你能问什么」,后者决定「你问的是不是同一种率」。

2.4 地点层级:官方编号与常识编号不是一套

地点这一维看起来最简单,实际上最容易在写作时出错。

官方层级表把最细的地理单元称为 Level 4 与 Level 5,把国家与地区称为 Level 3。这是 GBD 2023 数据与工具指南的原话。但人们口头上说的层级是另一套:全球 → 7 个超级区 → 21 个地区 → 204 个国家与地区 → 次国家单元。两套说法并行,写方法段时如果用「Level 3 是国家」去对应「第三层是地区」,就会自相矛盾。

层级 常说的说法 官方 Level 标注 数量
全球 全球 未在指南中单列 1
超级区 super-region 未在指南中单列 7
地区 region 指南未标注 21
国家与地区 country / territory Level 3 204
次国家单元 subnational Level 4 与 Level 5 660(20 个国家与地区内)

处理办法很简单:写方法段时不要写「Level N」,直接写「全球、超级区、地区、国家、次国家」五级中文名,需要机器可读时再引用层级表的 Location ID。这样既准确又不依赖编号约定。

自定义区组是另一个实用功能。层级表里带了非洲联盟、阿拉伯世界、英联邦、欧盟、G20、海湾合作委员会、北欧、大洋洲、OECD、伊斯兰合作组织、萨赫勒、世界银行收入组、世界银行地区等十余套区组,每套有自己的版本 ID。做区域性汇总时用官方区组,比自己做加权平均更稳,也更容易被审稿人接受。

2.5 一条记录长什么样

下载的 CSV 是长表。表头固定十六列,每一列都是某一层口径的名字,没有一层是装饰。

measure_id,measure_name,location_id,location_name,sex_id,sex_name,age_id,age_name,cause_id,cause_name,metric_id,metric_name,year,val,upper,lower
列 含义 取值形态 用法与坑
measure_id / measure_name 度量 数字 + 英文名 两列必须一致,按名筛选更安全
location_id / location_name 地点 数字 + 英文名 名称含重音符,Excel 直开可能乱码,须转 UTF-8
sex_id / sex_name 性别 1/2/3 + Male/Female/Both Both 是独立估计,不是男女算术平均
age_id / age_name 年龄 数字 + 组名 混着明细组与两个汇总值,筛选前先看清单
cause_id / cause_name 原因 数字 + 英文名 同名不同层级的原因可能出现,须按 ID 去重
metric_id / metric_name 单位 数字 + 英文名 Rate 与 Number 混在同一列位,汇总前必须分组
year 年份 整数 1990 至 2023
val 点估计 浮点 一千次抽样的均值
upper / lower 95% UI 上下界 浮点 顺序是 upper 在前、lower 在后,写代码时容易接反

最后一行值得单说。列序是 val, upper, lower,不是常见的 val, lower, upper。按位置读列而不按表头读列的脚本,会把区间上下界接反,而这个错误不会报错,只会让区间变成负宽度。

风险因素查询会多出 rei_id 与 rei_name 两列,损害与病因查询同理。写通用读取函数时不要把列数写死。

2.6 轮次序列:编号跳着走,是因为它标的是数据年

GBD 的轮次不是版本号,而是「这一轮主要估计到哪一年」。所以序列里没有 GBD 2022,也没有 GBD 2018。

轮次 发布 疾病与伤害 风险因素 地点规模
GBD 1990 1993(世界银行委托) 107 病、483 后遗症 未设 8 个地区、5 个年龄组
GBD 2010 2012-12 291 67 187 国、21 地区、20 年龄组
GBD 2013 2014–2015 300 余 79 188 国
GBD 2015 2016-10 315 79 195 国
GBD 2016 2017-09 333 84 774 个地点、23 年龄组
GBD 2017 2018-11 359 80 余 195 国 + 俄罗斯次国家
GBD 2019 2020-10 369 87 204 国、990 个最细地点
GBD 2021 2024-05 371 88 204 国、983 个地点
GBD 2023 2025-10 375 88 204 国、660 个次国家单元

这张表里最该注意的是最后三行:最细地点的数量从 990 掉到 983,再掉到 660。这不是覆盖收缩,而是计数基准变了——2023 轮次改用「次国家单元」单列,且明确限定在 20 个国家与地区内。三个数摆在一起看像在退步,实际是三把不同的尺子。§8.2 会专门拆这件事。

§3 口径层:一句话能问出多少种答案

3.1 先定上下文,再定度量

这是整个工具最反直觉的一步。多数查询工具是「选指标 → 选筛选条件」,GBD 是「选上下文 → 上下文决定可选指标」。官方把第一层叫 GBD Estimate,直译是「估计类型」,实际含义是「你要问的是哪一类问题」。

GBD Estimate 这个上下文在问什么 可用的度量
死因与伤害 某病造成多少死亡与负担 Deaths、DALYs、YLLs、YLDs、Prevalence、Incidence、MMR
死因概率 在某年龄段死于某病的概率 Probability of death
风险因素 某暴露归因于多少负担 Deaths、DALYs、YLLs、YLDs
病因 某病的具体病原或病因归因 Deaths、DALYs、YLDs
损害 某类功能损害的负担 YLDs、Prevalence、Incidence
汇总暴露值 人群暴露水平 SEV
健康预期寿命 活得久且活得好的年数 HALE
伤害性质 按身体损伤类型拆的伤害负担 YLDs、Prevalence、Incidence
人口 分母 Population
生育 生育水平 ASFR、TFR、TFU25、NRR、活产数、粗出生率
全死因 不分原因的总死亡 期望寿命、寿命表、5q0、45q15

读法是:先想清楚「我要的是不是死亡数」。如果不是,别在死因上下文里翻度量,直接换上下文。很多「查不到数」的抱怨,根源是上下文选错——比如在死因上下文里找 SEV,或在风险上下文里找 Prevalence,结果当然是一片空。

3.2 度量不是同一类量

十一个度量分三类:能直接数人头的(Deaths、Prevalence、Incidence)、计年数的(YLLs、YLDs、DALYs、HALE)、以及比值与概率(MMR、PoD、SEV)。混用它们,是这一篇里最严重的错误类型。

度量 计量的是什么 单位 与相邻度量的关系
Deaths 死亡人数 人 最接近常识的「死了多少」
YLLs 早死损失的年数 人年 死亡数 × 该年龄的剩余期望寿命
YLDs 带病生存损失的年数 人年 患病数 × 伤残权重,考虑共病
DALYs 健康损失总年数 人年 YLLs + YLDs
Prevalence 某一时点的病例总数 人 存量,不含新发
Incidence 一定期间的新发病例数 人 流量
MMR 每十万活产的孕产妇死亡 比值 分母是活产,不是人口
PoD 某年龄区间内死于某病的概率 概率 与死亡数不同,已除掉竞争风险
HALE 健康状态下预期活多少年 年 与期望寿命的差就是「病着的年数」
SEV 人群暴露水平 0–100 指数 不是负担,是暴露

三个推论可以直接用。

第一,DALYs 永远大于等于 Deaths 在数量级上的直觉。一个死亡对应的 DALYs 通常是几十,所以把某国的 DALYs 除以死亡数会得到一个「平均早死年数」,这个数通常在 20 到 40 之间;如果有人算出 0.3,那一定是用错了单位。

第二,YLLs 与 YLDs 不可比。前者按标准寿命表折算,后者按伤残权重折算,两者相加得 DALYs 在算术上成立,但在解释上要分开说:一个说「死得早」,一个说「病得久」。

第三,Prevalence 与 Incidence 的比值约等于病程长度。这个关系可以用来做合理性检查:如果某病的患病数小于发病数,且不是急性病,那多半是查询口径出了问题(比如年份选错,或年龄组不连续)。

3.3 单位:六个取值,只有三个能用于原因类度量

官方给度量与单位做了一张定义表。这张表不长,但它是一条硬约束:不是所有度量都能配所有单位。

度量 Number Percent Rate Years Probability of death Index score
Deaths 有 有 有 无 无 无
DALYs 有 有 有 无 无 无
YLLs 有 有 有 无 无 无
YLDs 有 有 有 无 无 无
Prevalence 有 有 有 无 无 无
Incidence 有 有 有 无 无 无
MMR 无 无 有 无 无 无
PoD 无 无 无 无 有 无
期望寿命 无 无 无 有 无 无
HALE 无 无 无 有 无 无
SEV 无 无 有 无 无 无

数一下有标记的格子:六个原因类度量各 3 个,MMR、PoD、期望寿命、HALE、SEV 各 1 个,合计 23 个合法配对。这个 23 是这一篇里最该记住的数字之一——它意味着「11 个度量 × 6 个单位 = 66 种名义组合」里,有 43 种是空的。

空的那 43 格不是缺陷,是定义使然。「死亡的百分比」有意义(占全死因的比例),「SEV 的百分比」没有意义(它本身就是 0 到 100 的指数),「期望寿命的率」也没有意义(它已经是年数)。

三个单位各自的含义需要精确:

Number 是绝对数量,随人口规模变化,做跨国比较时几乎总是错的。Rate 是每十万人口的数量——官方定义表写明分母是十万不是百万,与很多疾病登记的口径差一个量级。Percent 的分母是该年该地全部原因的合计,不是全国人口,所以「肝癌死亡占 4%」不等于「4% 的人死于肝癌」。

3.4 年龄口径藏在年龄下拉里

这是最高频的踩空点。使用者以为「年龄标准化」是一个单位或一个选项,会在 Metric 里找,找不到就退而求其次用了粗率。实际上它在 Age 下拉里,和「全年龄」「25 个年龄组」并列。

年龄选项 得到什么 适合做什么 不适合做什么
单个年龄组(如 40–44) 该组的数或率 年龄别分析、精细建模 总体比较(会漏掉别的组)
多个年龄组 分组结果 年龄结构分解 直接求和(率不能加)
全年龄(All ages) 全人口合计 总量、粗率 跨国比较(年龄结构不同)
年龄标准化(Age-standardized) 按标准人口调整后的率 跨国、跨时比较 需要绝对量时

年龄标准化的机制是直接标准化:把各年龄组的年龄别率,按一套固定的标准人口结构加权平均。GBD 用自己的一套标准人口,所以它算出的年龄标准化率与用 WHO 世界标准人口或美国 2000 年标准人口算出的值不完全一样。写方法段时必须说明用的是哪一套标准人口,否则复现者算不出同一个数。

一个具体后果:某国人口年轻,粗率会被年轻人口稀释;某国人口老化,粗率会被抬高。两国粗率相差三倍,年龄标准化之后可能只差 1.2 倍。这不是数据在变,是分母在变。跨国比较不选年龄标准化,等于把人口结构差异当成了疾病负担差异。

3.5 性别:合计不是平均

Sex 只有三个取值,但它藏着一个常被忽略的事实:Both 是独立估计,不是男女两个估计的算术平均。

原因在于估计流程。GBD 对男女分别建模,再对合计单独建模;合计的输入数据(全人口的登记死亡)与分性别的输入数据不是同一批,模型的协变量与平滑也不完全一致。所以严格来说,「男女合计」与「男女相加」会有小差异,而「男女合计除二」在人口结构不均时误差更大。

选项 含义 常见误用
Both 全人口估计,独立建模 当成男女算术平均
Male 男性估计 与 Female 相加后当作 Both 使用
Female 女性估计 同上

实践建议只有一条:需要全人口就用 Both,需要分性别就用两个单列,不要在两者之间做换算。做性别差异分析时,用率而不用数,因为男女的年龄结构本身就不同。

3.6 贯穿案例:一句「中国肝癌死亡数」能问出多少种答案

把前面四层叠起来,一句最朴素的提问会裂开。下面这张表列的不是具体数值(任何数值都必须连同年份与轮次引用,脱离语境的数字没有意义),而是「这一格指向的是哪一个量」。

度量 单位 年龄口径 性别 得到的量
Deaths Number 全年龄 Both 一年内因肝癌死亡的总人数
Deaths Number 全年龄 Male 同上,仅男性
Deaths Rate 全年龄 Both 每十万人的肝癌粗死亡率
Deaths Rate 年龄标准化 Both 按标准人口调整后的率
Deaths Percent 全年龄 Both 肝癌死亡占全部死亡的比例
DALYs Number 全年龄 Both 肝癌造成的健康损失总年数
DALYs Rate 年龄标准化 Both 每十万人损失的年数
YLLs Number 全年龄 Both 其中早死损失的年数
YLDs Number 全年龄 Both 其中带病生存损失的年数
Prevalence Number 全年龄 Both 某时点的肝癌现患人数
Incidence Number 全年龄 Both 一年内的新发肝癌人数
PoD Probability 分年龄区间 Both 在某年龄段死于肝癌的概率

十二行,十二个量。它们全都「对」,但没有两行可以互换。而且这还只是把变化率开关关掉的情况;打开之后,每一行还能再派生出五个时间段的年平均变化率(§3.7)。

这张表最实用的地方,是它可以当自检清单用。写完一段分析后回头对一遍:这句话里的「增加」说的是数还是率?如果是率,是粗率还是标准化率?如果是标准化率,用的是哪套标准人口?三个问题答不齐,这句话就不能发。

3.7 变化率开关:又一层口径

工具面板上有一个「总百分比变化」开关。打开之后,输出的不再是单年估计,而是指定区间的年平均变化率。官方预设五个区间:1990–2000、1990–2023、2000–2010、2010–2023、2020–2023。

区间 用途 注意
1990–2000 长周期前半段 早期数据薄,区间宽
1990–2023 全周期 结论最稳,但会抹平中途转折
2000–2010 千年目标期 适合评估 MDG 相关病种
2010–2023 近年 适合评估 SDG 与疫情前趋势
2020–2023 疫情期 只有三年,噪声大,不宜单独下结论

第二层陷阱是变化率本身也分数与率:人口在长、死亡数在涨,但年龄标准化死亡率可能在跌——两句话都对,说的却是两件事。GBD 自己的论文通常两个都给,不是冗余,是必须。

还有一个技术细节:变化率区间是固定的五段,不能自定义起止年。想要 2005–2015 这样的任意区间,只能下逐年数据自己算,算的时候用对数线性回归拟合年均变化率(AAPC),不要用首尾两点直接相除——后者会把中途的波动全部吃掉。

3.8 口径错会一路传下去

口径错误不像数据错误,它不报错。你把 Rate 当 Number 存进变量,代码照样跑,模型照样收敛,图照样好看,只是结论错了,而且要等到审稿人问「这个数为什么比全国人口还大」才会暴露。

错误 表面症状 下游后果
Rate 当 Number 数值量级偏小但非零 总量被低估几个数量级
Number 当 Rate 数值量级异常大 跨国比较完全失效
粗率当标准化率 数值合理,排序异常 人口老化国家被系统性高估
DALYs 当 Deaths 数值是死亡数的几十倍 负担被当成死亡规模
Percent 当 Number 数值在 0 到 100 之间 被误读成「只有几十人死亡」
跨轮次拼接 序列在某年跳变 趋势分析的拐点是假的

最后一行在实务中最常见:把 GBD 2019 的 1990–2019 序列接上 GBD 2021 的后续年份,做出一条长序列,2019 与 2020 之间那个由换轮次造成的断点,往往被解释成疫情效应。

§4 估计层:区间、模型与「数字会变」

4.1 点估计是均值,区间是分位数

GBD 的每一个单元格不是算出来的一个数,而是一千条抽样。官方的方法学写法是:对每个「地点-年份-年龄-性别-原因」组合抽一千次,点估计取这一千次的均值,95% UI 取排序后第 25 与第 975 个值——也就是 2.5 与 97.5 分位。

这个设计带来三个必须知道的后果。

第一,UI 里同时装着两种不确定性:输入数据的抽样误差,以及模型设定本身的误差。常规流行病学置信区间只处理前一种,所以 GBD 的区间系统性更宽。拿 GBD 的 UI 去和一篇队列研究的 95% CI 比宽窄,是没有意义的比较。

第二,点估计落在区间中央是设计使然,不是证据。均值天然居中,所以「点估计看起来很正常」这件事不提供任何关于可信度的信息。判断可信度只能看区间宽度与输入数据密度。

第三,UI 不能做算术运算后再取端点。两个国家各自死亡数的 UI 相减,得到的区间不是差值的 95% UI——因为两边抽样是独立的,正确做法是把一千条抽样逐条相减再取分位。而工具只给 val、upper、lower 三列,不给你那抽样;所以任何「区间相减」都是近似,写进论文要注明。

官方术语表对 UI 的表述相当克制:只说它「反映估计的确定性」,并说明「数据可得性有限、样本小、来源相互冲突时区间更宽」。它没有使用置信区间或可信区间这两个词。这个措辞差异值得尊重——它承认了区间的语义比常规统计推断更宽。

4.2 区间宽度是数据密度的函数

要理解 UI 为什么在某些国家很宽,看一组官方数字就够了。这是 GBD 2023 人口学专论里报告的生命登记完整率,指某地区某五年期内登记在册的死亡数,占该地区估计全部死亡数的比例。

范围 1975–1979 2015–2019 2020–2023
全球 30.0% 59.8% 45.1%
高收入超级区 — 99.6% 95.8%
撒哈拉以南非洲 — 6.5% —

这组数字说明的事情很直白:在高收入超级区,几乎每一例死亡都有登记,模型主要在解决编码口径与垃圾码分配;在撒哈拉以南非洲,十五年间只有约十五分之一的死亡进入登记系统,其余靠入户调查的儿童死亡率、兄妹生存史、以及协变量模型补。

补齐的办法是「借力」:用邻近地点的数据、相邻年份的趋势、以及与社会经济发展水平相关的协变量,推出一条连续曲线。这套做法在方法学上是成熟的,代价是推出来的值承载了更多假设,于是 UI 变宽。

一条可操作的规则:拿到一个数,先看它的 UI 相对宽度。相对宽度在 10% 以内的,可以当作较稳的估计直接引用;在 30% 以上的,任何排序结论都要谨慎;超过 100% 的,说明这个单元格的输入数据极薄,最好只用于说明「量级」而不是「水平」。

4.3 模型栈:不同问题用不同工具

GBD 不是一个大模型,是一组模型按问题分工。理解这一点,才能理解为什么同一份数据在不同度量下的可信度不一样。

模型 解决什么问题 典型用于 对 UI 的影响
CODEm 死因别死亡数 有生命登记但编码不全的国家 集成多个子模型,区间中等
DisMod-MR 2.1 发病、患病、 remission、病死率的一致性 需要内部自洽的疾病 贝叶斯解,区间随数据密度变化大
MR-BRT 跨数据源系统偏差校正 不同来源口径不一致时 校正本身引入额外不确定性
ST-GPR 稀疏数据的时空平滑 数据点极少的地点与年份 平滑越强,区间越依赖先验
OneMod 全死因死亡率与寿命表 GBD 2023 新增,替换旧的人口学方法 参数化与非参数结合,区间较紧
比较风险评估 归因负担 88 个风险因素 依赖暴露分布与相对危险度两条链

表里最值得注意的是 OneMod。它是 GBD 2023 才引入的全死因死亡率模型,把参数化回归与非参数的核回归结合起来,在年龄与时间两个方向上平滑。官方在人口学专论里给出的结果是:2023 年全球死亡 6,010 万(95% UI 5,900 万至 6,110 万)。这个区间的相对宽度不到 2%,说明全死因这条链的数据基础比死因别要硬得多。

于是出现一个反直觉的现象:同一个国家,「总死亡数」的区间可能很窄,「肝癌死亡数」的区间可能很宽。原因不是肝癌的数据更差,而是死因归因这一步要在总死亡之上再做一次分配,两次不确定性叠加。看数时把这两层分开,就不会误以为整套估计都同样可靠。

4.4 三个能看见「重估」的官方例子

模型估计值会变,这不是缺陷,是设计的必然:每轮都用当轮全部数据把 1990 年以来的整条序列重算一遍,以求序列内部自洽,代价是跨轮次不可拼接。官方披露过三个能直接看见这种变化的例子。

例子一:死因排序的整体位移。 GBD 2023 的发布材料写明,2021 到 2023 年间,COVID-19 从全球第一死因降到第二十位。这个变化里既有真实的流行病学下降,也有模型在拿到 2020 至 2023 年完整数据后的重新分配。把它整句引用没有问题,但如果要拆出「多少是真实下降、多少是重估」,工具给不了答案。

例子二:被低估的人群。 GBD 2023 用新数据与新方法后发现,撒哈拉以南非洲 15 至 29 岁女孩与女性的死亡率,比此前报告高 61%。这是一个方法论意义上的发现:不是死亡变多了,是此前的估计漏了。这类修正通常发生在数据薄弱、且原有方法对该人群覆盖不足的地方。

例子三:新增原因。 GBD 2023 新增了五个原因:溃疡性结肠炎、克罗恩病、甲状腺疾病、其他内分泌代谢血液免疫疾病、电击伤。新增原因意味着上一轮的「其他」类目被拆开,于是上一轮的「其他」数值与本轮的同一类目不可比——这是最隐蔽的一种断点,因为类目名没变,内容变了。

三个例子合起来,与 §3.6 的案例是同一件事的两面:那一节说口径会裂开,这一节说数值本身也会动。纪律只有一条——引用 GBD 数字时,轮次是必填项,和年份、地点一样重要。「2023 年中国肝癌死亡数」这句话是不完整的,必须写成「GBD 2023 轮次下,2023 年中国肝癌死亡数」。

4.5 落到一句可操作的判断

把这一章压缩成一句:GBD 的数字回答的是「按现有全部证据,最合理的估计是多少」,不是「当地登记系统记到了多少」。两者在数据好的地方几乎重合,在数据差的地方可以差很远。

使用者不必记住每个国家的登记完整率,只需养成两个动作:查数时看一眼 UI 宽度;写结论时把「估计」两个字写进去。成本极低,收益是把「引用一个数」变成「引用一个有边界的数」——后者才是这套工具真正提供的东西。

§5 取数层:三条路与它们的坑

5.1 网页表:看得快,算不得

打开工具,选完维度点搜索,右侧出表。表里能排序、能筛选、能看折线。这条路适合探索:想知道某个病在哪些国家负担最重,两分钟就有答案。

它的限制写在官方说明里:网页表格显示的是四舍五入后的值,完整统计精度只在下载文件里。这意味着任何二次计算——比率、差值、增长率、标准化——都不能用网页上的数。

回到 §3.6 的案例:十二行里有四行是「率」,网页上看到的整数若被当成死亡数,这四行就全废了。一个具体的坑:网页上某国死亡数显示为整数,你把它当年分母去做率,算出来的率与官方 Rate 会有小差异。差异不大,但审稿人一旦复算就会问。规矩很简单:网页用来看,CSV 用来算。

5.2 CSV:注册、查询、等邮件

下载链路有四步,每一步都有它自己的摩擦。

步骤 做什么 摩擦点
1 注册并登录 IHME 账号 必须,未登录无法查询与下载
2 选维度、点搜索、确认表里有数 官方建议先小范围搜到结果再扩大
3 点下载,选 IDs / Names / Both,填邮箱 三选一决定文件可读性
4 收两封邮件,从状态页取文件 处理可能数小时,文件保留 7 天

第三步的 IDs / Names / Both 是个小而重要的选择:只给 ID 体积小、适合程序处理但人眼不可读;只给名称可读,遇到重名或改名就麻烦;Both 最稳,体积也最大,长期归档建议选它。第四步的七天有效期容易被忽略——周五提交、下周一出差回来,链接已失效,只能重跑。这不是故障,是设计。

5.3 大查询会被切块,也可能静默漏行

官方用户指南有一段不太显眼但极重要的提示,值得原样记住它的意思:参数极多的查询,生成的文件有时会遗漏查询中指定的部分结果——某些年龄组、某些年份——而且不会报错。官方的建议是把查询拆小,先窄后宽,先在表里看到数再下载。

这是这一篇里最该被引用的一条边界。它的严重性在于「不报错」:你以为拿到了全量,其实少了几个年龄组,而缺的那几组恰好可能改变结论。

防它的办法是自检,不是信任。下载后算一遍理论行数:地点数 × 年份数 × 性别数 × 年龄组数 × 原因数 × 度量数 × 单位数,与实际行数比对。不一致就拆小重下。这段检查写进脚本只要十几行,见 §5.5。

5.4 分片合并:列相同,行要接对

大查询的结果常被切成多个 CSV。每个文件列结构一致,都带表头。合并时只要按行纵向拼,但有两个细节。

第一,不要用带表头的简单拼接工具直接连,否则第二个文件的表头会变成一行数据。要么跳过每个文件的首行,要么用能识别表头的读取器。

第二,合并后按主键去重再计数:分片按行切,正常不重复,但中途重跑过某一片就会出重复行;以「度量+单位+地点+性别+年龄+原因+年份」为键去重,行数应等于理论单元格数。

5.5 一条可跑通的最小流水线

下面这段代码做三件事:读入下载目录里的所有分片、按主键去重、打印每个度量与单位的组合计数。它不依赖任何私有接口,只要把 CSV 放进同一个目录就能跑。

import glob
import csv
from collections import Counter

KEYS = ("measure_name", "metric_name", "location_name",
        "sex_name", "age_name", "cause_name", "year")

def load(pattern="gbd_results/*.csv"):
    seen, rows, dup = set(), [], 0
    for path in sorted(glob.glob(pattern)):
        with open(path, encoding="utf-8-sig", newline="") as f:
            for r in csv.DictReader(f):
                k = tuple(r[c] for c in KEYS)
                if k in seen:
                    dup += 1
                    continue
                seen.add(k)
                rows.append(r)
    print("files=%d rows=%d dup_skipped=%d" % (len(glob.glob(pattern)), len(rows), dup))
    return rows

rows = load()
print(Counter((r["measure_name"], r["metric_name"]) for r in rows).most_common())

关键在第一行读取用 utf-8-sig:GBD 的地点名含重音符(如 México),Excel 另存过的 CSV 会带 BOM,不带这个编码参数,第一个列名会变成乱码,后续按列名取值全部失败。

第二段代码做行数对账,把「理论单元格数」算出来,与文件行数比。

from collections import defaultdict

def audit(rows, expect):
    got = defaultdict(int)
    for r in rows:
        got[(r["measure_name"], r["metric_name"])] += 1
    for k, n in sorted(got.items()):
        target = expect.get(k)
        flag = "OK" if target is None or target == n else "MISMATCH"
        print(k, n, "expect", target, flag)

#-- 例:若查询覆盖 204 国 × 34 年 × 3 性别 × 2 年龄值 × 1 原因 × 2 度量 × 2 单位
expect = {("Deaths", "Number"): 204 * 34 * 3 * 2,
          ("Deaths", "Rate"):   204 * 34 * 3 * 2}
audit(rows, expect)

这段代码的价值不在精确复现,而在养成「下载完先对账」的习惯。对不上就拆小重下,比事后发现少了几组要划算得多。

5.6 配套件:层级表、伤残权重、SDI

光有数值列解释不了一套结果。要写清方法段、要做加权、要按区组汇总,都需要配套文件。

配套件 内容 获取处
原因、REI 与地点层级表 四级原因树、风险与损害清单、地点树与区组 GHDx,附 DOI
伤残权重 各后遗症对应的权重值及抽样区间 GHDx 独立数据集
SDI 序列 各国逐年社会人口指数 GHDx 独立数据集
术语定义表 全部术语的官方定义 数据与工具指南附件
度量与单位定义表 哪个度量配哪个单位 数据与工具指南附件

层级表的 DOI 是 10.6069/KMAH-ET96,2025 年 10 月 23 日发布,文件不到一百 KB。这张表不起眼,却是唯一能把「Level 3」对上「国家」的官方材料。

一个实用提醒:层级表有一句原文写的是「本文件包含 GBD 2021 的……」,而文件本身是 GBD 2023 的。这是官方文本的复制遗留,不影响内容,但引用时别照抄那句。

拿到文件先验表结构,比照着网页猜字段可靠。

import openpyxl

wb = openpyxl.load_workbook("IHME_GBD_2023_HIERARCHIES_Y2025M10D23.XLSX", read_only=True)
print(wb.sheetnames)
#-- 应含 All Location Hierarchies、Cause Hierarchy、REI Hierarchy 三张
ws = wb["All Location Hierarchies"]
rows = list(ws.iter_rows(values_only=True))
print(rows[0][:8], len(rows) - 1)

5.7 第三方封装:能用,但要当心稳定性

社区存在若干封装 GBD 数据的程序包,做法多是模拟网页查询。它们能省事,但有两个风险:网页接口不是官方承诺的 API,官网只承诺网页与 CSV 两条路,页面一改版封装就断;封装往往替使用者定了口径,默认返回 Number 还是 Rate、全年龄还是标准化,默认值一旦被忽略,口径就在不知不觉中换掉了。

稳妥做法是:用封装做探索,用 CSV 建仓。仓库里存原始文件、层级表与一份查询参数清单,工具改版也能复算。

§6 与库内相关记录的关系

这一篇在库内不是一个孤岛。它的上游是研究总览,横向是几类「原始登记」型数据源,下游是各类以 GBD 为基线的分析。

记录 关系 什么时候该转过去
全球疾病负担研究总览 上游:讲研究本身与方法史 需要交代「GBD 是什么」时
GHDx 上游目录:GBD 的档案与历史轮次都在这儿 要历史轮次、要配套件、要 DOI 时
WHO 死亡数据库 横向:各国上报的原始死因表 要看登记本身而非模型输出时
人类死亡率数据库 横向:长历史、高质量的登记序列 要做 1950 年以前或精细人口学分析时
WHO 全球卫生观察 横向:成员国上报的卫生指标 要非建模的官方统计口径时
全球卫生支出账 横向:卫生投入侧 要把负担与投入并列时
世界卫生调查 横向:一次性横断面调查 要个体自报健康与危险因素时
NHANES 横向:美国人群检查与问卷 要做生物标志物层面的暴露分析时
MEPS 横向:美国医疗支出面板 要做负担与支出的个体级链接时

三条路径可以直接用:要「某国某病的负担水平」,用这一篇,按 §3.6 的案例表定口径;要「这个国家的死亡登记本身长什么样」,去 WHO 死亡数据库取各国上报的原始归因表,两相对照就能直观感到模型补了多少;要「负担与投入的关系」,用这一篇出分子、用全球卫生支出账出分母,两边按同一年同一套购买力平价换算后再比。

§7 质量评估与局限性

7.0 阅读本节前的一个前置校正

给这套工具打分之前,必须先拆掉一把错误的尺子:不要用「数据准确性」去量一个建模产品。

常见的两种误判都从这把尺子来。第一种是拿某个国家的登记死亡数,去和 GBD 的同一年估计值逐一对账,发现对不上,就判定「GBD 不准」。这个比较本身没有意义——GBD 的目标从来不是复现登记数,而是在登记不全、编码不一致、口径各异的前提下,给出一个跨地点可比的估计。它比登记数「多」出来的部分,正是模型认为登记漏掉的部分。

第二种是拿 GBD 的 95% UI 去和队列研究的 95% CI 比宽窄,发现 GBD 宽,就判定「精度低」。两者的不确定性来源不同,宽窄不可比。GBD 的区间里装着输入误差与模型设定误差两层,本来就该更宽。

正确的尺子是三条:口径有没有写清、区间有没有给、复算路径有没有。按这三条量,它做得比绝大多数同类产品好;按「准不准」量,则是一个无法回答的问题,因为没有一个独立的金标准可以对照。

7.1 五维评分

下面这套评分按「它在自己的定位上做得如何」打,不按「它有多像一套登记数据」打。

维度 分数(5 分制) 依据
完整性 4.5 204 国 + 660 次国家单元、1990–2023 全覆盖,无空格
一致性 4.0 同一轮内自洽;跨轮次不可拼接
可追溯性 5.0 每个数可追到模型、输入源与轮次,输入源有专门工具可查
可用性 3.5 维度清晰但注册与邮件链路有摩擦,大查询易漏行
可复现性 4.0 查询可分享、参数可复述;但结果依赖轮次,且不提供抽样

可用性只给 3.5,是因为摩擦真实:必须先注册,下载要等邮件,文件七天过期,大查询还可能静默缺行。这些不是设计缺陷,是规模化分发的代价,但对第一次使用的人确实构成门槛。可追溯性给满分则有底气——IHME 单独做了「来源工具」,可以按地点、按病种、按年份查出这一格的估计用了哪些输入数据。能做到「每个数都能查到原料」的产品,在这个领域不多。

7.2 DAIMS 八项评估

DAIMS 是面向「供给方与使用方之间契约」的检查清单:数据有没有被描述清楚、结构有没有被声明、访问有没有开放、许可有没有写明白。逐项过一遍,能看出强项与短板分布得并不均匀。

DAIMS 维度 评分(5 分制) 具体表现
描述层身份与边界 5 官方明确写「估计值」而非观测值;轮次、年份、地点、口径均可查
描述层文档完备度 5 用户指南、术语表、度量与单位定义表、层级表、来源工具五件套齐备
结构层标识体系 5 每个维度都有稳定数字 ID 与英文名双列,可机器对齐
结构层层级一致性 3.5 原因四级清晰;地点层级的官方 Level 编号与常识层级不对应,跨轮次点位集又非单调
结构层模态配对 4 长表结构统一,度量与单位的合法配对有定义表;但风险与病因查询会多出列,通用读取需容错
访问层开放程度 4 免费、免申请、可下载;但必须注册,下载走邮件,文件七天过期
访问层可复现性 3.5 查询可分享、参数可复述;但抽样不公开,区间无法自行重算,大查询还可能静默缺行
访问层许可清晰度 4 非商业协议条款明确、商业通道有邮箱;但网站图表与下载数据分属两套许可,易混

八项里两项满分、两项 3.5。3.5 的两项恰好是「层级一致性」与「可复现性」——这不是巧合,两者都来自同一个根源:这套系统在持续演进,而演进会留下不同代的编号与口径。

层级一致性扣分最实在。原因是官方指南写「Level 3 是国家与地区,Level 4 与 Level 5 是次国家单元」,这与人们熟知的「全球—超级区—地区—国家—次国家」五级叙事对不上;而地点计数在三个轮次里又从 990 变到 983 再变到 660。任何跨轮次的地点对齐,都必须回到层级表按 ID 匹配,不能靠名称,也不能靠序号。

7.3 已知偏差:可枚举的八条

把偏差一条条列出来,比说「有偏差」有用。下面每一条都能在官方文档或方法学论文里找到依据。

偏差 机制 方向 影响谁
登记完整率偏差 各国死亡登记覆盖差异极大(6.5% 至 99.6%) 数据薄处估计更依赖模型 所有跨国比较
垃圾码偏差 死因被登记为「症状不明」等无效码后重新分配 分配规则影响病种份额 死因构成分析
协变量外推偏差 用 SDI 等协变量补缺失 数据薄处向区域均值收缩 低收入国家
竞争风险偏差 死因概率已扣除竞争风险 与粗死亡数不同向 老龄人群分析
伤残权重偏差 权重来自人群调查的偏好赋值 影响 YLDs 与 DALYs 的构成 非致死负担研究
年龄标准化偏差 标准人口的选择影响率值 与其他标准人口算出的率不可直接比 跨国率比较
轮次断点偏差 每轮重算整条序列 跨轮拼接处出现虚假拐点 长期趋势分析
类目拆分偏差 新增原因从「其他」中拆出 新旧「其他」不可比 长序列的细分病种

第一条与第三条要合起来看:登记完整率低的地方模型权重大,协变量作用就大,估计更容易向区域趋势收缩。数字不错,但它的「信息含量」与高登记国家不同——后者更多来自观察,前者更多来自结构假设。第五条也常被忽略:伤残权重不是生理测量,是人群对「某种健康状态有多糟」的偏好赋值,同一份患病率换一套权重就换一个 YLDs。

判断一个数的区间宽不宽,不必凭感觉,算一下就够。

import csv

def flag(path, warn=0.30, stop=1.00):
    with open(path, encoding="utf-8-sig", newline="") as f:
        for r in csv.DictReader(f):
            v = float(r["val"])
            if v == 0:
                continue
            rel = (float(r["upper"]) - float(r["lower"])) / v
            tag = "STOP" if rel > stop else ("WARN" if rel > warn else "OK")
            if tag != "OK":
                print(tag, rel, r["cause_name"], r["location_name"], r["year"])

flag("gbd/2023/out/merged.csv")

rel 就是相对宽度:区间上下界之差除以点估计。按本篇建议,超过 0.30 的排序结论要谨慎,超过 1.00 的只宜说明量级。这个阈值不是官方标准,但比凭感觉判断可复现。

7.4 外部验证:它被怎样使用

一套估计值的可信度,很大程度体现在别人怎么用它。下面这张矩阵按验证类型分。

验证类型 证据形态 读法
方法学同行评议 每轮在《柳叶刀》系列发表多篇专论 方法被独立审稿,不等于数值被独立复现
国家层面复核 多国卫生部与研究者对本国的估计提出过异议与修正 异议集中在数据薄、口径特殊的国家
与登记数据对照 高登记国家两者接近,低登记国家差异大 差异本身是模型补量的证据
作为二次研究基线 大量疾病负担二次分析直接取 GBD 数值 使用广泛,但多数不复算
作为政策参照 多国卫生规划、全球疾病负担目标引用 影响大,误用风险也大
作为模型输入 预测模型用 GBD 的点估计与区间做先验 区间宽度被当作不确定性代理

第二行值得单说。国家复核是这个体系里最有张力的环节:一个国家的专家往往掌握本地数据,能指出某病被高估或低估。这类异议通常不会立刻改变当年数值,但会进入下一轮的输入或协变量。理解这条反馈回路,就能理解为什么某些国家的估计在轮次之间跳动明显。

第六行是一个正在扩散的用法:把 95% UI 当作不确定性代理喂给预测模型。技术上可行,但要小心——UI 描述的是估计的确定性,不是真实负担的随机波动;当作随机项先验,会把「我们不知道」误当成「世界在波动」。

7.5 它为何能持续

一套要两万余人协作、每轮重算三十年序列的体系能持续三十余年,靠的不是学术兴趣。三层支撑叠在一起,缺一层就松动。

第一层:单一出资方的长期承诺。 GBD 的主要资助来自盖茨基金会,GHDx 的条目页把资助方直接写在元数据里。单一出资的好处是战略稳定,一轮接一轮地做下去不受短期评审周期打断;代价是方向受资助方议程影响,这一点在学界一直有讨论。

第二层:方法学的公开可批评。 每轮都把方法、假设、输入源摊开,接受同行评议与国别异议。公开换来的不是「都对」,而是「错在哪里可以被指出来」。这套机制让它在被批评中持续修正,而不是在被质疑中失去合法性。

第三层:下游使用的刚性。 全球卫生的规划、监测、评估、学术写作,已经把 GBD 当作默认基线。当一件事成为默认选项,替换它的成本就不再是「找一个更好的」,而是「说服所有人同时换」。这种刚性既是它的护城河,也是它必须持续自我修正的原因——用的人越多,错一次的代价越大。

三层加起来形成一个循环:稳定资金产出方法公开的估计,公开的估计引来广泛使用,广泛使用证明其公共品价值,公共品价值又反过来支撑资金。§4.4 那三个「重估」的例子,正是这个循环在运转的证据:一个不再被批评的体系,通常也意味着它已经不再被认真使用。

§8 版本、生态与历史

8.1 为什么没有 GBD 2022

轮次编号标的是「这一轮把估计推到哪一年」,不是第几版。GBD 2021 把序列推到 2021 年,2024 年 5 月发布;GBD 2023 推到 2023 年,2025 年 10 月发布。中间没有 GBD 2022,因为不存在一轮只推到 2022 年的发布。

这个约定有两个后果。

第一,轮次与发布日期不是一一对应的常识关系。看到「GBD 2019」不要以为它是 2019 年发布的——它是 2020 年 10 月发布的。写参考文献时把两者搞混,是很常见的错误。

第二,某个年份的数据可能直到两三年后才第一次出现,而且出现时会被重算。2023 年的数据在 GBD 2021 里根本不存在,在 GBD 2023 里第一次出现,并且它前面的整条序列也被一并重估。所以「某国 2015 年的肝癌死亡数」这个值,在 GBD 2019、2021、2023 三个轮次里是三个不同的数。

8.2 点位集不是单调累积的

三个轮次的最细地点数分别是 990、983、660。数字在降,但覆盖没有收缩。原因有三层。

第一层是计数基准。GBD 2019 与 2021 报的是「最细层级的地点总数」,把国家与次国家单元混在一个数里;GBD 2023 把次国家单元单列,明确写成「660 个次国家单元,分布于 20 个国家与地区」。两个口径量的不是同一件事。

第二层是次国家估计的范围会调整。哪些国家做次国家拆分,取决于该国数据是否支持、以及是否有合作方推动。GBD 2017 首次做俄罗斯,GBD 2019 新增意大利、尼日利亚、巴基斯坦、菲律宾、波兰五个国家,每一次扩张都改变点位集。

第三层是行政单元本身会变:省界调整、联邦主体合并都会改变点位定义,层级表用 Parent ID 记录父子关系,正是为了让这种变化可追踪。

对使用者的直接影响:做次国家层面的长序列,不能按地点名匹配。必须按 Location ID 匹配,并且在轮次切换处核对该 ID 是否仍存在、父子关系是否变过。按名字匹配会在重音符号、英文拼写变体、行政区更名三处翻车。

8.3 生态位:它替代了什么,又没有替代什么

全球卫生数据里,GBD 不是唯一的选择,但它占的位置很特殊。

体系 产出什么 与 GBD 的关系
WHO 全球卫生观察 成员国上报的官方统计 原始口径,非建模;GBD 是它的下游用户之一
WHO 死亡数据库 各国上报的死因表 GBD 死亡侧的主要输入之一
联合国人口司 人口、死亡、生育的官方估计 分母侧的另一套独立估计,与 GBD 有差异
世界银行 收入、支出、发展指标 协变量来源
各国生命登记 逐例死亡记录 数据好时的主要证据
专项监测网络 单一病种的高质量数据 病种层面的校准参照

它替代的是「自己动手拼一套跨国可比估计」这件事。在 GBD 之前,要做跨国疾病负担比较,得自己收集几十国的死因表、处理垃圾码、统一年龄结构、再做标准化——这套工作单个团队做三年也做不完,且无法与别人的结果对齐。

它没有替代的是「原始登记」。任何需要看单例、看编码质量、看病程的研究,都必须回到上游。GBD 是汇编层,不是档案层。

这个位置决定了它的两个特征:一是它的数永远「比自己算的省事」,所以用的人多;二是它永远「不能替代原始数据」,所以被批评时也无从反驳到具体某一条记录。两个特征都是结构性的,不是态度问题。

8.4 引用与影响

官方给出的工具引用格式是机构 + 工具名 + 城市 + 年份 + 网址 + 访问日期。方法学与结论则回到当轮的《柳叶刀》系列专论。两件事必须都做:工具引用交代了「数从哪来」,论文引用交代了「数怎么来的」。

影响面可以从协作规模看出来:最新一轮有两万余名来自 167 个国家与地区的研究者参与数据源与估计的审核。这个规模意味着它已经不是一个团队的产品,而是一套被广泛参与的公共设施。

代价同样明显:参与越广,共识越难改,方法上的路径依赖越强。GBD 2023 引入 OneMod、新增五个原因、修正撒哈拉以南非洲年轻女性的死亡率——这些动作被单独写进发布材料,正因为在这个体量上做方法变更本身就是新闻。

§9 使用指引

9.1 三种角色的最短路径

角色 目标 路径
政策与规划人员 要一段能引用的背景 网页表 → 选定 3 至 5 个主要病种 → 截图并记下轮次与访问日期
研究者 要一套可复算的数据 注册 → 小范围验证 → 分片下载 Both 格式 → 对账 → 存档查询参数
工程师 要一条可维护的管线 固定轮次 → 参数化维度 → 分片下载 → 去重对账 → 落到宽表

政策角色路径最短也最容易出错:截图里若没有轮次与访问日期,半年后没人能复现。研究角色最常漏的是对账与参数存档;工程角色最常犯的错是把轮次写死在代码里,而不写进配置。

9.2 一条最短的可用流程

从零到一份可引用的表,五步。下面的脚本不替你查数(查询必须在网页上做),但把「下载后怎么办」标准化了。

#-- 1. 建目录,按轮次命名,轮次写进路径而不是写在代码里
mkdir -p gbd/2023/raw gbd/2023/out
#-- 2. 把邮件里的分片全部放进 raw/,文件名不改
ls gbd/2023/raw | wc -l
#-- 3. 记录本次查询的维度组合,一次查询一份清单
printf '%s\n' "version=GBD2023" "measure=Deaths,DALYs" "metric=Number,Rate" \
  "location=CHN" "sex=Both" "age=All ages,Age-standardized" "year=1990-2023" \
  > gbd/2023/query.txt
#-- 4. 合并去重并输出计数
python3 merge_gbd.py gbd/2023/raw gbd/2023/out/merged.csv
#-- 5. 对账:行数应等于查询清单推出的单元格数
wc -l gbd/2023/out/merged.csv

第三步那份清单是关键:它把「口径」从记忆搬进文件。半年后有人问这个数怎么来的,答案是一个文件,不是一段回忆。

9.3 报告数字的三条纪律

**第一条:句子里必须同时出现轮次、度量、单位、年龄口径。**对照 §3.6 的案例表,缺一项就少一个限定词。「GBD 2023 轮次,2023 年中国肝癌死亡数(Deaths, Number, 全年龄, 男女合计)」是合格的;「2023 年中国肝癌死亡数」是不合格的,因为它可以被读成至少六种量。

第二条:跨国产较只用年龄标准化率。 用 Number 比较两国负担,比的是人口规模;用粗率比较,比的是人口年龄结构。两者都不是疾病负担本身。

第三条:任何趋势结论都要说明是否换过轮次。 单轮次内的趋势是自洽的;跨轮次的趋势含断点。要么整条用同一轮,要么在图上标出断点。

§10 AI 使用声明

事项 声明内容
性质 建模估计值集合,非登记观测,非个体数据
数据来源 IHME 官方工具页、GBD 2023 数据与工具指南、用户指南、术语定义表、层级表、GHDx 条目页
适用用途 跨国与跨时比较的基线、政策背景、二次研究的参照、教学示例
不建议用途 绩效问责、因果推断、实时监测、个体层面推断、商业产品内嵌
引用要求 工具引用 + 当轮《柳叶刀》专论,注明轮次与访问日期
许可 免费非商业用户协议;商业用途须申请;网站图表另按 CC BY-NC-ND 4.0
版本 GBD 2023(2025 年 10 月发布)
状态 published

常见误读

常见说法 实际 证据
「GBD 的数字就是各国上报的死亡数」 是模型估计,登记只是输入之一 官方术语表把全部结果称为估计;登记完整率最低仅 6.5%
「DALYs 就是死亡人数」 是健康损失年数,通常是死亡数的几十倍 度量定义:YLLs 与 YLDs 之和
「Rate 是每百万人口」 是每十万人口 度量与单位定义表原文
「年龄标准化在单位下拉里」 在年龄下拉里 用户指南的维度说明
「男女合计等于男女平均」 合计是独立建模的估计 性别维度的三个取值各自建模
「292 加 375 加 88 就是全部」 三个清单基准不同,不可相加 层级表用 YLL Only / YLD Only 标记
「463 是疾病与伤害总数」 官方两处表述不同,且不等于前三者之和 IHME 首页与《柳叶刀》专题页措辞不一致
「可以把各轮次拼成一条长序列」 每轮重算整条序列,拼接会产生假拐点 官方说明每轮重新估计 1990 年以来全部年份
「下载的文件一定是全的」 参数过多时可能静默缺行 用户指南的注意事项原文
「网页上的数可以直接拿去算」 网页是四舍五入值 官方说明完整精度只在下载文件
「GBD 数据可以随便商用」 默认只授权非商业用途 免费非商业用户协议;商业须申请
「95% UI 就是 95% 置信区间」 官方措辞只说「反映估计的确定性」 术语表的定义原文

FAQ

Q1:GBD Results 和 GBD Compare 该用哪个?
要一组数、要下 CSV、要做二次分析,用 Results。要一眼看出排序、趋势、国家间对比,用 Compare。两者数据同源,Compare 不能替代下载。

Q2:为什么我在死因上下文里找不到 SEV?
因为 SEV 属于「汇总暴露值」这个上下文,不在死因上下文里。先换上下文,度量清单会跟着变。这是工具设计,不是缺陷。

Q3:同一个国家同一年的死亡数,为什么和我手里的登记数对不上?
登记数只覆盖登记到的那部分死亡。GBD 会把未登记、垃圾码、口径不一致的部分补齐或重新分配,所以两者本就不该相等。差异的方向与大小,恰好反映登记系统的缺口。

Q4:95% UI 很宽,是不是说明这个数不能用?
不是不能用,是不能当精确值用。区间宽说明输入数据薄,此时该引用区间而不是点估计,并且避免基于该值做精细排序。

Q5:能不能只要中国的省级数据?
能,但只有被纳入次国家估计的省份才有。中国在 GBD 里有省级拆分,具体点位以当年层级表为准。用之前先查层级表,别按行政区划自己套。

Q6:年龄标准化用的是哪套标准人口?
GBD 自己的一套标准人口。所以它算出的率与用 WHO 世界标准人口、美国 2000 年标准人口算出的值不完全相同。写方法段时必须写明标准人口来源,否则无法复现。

Q7:为什么下载等了几个小时还没到?
官方说明大查询可能需要数小时,处理完会发第二封邮件。若超过一天仍无消息,先查垃圾邮件,再确认提交时填的邮箱是否正确。

Q8:文件过期了怎么办?
重新提交同一次查询。建议下载后立即归档到本地或对象存储,不要依赖邮件链接。七天是分发窗口,不是保存期限。

Q9:能不能用它算某病的死亡率趋势并做统计检验?
可以算趋势,但不能做常规显著性检验:逐年估计同出一条抽样链、彼此不独立,工具也不提供抽样。常见做法是报年均变化率与区间。

Q10:为什么有些原因只有 YLDs 没有 Deaths?
因为该原因在 GBD 的框架里不直接致死,只造成残疾。层级表用 YLD Only 标记。反过来也有 YLL Only 的原因。查不到数时先看这两个标记,别急着怀疑查询写错。

Q12:怎么引用才不会被认为方法交代不清?
三件事:轮次、维度组合、访问日期。加上工具引用与当轮专论引用。若做了二次计算(比率、差值、标准化),把计算方式也写进去。

术语表

术语 英文 含义
全球疾病负担研究 GBD IHME 主导的跨国疾病负担建模研究
结果工具 GBD Results 官方取数与下载入口
度量 Measure 被估计的指标,如死亡数、DALYs
单位 Metric 度量的表达方式,如数、率、百分比
估计上下文 GBD Estimate 决定可选度量集合的第一层选择
伤残调整生命年 DALYs 早死损失年数加带病生存损失年数
早死损失年数 YLLs 死亡年龄与标准期望寿命之差的总和
带病生存年数 YLDs 患病率乘伤残权重后的年数
患病率 Prevalence 某时点的病例总数
发病率 Incidence 一定期间的新发病例数
孕产妇死亡比 MMR 每十万活产的孕产妇死亡数
死亡概率 PoD 某年龄区间内死于某病的概率
健康预期寿命 HALE 处于健康状态的预期年数
不确定区间 UI 1,000 次抽样的 2.5 与 97.5 分位
死亡原因集成模型 CODEm 死因别死亡数的集成建模工具
疾病模型 DisMod-MR 2.1 发病、患病与病死率的一致性贝叶斯模型
偏差校正模型 MR-BRT 跨数据源系统偏差的元回归校正
时空平滑 ST-GPR 稀疏数据的时空高斯过程回归
全死因模型 OneMod GBD 2023 引入的全死因死亡率模型
比较风险评估 CRA 归因负担的框架
社会人口指数 SDI 收入、教育、生育合成的 0 至 100 指数
次国家单元 Subnational 国家内部的估计点位
垃圾码 Garbage code 无法归入具体死因的无效编码
年龄标准化 Age-standardized 按标准人口结构调整后的率

附录 A:核心数字核对表

项 值 来源
当前轮次 GBD 2023 IHME 发布页
发布日期 2025-10-12 世界卫生峰会发布场次
死因条数 292 GBD Results 工具页
疾病与伤害条数 375 同上
风险因素个数 88 同上
国家与地区 204 同上
次国家单元 660,分布于 20 个国家与地区 同上
时间范围 1990–2023(负担);1950–2023(全死因) 数据与工具指南
年龄组数 25 人口学专论方法段
全世界死亡数(2023) 6,010 万(95% UI 5,900–6,110 万) 人口学专论结果段
全球出生预期寿命(1990→2023) 64.6 → 73.8 年 IHME 新闻稿
全球健康预期寿命(1990→2023) 55.9 → 63.1 年 同上
死亡登记完整率(全球,2015–19) 59.8% 人口学专论
死亡登记完整率(高收入超级区) 99.6% 同上
死亡登记完整率(撒哈拉以南非洲) 6.5% 同上
新增数据源(2023 轮) 3,127 个 GBD 史页
新增原因(2023 轮) 5 个 同上
协作人数 两万余,来自 167 个国家与地区 IHME 首页
全站估计总量 逾 6,070 亿条 同上
合法度量与单位配对 23 种 度量与单位定义表逐格计数

附录 B:数字的来源分层

层级 来源 典型项 核对方式
第一层 官方定义表与指南原文 292、375、88、23 种配对、维度清单 打开附件即可核
第二层 官方页面与新闻稿 6070 亿条、两万人、寿命数值 回原页面核
第三层 同行评议专论 登记完整率、全世界死亡数、数据源数 回论文核,注意版本
第四层 本篇推算 23 种合法配对、相对宽度判据 按附录 A 的方法自行复算

第四层要说明:23 不是官方数字,是按定义表逐格数出来的,任何人按同一张表数应得同一结果;相对宽度判据(10%、30%、100%)是本篇的经验阈值,引用时应写「按本篇建议」而非「按 GBD 标准」。

附录 C:参考文献

  1. Institute for Health Metrics and Evaluation. GBD Results. Seattle: IHME, University of Washington, 2025. https://vizhub.healthdata.org/gbd-results/
  2. Institute for Health Metrics and Evaluation. GBD 2023 data and tools guide. 2025. https://www.healthdata.org/research-analysis/about-gbd/gbd-data-and-tools-guide
  3. Institute for Health Metrics and Evaluation. GBD Results Tool User Guide (GBD 2023). 2025-10. https://www.healthdata.org/sites/default/files/2025-10/GBD_Results_Tool_User_Guide_2023.pdf
  4. Institute for Health Metrics and Evaluation. GBD 2023 terms and definitions. 2025-11. https://www.healthdata.org/sites/default/files/2025-11/GBD2023_terms_definitions.xlsx
  5. Institute for Health Metrics and Evaluation. GBD2023 Tool outputs and indicators. 2025-11. https://www.healthdata.org/sites/default/files/2025-11/GBD2023_Tool_outputs_and_indicators.xlsx
  6. Institute for Health Metrics and Evaluation. IHME GBD 2023 A3 Measure Metric Definitions. 2025-10-24. https://www.healthdata.org/sites/default/files/2025-11/IHME_GBD_2023_A3_MEASURE_METRIC_DEFINITIONS_Y2025M10D24.XLSX
  7. Institute for Health Metrics and Evaluation. Global Burden of Disease Study 2023 (GBD 2023) Cause, REI, and Location Hierarchies. GHDx, 2025-10-23. doi:10.6069/KMAH-ET96
  8. GBD 2023 Demographics Collaborators. Global age-sex-specific all-cause mortality and life expectancy estimates for 204 countries and territories and 660 subnational locations, 1950–2023. 2025.
  9. Institute for Health Metrics and Evaluation. GBD History. https://www.healthdata.org/research-analysis/about-gbd/history
  10. Institute for Health Metrics and Evaluation. Announcing launch of GBD 2023 study results. 2025-10. https://www.healthdata.org/announcing-launch-gbd-2023-study-results
  11. Institute for Health Metrics and Evaluation. Terms and conditions. https://www.healthdata.org/about/terms-and-conditions
  12. Institute for Health Metrics and Evaluation. People are living longer but spending more years in poor health. 2026-07-21.

附录 D:任务代码

把「下载后怎么办」固化成一条流水线。两个函数:合并去重、对账报告。

import csv
import glob
import sys
from collections import Counter

KEYS = ("measure_name", "metric_name", "location_name",
        "sex_name", "age_name", "cause_name", "year")

def merge(src_glob, out_path):
    seen, n_in, n_dup, cols = set(), 0, 0, None
    with open(out_path, "w", encoding="utf-8", newline="") as fo:
        w = None
        for path in sorted(glob.glob(src_glob)):
            with open(path, encoding="utf-8-sig", newline="") as f:
                rd = csv.DictReader(f)
                if cols is None:
                    cols = rd.fieldnames
                    w = csv.DictWriter(fo, fieldnames=cols)
                    w.writeheader()
                for r in rd:
                    n_in += 1
                    k = tuple(r[c] for c in KEYS)
                    if k in seen:
                        n_dup += 1
                        continue
                    seen.add(k)
                    w.writerow(r)
    print("input=%d unique=%d dup=%d cols=%d" % (n_in, len(seen), n_dup, len(cols)))
    return len(seen)

def report(path):
    with open(path, encoding="utf-8", newline="") as f:
        rows = list(csv.DictReader(f))
    c = Counter((r["measure_name"], r["metric_name"]) for r in rows)
    bad = [r for r in rows if float(r["upper"]) < float(r["lower"])]
    print("pairs=%d upper_lower_inverted=%d" % (len(c), len(bad)))
    for k, v in c.most_common(12):
        print(k, v)

if __name__ == "__main__":
    merge(sys.argv[1] + "/*.csv", sys.argv[2])
    report(sys.argv[2])

upper_lower_inverted 这一项专门防 §2.5 提到的列序问题。如果不是零,说明读取时按位置而非按表头取了列。

#-- 用法:第一个参数是分片目录,第二个参数是合并后的输出文件
python3 gbd_merge.py gbd/2023/raw gbd/2023/out/merged.csv

附录 E:如果只记五件事

第一,它是取数口,不是数据库。研究产出估计,工具只负责按维度切片。想知道「GBD 是什么」去看研究总览,想知道「怎么取、取哪个口径」看这一篇。

第二,口径矩阵是它的全部难点。度量、单位、年龄、性别四层各换一次,同一句提问就变一个量。合法配对只有 23 种,剩下的是空格,不是隐藏选项。

第三,年龄标准化在年龄下拉里,不在单位下拉里。跨国比较不用它,等于拿人口结构差异当负担差异。

第四,全部是建模估计。登记完整率从 6.5% 到 99.6%,补出来的部分靠协变量与邻近地点借力,代价写在 95% UI 的宽度里。

第五,轮次是必填项。每轮重算 1990 年以来的整条序列,跨轮拼接必出假拐点;地点要按 ID 对齐,不能按名称。

编辑说明

核验时间:2026 年 10 月 29 日。事实来源为 IHME 官网工具页、GBD 2023 数据与工具指南、GBD Results 用户指南(2025-10 版)、GBD 2023 术语定义表、度量与单位定义表、工具输出指标表、GHDx 层级表条目页与 GBD 史页。度量与单位的 23 种合法配对,由定义表逐格计数得出,非官方原话。工具界面本身需要注册登录,本次未进入交互界面实测,维度名称、度量清单、下载流程与「参数过多可能漏行」等细节均取自官方用户指南原文与工具页说明,未做界面层复核。文中不复制具体数值行,原因是任何一行都必须连同年份、轮次与口径引用才有意义;需要具体数值时按 §3.6 的口径表与 §5.2 的链路自行查询。三个轮次的地点计数(990、983、660)来自 GBD 史页与工具页,计数基准不一致,文中已按「不可相减」处理,未做调和。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • who-sti-prevalence-atlas — 共享标签:公共卫生与流行病学 / 全球健康 / 公共卫生统计 / 疾病监测
  • who-mortality-db — 共享标签:公共卫生与流行病学 / 全球健康 / 公共卫生统计 / 疾病监测
  • aqs — 共享标签:公共卫生与流行病学 / 公共卫生统计 / 疾病监测
  • wuenic-immunization — 共享标签:公共卫生与流行病学 / 全球健康 / 公共卫生统计 / 疾病监测
  • amrnet — 共享标签:公共卫生与流行病学 / 全球健康 / 疾病监测
  • human-mortality-database — 共享标签:公共卫生与流行病学 / 全球健康 / 公共卫生统计
  • gho-steps — 共享标签:公共卫生与流行病学 / 全球健康 / 疾病监测
  • wpp — 共享标签:公共卫生与流行病学 / 全球健康 / 公共卫生统计
  • era5-single-levels — 共享标签:公共卫生与流行病学 / 全球健康 / 疾病监测
  • oisst-v2-1 — 共享标签:公共卫生与流行病学 / 全球健康 / 疾病监测

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集