信息速览
INFOBOX — CinC Challenge 2012 一屏速览
维度 内容 本质 PhysioNet/Computing in Cardiology 挑战赛数据集:12,000 例 ICU 住院的前 48h 不规则临床时序,预测本次住院院内死亡(衍生自 MIMIC-II v2.6,非新采集) 组织方 MIT(今 Laboratory for Computational Physiology)+ Beth Israel Deaconess Medical Center;依托 NIH 资助的 PhysioNet 论文 Silva I, Moody GB, Scott DJ, Celi LA, Mark RG. CinC 2012;39:245-248(PMID 24678516;PMCID PMC3965265) 数据 12,000 例 = set A/B/C 各 4,000;每例一个 CSV 文本;42 = 6 一般描述符 + 36 时序变量(去重后口径,另有 41 与 37+4 两套口径,见坑 3) 时间窗 ICU 入科后 前 48 小时;时间戳为距入院的"小时:分钟",各行 Time,Parameter,Value 标签 Outcomes 六字段:RecordID/SAPS-I/SOFA/Length_of_stay/Survival/In-hospital_death(0/1);Survival=-1 ⇒ 存活(约定值,坑 5) 类别平衡 实测 set-a:院内死亡 554/4,000 = 13.9%;LOS 均值 13.4 天;SAPS-I 均值 14.2 Event 1 二元分类,score = min(sensitivity, PPV),范围 0-1,1 理想 Event 2 风险估计,score = range-normalized Hosmer-Lemeshow H,趋 0 理想 提交形式 源代码而非分数:m-code 函数 [risk,prediction]=physionet2012(time,param,value)或 ANSI C 可执行;每条记录独立 run、禁止跨 run 存状态冠军 Event 1:Johnson 等 6 人 0.5353(28 人参赛);Event 2:Citi & Barbieri 17.88(23 人参赛) baseline 官方 SAPS-I sample entry:Event 1 0.3125 / Event 2 68.58(m-code 版) 现代基准 STraTS 重划分口径(11,988 例):GRU-D 0.833-0.846;STraTS-mTAND 0.860±0.004 最佳;PR-AUC 约 0.45-0.52 获取 **https://physionet.org/content/challenge-2012/1.0.0/**(set-a/、set-b/ 各 4,000 txt + Outcomes-a.txt;无注册门槛) 许可 数据 ODC-BY 1.0;参赛论文集 CC BY 3.0;组织者论文 DSpace 版 CC BY-NC-SA 4.0 库内互链 mimic-iii(106)、cinc-2019(656)、cinc-2015(487)、eicu-crd(552)、physionet-cinc-2017(162) 等(§7)
CinC Challenge 2012 是一个"用一场比赛定义一个领域"的数据集工程:它不新采一份数据,而是从 MIMIC-II 里随机抽出 12,000 例 ICU 住院,只给你入科后前 48 小时的不规则观测——化验、生命体征、机械通气状态,时间戳零散、缺失七成以上——让你预测这个人会不会死在这次住院里。它当年最大的特色不是数据,而是规则:参赛者交的不是分数而是源代码,官方在受控环境里逐条记录跑你的函数;评分也不用 AUC,Event 1 用 min(sensitivity, PPV) 逼你在极不平衡的两类之间找平衡,Event 2 用 Hosmer-Lemeshow 统计量同时考校准与区分度。比赛早已落幕,但这份数据成了此后十年"不规则采样多元临床时序"方法学的标准测试床——GRU-D、mTAND、SeFT、STraTS、EMIT 一个接一个在这里报到。
导语读法三则:
- 只想下数据:直奔 §5 获取与许可——ODC-BY 1.0、无注册门槛、set-a/set-b 全量公开;但注意 set C 和 set-b 的 outcomes 永远拿不到。
- 要跑现代基准:直奔 §4.4 与坑 6——STraTS 起的重划分(11,988 例)与官方用途相反,引用 AUC 前先看清口径。
- 关心 -1 与缺失:直奔 §2.3 与坑 5——Survival=-1 是"存活"不是"缺失",Height=-1 才是未记录,混用会毁掉你的标签。
§0 导读:这个数据集解决什么问题
2012 年之前,"用数据预测 ICU 死亡率"这件事有两堵墙。第一堵是数据墙:MIMIC-II 这类 ICU 数据库虽然存在,但申请周期长、格式庞杂,多数团队拿到的是一份需要数月清洗的原始库,而不是一个"下载即比赛"的聚焦任务。第二堵是方法墙:临床时序天然不规则——护士每小时量一次血压、化验一天做一次、有些变量整段住院只出现过一次——传统时间序列方法假设等间隔采样,直接套用要么粗暴重采样填充假值,要么干脆扔掉时序结构只取汇总统计量(比如用 SAPS-I 这种手工打分)。两堵墙合起来,使得"早期预测"长期停留在"用 48 小时数据算一个生理学评分"的水平。
PhysioNet/CinC Challenge 2012 的回答分三层。第一层是数据切片:从 MIMIC-II v2.6 的 12,753 例符合条件者(成人、首次 ICU 住院≥48h)中随机抽 12,000 例,切成 set A/B/C 各 4,000——训练集 outcomes 全公开,两个测试集一个只给数据、一个全隐匿。规则只有一条硬边界:你只能用前 48 小时的观测。第二层是评测协议:Event 1 考分类(min(Se,PPV),在 13.9% 阳性率下同时保住查全与查准才可能有分)、Event 2 考校准(range-normalized HL 统计量,逼你输出真实风险而非排序);参赛者提交的是能在官方框架里逐条记录独立运行的源代码——这个"交代码不交分"的设计在当年极为超前,直接预演了后来可复现性运动的核心理念。第三层是社区效应:三个月赛期内 28 人(Event 1)/23 人(Event 2)参赛,几乎所有参赛者都击败了 SAPS-I 基线,而数据在赛后以 ODC-BY 1.0 永久公开,成为 GRU-D 到 EMIT 一整代不规则时序方法的共同考场。
这个条目要回答的核心问题是:一份只有 48 小时、缺失率近八成、变量口径还有三种说法的比赛数据,为什么能撑起一个子领域十年的方法学进步?以及——今天的你拿它跑实验时,会踩哪些前人已经踩过的坑?
§0 读法三则:
- 本条目数字有三套来源:官方论文与页面、本库第一手实测(下载 Outcomes-a.txt 与目录列表计算)、下游论文的预处理口径统计——引用时注意区分,正文均已标注。
- 变量数"41 还是 42"不是笔误:ICUType 是挑战进行中(2012-05-08)才加入的,于是摘要口径 41、正式页面口径 42、下游口径 37+4 并存至今(坑 3 存照)。
- 官方评分 min(Se,PPV) 与现代论文的 ROC-AUC 不可直接互比——前者是单阈值分数,后者是阈值无关曲线;混排数字是这个数据集最常见的引用事故(§4.3)。
§1 数据集速览:十问十答
Q1:12,000 例从哪来?
从 MIMIC-II v2.6(BIDMC 2001-2007 收集)的 12,753 例符合条件者中随机抽取。符合条件只有两条:ICU 入科时年满 16 岁;这是该患者的首次 ICU 住院且时长≥48 小时。除此之外没有任何排除——DNR(放弃复苏)、CMO(放弃治疗)患者都保留在内,这一点官方页面专门写明,也让这份数据比多数"清洗后"的 ICU 数据集更接近真实人群。
Q2:每例记录长什么样?
一个纯文本 CSV 文件(文件名即 RecordID),每行三列:Time,Parameter,Value。Time 是距 ICU 入院的"小时:分钟"(如 35:19 表示第 35 小时 19 分),行序按时间排列。文件开头是 6 项一般描述符(RecordID、Age、Gender、Height、ICUType、Weight),后面跟着时序观测行——同一变量可以在不同时间戳反复出现,这就是"不规则采样"的字面形态。数值缺失时写 -1,有效值非负。
Q3:42 个变量是什么?
6 项一般描述符 + 36 项时序变量(37 项时序列表减去与描述符重复的 Weight)。时序变量覆盖三大类:床旁生命体征(HR、SysABP/DiasABP/MAP 及其无创版 NISysABP 等、RespRate、Temp)、实验室检验(Albumin、BUN、Creatinine、Glucose、HCT、Platelets、WBC、pH、Lactate、TropI/TropT 等近 30 项)、与治疗状态(MechVent、FiO2、Urine)。另有 GCS 意识评分横跨两界。注意 ICUType 是 2012-05-08 才补进来的,所以还有"41 变量"的论文口径(坑 3)。
Q4:标签在哪、是什么?
训练集 set A 的 Outcomes-a.txt 公开,六个字段:RecordID、SAPS-I(入院时生理评分)、SOFA(器官衰竭评分)、Length_of_stay(住院天数)、Survival(存活天数)、In-hospital_death(0/1 院内死亡)。标签逻辑有两条约定:Survival=-1 表示存活出院(不是缺失);Survival>LOS 也表示存活。实测 set-a 4,000 例中院内死亡 554 例(13.9%)。
Q5:两个 event 怎么评?
Event 1(二元分类):score = min(sensitivity, PPV),取两者较小值——在 86% 阴性的人群里,只顾查全或只顾查准都会被短板封顶,1 分理想。Event 2(风险估计):要求输出 0-1 连续死亡风险,score = range-normalized Hosmer-Lemeshow H 统计量,越接近 0 越好——它同时惩罚区分度差与校准差,输出"人人都给 0.14"的先验均值答案是拿不了分的。
Q6:"提交源代码"是什么意思?
参赛者不交分数,交一个函数:MATLAB/Octave 写的 [risk,prediction]=physionet2012(time,param,value),或编译为 ANSI C 可执行程序(stdin/stdout 管道)。官方评测框架(genresults.m/sh)逐条记录独立调用你的函数,并明文禁止跨 run 存储状态——你不能在代码里偷看整个测试集的分布。输出三列 RecordID,prediction,risk(如 142675,0,0.123)。这一设计让"评测协议"本身可审计,在 2012 年相当超前。
Q7:成绩如何?
官方 baseline 是 sample entry(用 SAPS-I 当风险输出,附官方计分函数):Event 1 得 0.3125、Event 2 得 68.58(m-code 版)。最终 Event 1 冠军 Johnson 等 6 人 0.5353(亚军 Citi & Barbieri 0.5345,仅差 0.0008);Event 2 冠军 Citi & Barbieri 17.88。论文摘要写明"几乎所有参赛者都超过了 baseline"。注意这些分数与现代 AUC 不可互比(§4.3)。
Q8:现在还能下载吗?
能,而且是最顺畅的一档:physionet.org/content/challenge-2012/1.0.0/ 上 set-a/、set-b/ 各 4,000 个 txt 加 Outcomes-a.txt 全量公开,无注册、无 DUA,License 是 ODC-BY 1.0(署名即可)。拿不到的只有两样:set C 全部数据(仅官方评测用)和 set B 的 outcomes(Outcomes-b.txt 从未发布)。
Q9:现代论文怎么用它跑 AUC?
STraTS(2021)起的惯例把官方用途整个翻转:set-b+set-c 作训练/验证(80:20)、set-a 作测试,共 11,988 例(剔 12 例),算 ROC-AUC——GRU-D 0.833-0.846、STraTS 0.839、STraTS-mTAND 0.860±0.004(ACM 复现最佳)。这组数字流行但口径敏感:划分与官方相反,阳性率不同,且与官方 min(Se,PPV) 完全不可比(坑 6)。
Q10:为什么它对 AI-Ready 重要?
它是"无门槛公开+规则内嵌可复现+方法学社区自发标准化"的三位一体样本:数据 ODC-BY 1.0 直链下载、评测协议当年就要求提交可运行代码、下游社区用统一的 11,988 例划分形成了事实标准。它的短板同样典型——三套变量口径、-1 双重语义、下游重划分——都是 AI-Ready 数据集最常见的外部性缺陷,本条目逐条存照。
§1 补遗:本条目的三源互证矩阵
本条目所有关键数字的验证路径(检索者可按图索骥复核):
| 关键事实 | 源 1(官方一手) | 源 2(官方二手) | 源 3(第三方) |
|---|---|---|---|
| 12,000 例 / 12,753 符合 / 随机抽样 | 挑战主页正文 | 论文 §2(PMC3965265) | ACM TCH 2024 §4.1.1 |
| set 三集各 4,000 | 主页"A=4,000"+set-b 目录实测 4,000 文件 | 论文"三组各 4,000" | STraTS §4.1(11,988 口径反推) |
| Outcomes-a = 4,000 条 | Outcomes-a.txt 实测(本库下载解析) | 论文 Outcomes 节 | —(无第三方需要) |
| set-a 阳性率 13.9%(554) | Outcomes-a.txt 实算(本库一手) | — | ACM Table 3 test 13.9% 一致 |
| 42 = 6+36 变量 | content 页 General Descriptors/Time Series 节 | 论文摘要 41(Phase 1 口径) | STraTS 37+4 口径 |
| min(Se,PPV) / HL 评分规则 | challenge 页 scoring 节 | 论文摘要 | ACM 复现节 |
| 冠军 0.5353 / 17.88 | 官方 Top scores 页 | 论文摘要"top final scores" | — |
| 28 / 23 名参赛者 | 官方 Top scores 页(“of 28”/“of 23”) | 论文(“most participants”) | — |
| ODC-BY 1.0 许可 | content 页 License (for files) | — | — |
| 时间线(1/20、4/25、5/8、6/1、8/25、9 月颁奖) | content 页 news 区 | challenge 页公告区 | 论文发表卷期(CinC 2012 Krakow) |
| MIMIC-II v2.6 派生 | content 页数据描述 | 论文 §2 | ACM(25,328 stays 背景数) |
| 下游 11,988 / 435.6 / 47.3h / 14.2% | — | — | ACM Table 3 + STraTS §4.1 + EMIT Table I |
| GRU-D/STraTS/EMIT 基准分 | — | — | ACM Table 5 + TKDD22 Table 4 |
读表说明:标"—“处表示该事实只需两源即可定案(数字型事实本库以一手实测优先);凡三源齐备者均为可放心引用的"钉死事实”;单一来源的事实(如 ODC-BY 许可)均有官方页面可复核,抓取时点 2026-09-26。
§2 数据构成与规格
2.1 规模、来源与三集划分
挑战数据的唯一源头是 MIMIC-II v2.6——BIDMC(Beth Israel Deaconess Medical Center)2001-2007 年收集的单中心 ICU 数据库。筛选链如下:
| 环节 | 数字 | 说明 |
|---|---|---|
| MIMIC-II v2.6 全库 | 25,328 ICU stays(ACM TCH 论文转述口径) | 2001-2007,单中心(BIDMC);全库另有官方文档口径,本条目未独立核验 |
| 符合挑战条件 | 12,753 例 | 成人(入科时≥16 岁)+ 首次 ICU 住院且≥48h |
| 随机抽入挑战 | 12,000 例 | 无其他排除标准(DNR/CMO 保留) |
| set A | 4,000 | 训练集,outcomes 全公开(Outcomes-a.txt) |
| set B | 4,000 | 数据公开,outcomes 隐匿(Phase 1/2 在线评测用) |
| set C | 4,000 | 完全隐匿(仅官方最终评测用,从未公开) |
三集划分的官方表述有个微妙差异:论文写"三组各 4,000",而官方 challenge 页只写"4,000 条构成训练集 A,其余构成测试集 B 与 C"。实测核验:set-b/ 目录列表恰好 4,000 个 txt;Outcomes-a.txt 恰好 4,001 行(1 表头 + 4,000 记录)——由此 set C=4,000 系 12,000−4,000−4,000 的推断成立(存照见 §附录 A)。
人群画像(论文口径):年龄均值 64.5(SD 17.1)岁,身高 169.5(17.1)cm,体重 81.2(23.8)kg。第一手实测 set-a outcomes:院内死亡 554/4,000(阳性率 13.9%),LOS 均值 13.4 天,SAPS-I 均值 14.2,Survival=-1(存活约定值)2,526 例。
2.2 变量清单:6 项一般描述符 + 37 项时序列表
正式 content 页(v1.0.0)口径为 42 = 6 general descriptors + 36 time series(时序列表 37 项中 Weight 与描述符重复,去重后 36)。
一般描述符(6 项,每例文件开头出现):
| 变量 | 含义 | 取值/单位 |
|---|---|---|
| RecordID | 记录标识 | 整数,也是文件名 |
| Age | 入科年龄 | 岁(ICUType 增补前文件中曾重复出现,见坑 4) |
| Gender | 性别 | 0=女,1=男;-1=未知 |
| Height | 身高 | cm;未记录写 -1 |
| ICUType | ICU 类型 | 1=CCU 心脏监护 / 2=CSRU 心外科监护 / 3=MICU 内科监护 / 4=SICU 外科监护;2012-05-08 Phase 2 增补 |
| Weight | 体重 | kg(同时出现在时序列表中) |
时序变量(37 项官方列表,按官方页顺序):
| 类别 | 变量 |
|---|---|
| 血流动力学(有创) | DiasABP(有创舒张压)、SysABP(有创收缩压)、MAP(有创平均动脉压) |
| 血流动力学(无创) | NIDiasABP、NISysABP、NIMAP |
| 生命体征 | HR(心率)、RespRate(呼吸频率)、Temp(体温) |
| 血气/酸碱 | PaCO2、PaO2、pH、HCO3、SaO2、FiO2 |
| 代谢/电解质 | Glucose、Ca、Na、K、Mg、BUN、Creatinine |
| 血常规 | HCT、WBC、Platelets |
| 肝功能/胆红素 | Albumin、ALP、ALT、AST、Bilirubin |
| 凝血/血脂 | Cholesterol、DiasABP 之外的脂类仅此一项 |
| 心肌标志物 | TropI(肌钙蛋白 I)、TropT(肌钙蛋白 T) |
| 神经/其他 | GCS(格拉斯哥昏迷评分)、MechVent(机械通气 0/1)、Urine(尿量)、Weight(与描述符重复)、Lactate(乳酸) |
完整官方列表(37 项):Albumin, ALP, ALT, AST, Bilirubin, BUN, Cholesterol, Creatinine, DiasABP, FiO2, GCS, Glucose, HCO3, HCT, HR, K, Lactate, Mg, MAP, MechVent, Na, NIDiasABP, NIMAP, NISysABP, PaCO2, PaO2, pH, Platelets, RespRate, SaO2, SysABP, Temp, TropI, TropT, Urine, WBC, Weight。
变量分布极不均匀是这份数据的本质特征:HR、NIMAP 这类常规体征几乎每例都有几十上百次观测;而 Cholesterol 按下游统计只在 7.91% 的 stay 中出现过——同一个"变量数 42"背后是两三个数量级的观测频次差异(§2.6)。
2.3 数据格式:每例一文件、时间戳与 -1 约定
每例一个纯文本 CSV 文件(扩展名 .txt),文件名即 RecordID。格式要点:
- 每行三列:
Time,Parameter,Value,逗号分隔; - Time 是距 ICU 入科的"小时:分钟",如
35:19表示入科后第 35 小时 19 分——不是绝对时间,跨例不可直接对齐到钟表时刻; - 文件开头集中出现 6 项一般描述符(部分早期文件有重复 Age 行,Phase 2 修订清除),其后为时序观测行,按时间排列;
- 同一变量可重复出现于不同时间戳(这就是不规则采样);数值型缺失写 -1,有效观测值非负;
- Gender 是 0/1 分类,ICUType 是 1-4 分类,MechVent 是 0/1 布尔。
官方格式示意(按官方页描述重构的格式样例,非真实记录):
RecordID,Age,Gender,Height,ICUType,Weight
132539,54,1,175.3,4,83
Time,Parameter,Value
00:00,RecordID,132539
02:34,HR,79
02:34,NIDiasABP,61
02:34,NISysABP,121
05:12,GCS,15
08:05,Temp,36.4
11:23,BUN,23
...
-1 的双重语义是这份数据最危险的约定(坑 5 详述):在一般描述符与时序值里,-1 表示"未记录/未知";但在 Outcomes 文件的 Survival 字段里,-1 表示"存活出院"——一个是缺失标记,一个是有效标签,同名不同义。下游处理时若把 Survival=-1 当缺失值剔除,会扔掉约六成的存活标签(set-a 实测 2,526/4,000 例)。
2.4 Outcomes 文件:六字段与标签逻辑
set A 的 Outcomes-a.txt 每行一条记录、逗号分隔、共六字段:
| 字段 | 含义 | 实测 set-a(本库第一手统计) |
|---|---|---|
| RecordID | 记录标识 | 4,000 条 |
| SAPS-I | 入院时简化急性生理评分 | 均值 14.2 |
| SOFA | 序贯器官衰竭评估 | 官方未给分布统计 |
| Length_of_stay | 本次住院天数(含 ICU 后转科) | 均值 13.4 天 |
| Survival | 出院后存活天数;-1=存活出院 | -1 共 2,526 例 |
| In-hospital_death | 院内死亡标签(0/1) | 554 例死亡,阳性率 13.9% |
标签逻辑三条(官方页明文):
Survival > Length_of_stay⇒ 存活出院;Survival = -1⇒ 存活出院(约定值,非缺失);2 ≤ Survival ≤ Length_of_stay⇒ 院内死亡(因入选条件已排除<48h 的住院,LOS 与 Survival 永不为 0 或 1)。
SAPS-I 与 SOFA 在这里身兼两职:既是给研究者的额外结局相关变量,也是官方 sample entry 的风险输出源——baseline 就是拿 SAPS-I 直接当死亡风险交给评分器的。这也意味着 Outcomes 文件不能用作特征泄漏源:如果你把 SAPS-I 喂进模型再去预测 In-hospital_death,等于用官方 baseline 的输入作弊(且 set-b/c 根本没有 outcomes 可喂,真实评测里此路不通)。
set B 的 Outcomes-b.txt 与 set C 的全部数据从未公开——这保证了"训练集标签公开、评测集标签永不可见"的竞赛完整性,副作用是任何第三方都永远无法在 set C 上复现官方最终分数。
2.5 变量数三口径并存:41 / 42 / 37+4
同一份数据,文献里有三种"变量数"说法,都有出处、都不算错:
| 口径 | 出处 | 构成 |
|---|---|---|
| 41 = 5 + 36 | 挑战论文(CinC 2012;39:245-248)摘要 | 5 描述符(无 ICUType)+ 36 时序 |
| 42 = 6 + 36 | physionet.org 正式 content 页(v1.0.0) | 6 描述符(含 ICUType)+ 36 时序(37 列表去重 Weight) |
| 37 time series + 4 static | STraTS/ACM TCH/EMIT 等下游论文 | 把 RecordID 排除、Weight 归入时序、其余 5 项描述符中 4 项(Age/Gender/Height/ICUType)归 static |
成因是历史性的:ICUType 直到 Phase 2(2012-05-08)才随数据修订加入,论文摘要成稿于口径变更前。本条目正文统一采用正式页面口径 42 = 6 + 36,引用下游论文数字时注明 37+4 口径。检索时拿"41 variables"或"37 time series"当关键词都可能命中这份数据——反过来,看到这三种数字出现在同一篇论文的不同表格里也不必惊讶。
2.6 缺失画像:平均观测 435.6 次、缺失率 79.7%
官方页面只给变量表与格式,不给缺失统计。下游论文(STraTS/ACM TCH/EMIT 预处理口径)给出了最常被引用的画像:
| 指标 | 数值 | 口径 |
|---|---|---|
| 平均观测次数/例 | 435.6(最大 1,497) | 下游预处理后统计 |
| 平均时序跨度 | 47.3 小时 | 同上(窗口上限 48h) |
| 平均变量缺失率 | 79.7% | 每 stay × 变量网格中未观测占比 |
| 最稀疏变量 | Cholesterol,仅 7.91% 的 stay 出现 | 同上 |
这组数字解释了为什么这份数据成了"不规则时序方法"的试金石:如果按等间隔网格化(比如逐小时对齐),每个 stay 是 48 个时间点 × 41 个变量 = 1,968 格的矩阵,平均只有约两成格子有值。传统"填充-再建模"的流程在这里要处理近 80% 的合成数据——这正是 GRU-D(衰减机制)、mTAND(连续时间插值)、SeFT(set 函数)、STraTS(三重注意力)、EMIT(事件级插值)各自要解决的核心问题。
注意:435.6 次与 79.7% 都是下游预处理口径,不同论文的剔除规则(如是否丢弃整段全缺失变量)会得到不同数字,引用时注明出处而非当官方统计。
2.7 一条记录的逐行解剖
以官方页面举例的 RecordID 142675(set-b 文件名之一)为骨架,一条记录的典型结构如下(值做过示意化处理,结构为真):
00:00,RecordID,142675 ← 入院描述符区:时间戳全部 00:00
00:00,Age,54
00:00,Gender,1 ← 1=男
00:00,Height,180
00:00,ICUType,4 ← SICU(Phase 2 版文件才有此行)
00:00,Weight,88
10:36,HR,74 ← 时序区开始:心率
10:36,NIDiasABP,59 ← 同一分钟内多参数并测
10:36,NISysABP,132
10:36,NIMAP,85
10:36,RespRate,22
11:10,Temp,36.4
12:36,HR,86 ← 心率复测:间隔 1 小时
13:32,NIDiasABP,54
13:32,NISysABP,121
...
22:25,pH,7.42 ← 血气:低频、选择性送检
22:25,PaCO2,38
22:25,PaO2,89
22:25,HCO3,25.4
23:00,Urine,180 ← 尿量:按区间记录
35:19,GCS,15 ← 第 35 小时的观测:跨天时间戳正常
47:48,HR,95 ← 最后一条:48h 窗口截断
从这十几行能读出整个数据集的四个设计决定:其一,描述符与时序在文件内不分区,只靠时间戳区分(00:00 即描述符)——解析器需要显式处理 RecordID 参数名;其二,同一分钟内的多参数观测天然成组,这是"事件级"而非"时点级"数据结构的证据;其三,不同参数的采样节奏从分钟级(HR)到日级(Lactate)相差三个数量级;其四,窗口硬截断在 48h,第 47:59 之后的一切(包括死亡本身)都不在输入里。
2.8 与"每小时分箱矩阵"的形态对照
下游文献最常见的形态是"48 × 42 矩阵",与原始三元组的差异值得单列一表:
| 维度 | 官方原始形态(三元组) | 下游常见形态(分箱矩阵) |
|---|---|---|
| 时间粒度 | 分钟级事件时间戳 | 1 小时等距网格(47/48 列) |
| 缺失表示 | 观测不出现 = 缺失(显式 -1 仅限描述符类) | NaN / 均值插补 / 缺失指示位 |
| 观测数统计 | 平均约 435.6 事件/例 | 矩阵元素非空率约两成 |
| 信息位置 | 时间间隔本身携带信息 | 间隔信息被网格吸收(需额外补时间差通道) |
| 典型用途 | SeFT/STraTS/EMIT 等事件级模型 | GRU/GRU-D/TCN 等序列模型 |
| 体积 | 全集约百 MB 文本 | 分箱矩阵常驻内存约 1-2 GB |
两种形态没有对错——但引用"平均缺失率 79.7%"或"平均 435.6 次观测"时必须知道它们各自绑定哪种形态(坑 7)。原始形态是该数据集在 AI-Ready 光谱上的真实身份:事件级、自描述、无需数据库。
§3 挑战赛机制:提交源代码而不是分数
3.1 双 event 评分设计
挑战设两个并列赛道,对应死亡预测的两个正交目标:
Event 1——二元分类(会不会死):
score = min(sensitivity, PPV)
- sensitivity = TP/(TP+FN),PPV = TP/(TP+FP),在模型输出的单一工作点上计算;
- 范围 0-1,1 理想;取 min 意味着短板封顶——在 13.9% 阳性率的数据上,一味把阈值调低刷高 sensitivity 会让 PPV 崩掉,反之亦然;
- 这是对"极不平衡二分类单一指标失真"的朴素防御:F1 与它同族,但 min 更严苛(不允许用一个指标的高分掩盖另一个的低分)。
Event 2——风险估计(死的风险是多少):
score = range-normalized Hosmer-Lemeshow H statistic(越接近 0 越好)
- 参赛者对每条记录输出 0-1 连续风险值;
- HL 统计量按预测风险分桶后比较"预测风险均值 vs 实际死亡频率",衡量校准;
- range-normalized 处理量纲使分数可跨队比较;
- 它同时惩罚两种失败:区分度差(风险与结局无关)与校准差(说 30% 风险的人群实际死 10%)。
双 event 的深意在于:排序好不等于校准好。Event 1 的冠军(Johnson 等)在 Event 2 只排到中游(论文口径),而 Event 2 冠军 Citi & Barbieri 恰是 Event 1 亚军——两个赛道没有通吃者,正是组织者想要的结果。官方还随 sample entry 附了 lemeshow.m(HL 统计量的官方实现),把"校准怎么算"钉死在代码层面,杜绝各队自定口径。
3.2 提交接口:函数签名与 I/O 协议
当年规则:每队最多 5 次提交机会(每个 Phase),交的是源代码而非分数。两种等价接口:
MATLAB/Octave(m-code 函数):
function [risk, prediction] = physionet2012(time, param, value)
% time : 该记录内各观测的时间戳(距入科的小时数,向量)
% param : 对应的参数名(cell 数组,如 {'HR','NISysABP',...})
% value : 对应的观测值(向量)
% risk : 标量,0-1 的院内死亡风险估计
% prediction : 0/1 的二元预测
ANSI C(可执行程序,stdin/stdout 管道):
$ ./physionet2012 < set-b/132539.txt
132539,0,0.123
输出行格式 RecordID,prediction,risk(如 142675,0,0.123),prediction ∈ {0,1} 供 Event 1 用,risk ∈ [0,1] 供 Event 2 用。官方提供 sample entry 完整参考实现(saps_score.m/.c——把 SAPS-I 计分逻辑写成代码,外加 lemeshow.m 计分函数),参赛者可直接在其上改进。
这个接口的设计约束值得细读:time/param/value 三个入参就是一条记录的全部信息——你拿不到其他记录,也拿不到静态汇总表。函数签名本身就在强制"逐条记录独立决策"。
3.3 评测框架与"每记录独立 run"防偷窥规则
官方评测框架 genresults.m(MATLAB)/genresults.sh(shell 包装 C 程序)的核心规则:
- 对每条记录独立调用一次参赛函数,进程级隔离;
- 明文禁止跨 run 存储状态——参赛代码不得在调用间写文件、共享内存或以任何方式积累测试集统计量;
- 违规动机很直白:如果允许跨 run 状态,代码可以先跑一半记录、估计出测试集的死亡率先验或特征分布,再回头"预测"——等于用测试集训练;
- 评测环境统一(官方提供的 MATLAB/Octave/gcc),保证不同提交在相同算力与库版本下比较。
在 Kaggle 式"交 csv 分数"成为惯例之前,这套"交代码+受控重跑+状态隔离"的协议是相当超前的可复现性实践:分数不是自报的,是官方环境里逐条跑出来的;评审和后来者原则上可以完整审计任何一队的算法。后来 PhysioNet 挑战(2015 假报警抑制、2019 脓毒症)延续并强化了这一传统,而 Kaggle 社区到近年才普遍采用"限次提交+隐藏测试集"的近似方案。
3.4 时间线:从 2012-01-20 开放到 9 月克拉科夫颁奖
| 日期 | 事件 |
|---|---|
| 2012-01-20 | 挑战开放,数据发布(content 页 Published 日期;set A/B 公开) |
| 2012-03-15 | set A/B 数据修正、sample entry 公布、评分标准最终确定 |
| 2012-03-23 | 参赛注册开放 |
| 2012-04-25 | Phase 1 提交截止(此前每队最多 5 次,逐次给 set B 分数) |
| 2012-05-01 | CinC 会议摘要截止 |
| 2012-05-08 | Phase 2 数据修订:加入 ICUType、清除重复 Age 行 |
| 2012-06-01 | Phase 2 开始(新一轮 5 次提交机会) |
| 2012-08-25 | Phase 2 提交截止 |
| 2012-08-30/31 | 最终分数公布(用 set C 评测) |
| 2012-09-09~12 | CinC 2012(波兰克拉科夫)会议,9 月 12 日闭幕全会颁奖 |
注意 05-08 的数据修订发生在两个 Phase 之间:这意味着 Phase 1 与 Phase 2 的参赛者实际面对的数据略有不同(多一个 ICUType、少一批冗余 Age 行)——这是变量数三口径(§2.5)的直接成因,也是复现早期参赛论文时要注意的细节。
3.5 参赛规模与获奖名单
| 赛道 | 参赛数 | 冠军 | 分数 | 亚军 | 分数 |
|---|---|---|---|---|---|
| Event 1(min(Se,PPV)) | 28 | Johnson, Dunkley, Mayaud, Tsanas, Kramer, Clifford | 0.5353 | Citi & Barbieri | 0.5345 |
| Event 2(HL-H) | 23(5 人注册未交) | Citi & Barbieri | 17.88 | Kang, Su, Ji | 20.58 |
- Event 1 冠军队(Alistair E.W. Johnson 等 6 人)用的是多生理参数特征工程+机器学习组合;Johnson 后成为 MIMIC-III/IV 论文核心作者——挑战赛社区与 MIMIC 主线的人员连续性从此可见一斑。
- Event 2 冠军 Luca Citi & Riccardo Barbieri 同时是 Event 1 亚军(0.0008 之差)——双赛道互相错位的最直观例证。
- 第 7 名 Event 2:Tom Pollard & Demetrio Martinez(38.23)——Pollard 后来是 MIMIC-III 与 MIMIC-IV 社区的关键维护者。
- 论文摘要的总结:“Most participants submitted entries that outperformed the baseline”——SAPS-I 基线(0.3125/68.58)被绝大多数队伍明显超越,而冠军相对 baseline 的提升幅度(Event 1 +71%)也标定了"手工评分到数据驱动"这一代际差。
3.6 组织运营与赛程预算(留给历史的一句话)
从官方 news 区可以还原出这届比赛的组织节奏:数据先于一切(1 月开放,比注册早两个月);评分标准在数据公开近两个月后才正式确定(3 月 15 日公告);参赛规则的修订(5 月 8 日加 ICUType)发生在赛程中段而非开头。这种"边跑边修"的节奏在今天的大赛运营里会被视为事故,但在 2012 年它是常态,而且被参与者以罕见的善意接受了——原因很简单:所有人都看得到修订的公告与理由,且修订后的数据对所有人同时生效。透明度补足了流程成熟度,这是挑战赛社区文化的一条隐性资产。
3.7 一份"参赛者视角"的完整清单
把散落在官方页各处的参赛要求收拢成一张清单(历史复现者可当 checklist 用):
- [ ] 2012-03-23 前后注册,获提交资格
- [ ] 下载 set-a + Outcomes-a.txt,本地完成训练与自评(用 genresults + lemeshow/score 非官方计分)
- [ ] 2012-04-07 前申请非 MATLAB/C 语言的参赛资格(如需)
- [ ] Phase 1 内 ≤5 次提交,拿 set-b 分数
- [ ] 2012-05-01 前向 CinC 提交四页摘要(含至少一条 entry 的 set-b 成绩对)
- [ ] 2012-06-01 后进入 Phase 2,≤5 次提交(面对加了 ICUType 的新版数据)
- [ ] 2012-08-25 截止;08-26 前自选一条历史 entry 进 set-c 终评(不选则默认 Event 1 最佳)
- [ ] 2012-09-01 前提交完整论文;09-09~12 赴克拉科夫参会
- [ ] 若希望竞争开源奖:在 entry 源码头部声明开源意图
2.9 关键变量的正常范围与离群判读速查
官方不清洗数据(明示"离群值应被预期"),所以"什么算离群"是使用者的责任。下表给常用变量的生理正常区间与典型离群模式(临床常识口径,非官方阈值):
| 变量 | 正常参考 | 常见离群模式 | 处理建议 |
|---|---|---|---|
| HR | 60-100 bpm | 传感器脱落时 0 或 300+ | 范围裁剪 [0,300],0 值慎当真 |
| SysABP/NISysABP | 90-140 mmHg | 套囊充气失败记 0;有创漂移至 300+ | 两通道交叉验证后再信 |
| NIDiasABP/NISysABP | 见上 | 同一时刻有创/无创矛盾 | 取可信通道或中位融合 |
| Temp | 36-38 °C | 偶见华氏度数值(如 98.6)未换算 | >41 且近似华氏特征者转换 |
| RespRate | 12-20 bpm | 0 或 70+(监护误计) | 裁剪 [0,70] |
| SpO2/SaO2 | 95-100% | 0(探头脱落) | 0 当缺失而非"无氧" |
| GCS | 3-15 | -1(未评) | 3 为最低分,勿把 3 当缺失 |
| Glucose | 70-140 mg/dL | 美制单位;>1000 罕见危象 | 保留真实高值,查单位 |
| pH | 7.35-7.45 | 0/14 级别显然为伪 | 裁剪 [6.5,8.0] |
| Weight | 40-150 kg | 0 或 1(录入错误);>300 罕见病态 | 结合 Height 的 BMI 交叉校验 |
| Urine | 每小时 0-300 mL | 大值多为"多小时累计" | 弄清累计约定再聚合 |
| Creatinine | 0.6-1.3 mg/dL | 美制单位;透析患者高值真实 | 高值保留(有预后意义) |
两条通用原则:其一,离群处理策略要在训练/验证/测试上全局一致,且写进论文;其二,对"看似不可能但临床真实"的值(严重酸中毒 pH 6.8、血糖 1200)保持敬畏——ICU 数据里"异常值即病情",宁可信其有。
§4 基准与成绩:官方分、现代 AUC 与两套不可混排的口径
4.1 官方 baseline:SAPS-I sample entry
官方 sample entry 的思路极简:把每条记录的 SAPS-I 评分(从 48h 观测里按官方 saps_score.m/.c 逻辑计算)直接映射为死亡风险输出。它在两个 event 的成绩:
| 提交版本 | Event 1(min(Se,PPV)) | Event 2(HL-H,趋 0 好) |
|---|---|---|
| sample entry(m-code) | 0.3125 | 68.58 |
| sample entry(C 版) | 0.3097 | 35.21 |
| 随机基线(86% 预测存活) | 0.1386 | 10137.7 |
三个细节值得注意。其一,m-code 与 C 版分数不同(Event 2 尤甚:68.58 vs 35.21)——同一算法两版实现就有这么大的口径漂移,暗示评测对实现细节敏感。其二,随机基线的 Event 2 高达 10137.7,说明 HL 统计量对"乱猜校准"的惩罚是数量级式的,这个分数设计确实把"输出先验均值"之外的一切偷懒路径都堵死了。其三,SAPS-I 的 Event 1 成绩(0.31)与 1980 年代手工评分的天花板相当,给后续所有数据驱动方法立了可测量的标靶。
4.2 最终榜单:0.5353 与 17.88
最终榜(set C 评测,2012-08-30/31 公布):
| 排名(Event 1) | 团队 | 分数 | 排名(Event 2) | 团队 | 分数 |
|---|---|---|---|---|---|
| 1 | Johnson, Dunkley, Mayaud, Tsanas, Kramer, Clifford | 0.5353 | 1 | Citi & Barbieri | 17.88 |
| 2 | Citi & Barbieri | 0.5345 | 2 | Kang, Su, Ji | 20.58 |
| 3-10 | 论文列出 top 10(Event 1 共 28 人) | — | 7 | Pollard & Martinez | 38.23 |
三条读数:
- Event 1 头两名只差 0.0008——min(Se,PPV) 在 4,000 条记录上的分辨率极限就在小数点后第四位,榜首之争本质是单阈值工作点的毫厘之争;
- 双赛道无通吃:Event 1 冠军在 Event 2 未进前列(论文口径),Event 2 冠军是 Event 1 亚军——分类能力与校准能力确实是可以解耦的两件事,这个结果本身就是对"只用 AUC 评一切"的隐形批评;
- 人群后效:Event 1 冠军的 Johnson 与 Event 2 第七的 Pollard 后来都成为 MIMIC-III/IV 生态的核心人物——挑战赛是这条数据谱系的人才漏斗。
4.3 官方分与现代 AUC 为什么不可比
这是本数据集最常发生的引用事故,值得把机制说透:
| 维度 | 官方 Event 1 | 现代论文 ROC-AUC |
|---|---|---|
| 度量 | min(sensitivity, PPV),单工作点 | 阈值无关的曲线下面积 |
| 量纲 | 0-1,随机基线 0.1386 | 0.5-1,随机基线 0.5 |
| 评测集 | set C(4,000,官方) | set-a(4,000,STraTS 惯例) |
| 训练数据 | 官方规则下 set A(4,000) | set-b+set-c 80%(9,590) |
| 冠军数字 | 0.5353 | 0.860(STraTS-mTAND) |
"0.5353 vs 0.860"不是方法进步了 60%,而是两把不同的尺子。粗略换算的感觉是:min(Se,PPV) 在 13.9% 阳性率下拿到 0.53 意味着 sensitivity 与 PPV 双双≥0.53——PPV 0.53 在 14% 阳性率下对应相当高的精度提升;而 ROC-AUC 0.86 在同样数据上是优秀但常规的成绩。两者唯一的共同点是都显著优于各自基线。引用规范:官方分数只与官方分数比,现代 AUC 只与现代 AUC 比,跨口径数字必须加口径说明(坑 6)。
4.4 现代深度学习基准(STraTS 重划分口径)
STraTS(ICLR 2022 投稿/ACM TCH 2022 刊出口径)起形成了下游事实标准:set-b + set-c 作训练/验证(80:20),set-a 作测试,剔除 12 例后共 11,988 例,指标 ROC-AUC(并报告 PR-AUC)。ACM TCH 论文复现结果:
| 模型 | ROC-AUC(均值±SD) | 说明 |
|---|---|---|
| GRU-D(2018) | 0.833±0.005(TKDD22 口径)/ 0.846±0.001(ACM 复现) | 时间衰减+缺失掩码的奠基方法 |
| mTAND(2019) | 0.844 | 连续时间多模态插值 |
| SeFT(2020) | 0.846 | 集合函数视角(set function) |
| STraTS(2021) | 0.839±0.008 | 三重注意力+演示去噪 |
| STraTS-mTAND | 0.860±0.004 | 嵌入 mTAND 插值器,ACM 复现最佳 |
| APC(2021) | 与 STraTS 同期对照 | 自相关预测预训练 |
这组数字的可信度比单篇论文高:ACM TCH 用统一预处理复现了多个基线,且都带重复实验的 SD。但三条警示仍然成立:
- 划分与官方相反(A 测试、B+C 训练)——官方用途里 A 是训练集,outcomes 公开;现代划分反而把官方训练集当测试集。这是社区为了"标签全知"(set-a 有 outcomes 可自行验证)做出的选择,不是官方设计;
- 11,988 = 12,000−12:剔除的 12 例原因依预处理而定(如异常值/空记录),不同论文可能剔除不同记录,逐例对齐并不保证;
- GRU-D 在 TKDD22 与 ACM TCH 两处口径差 0.013——连"同一方法同一数据"都有复现带宽,逐位比较第三位小数无意义。
4.5 PR-AUC:13.9% 阳性率下的真实难度
现代论文同时报告的 PR-AUC 区间约 0.45-0.52——这个数字比 ROC-AUC 诚实得多:在 13.9% 阳性率下,随机分类器的 PR-AUC 就是 0.139,而 0.5 左右的 PR-AUC 意味着 precision-recall 曲线仍有大量改进空间。选型时的实操含义:
- 若你的应用是"高风险预警列表"(人工复核前 k 名),PR-AUC 与 PPV@k 更贴近业务;
- 若你的应用是"全员风险分层"(校准的风险分数直接进临床决策),Event 2 的 HL 校准思想更相关——而这一点恰是现代基准普遍不报告的;
- 复现时报告 PR-AUC 而非只报 ROC-AUC,是这个数据集上日益形成的最佳实践。
§5 获取与许可:无门槛直链与两样永远拿不到的东西
5.1 ODC-BY 1.0:本库可获取性最高档
官方 content 页实抓口径:数据文件 License 为 Open Data Commons Attribution License v1.0(ODC-BY 1.0),页面明示 “Anyone can access the files”——无注册、无 DUA、无审批。这是 PhysioNet 各数据集中最开放的档位(对照:MIMIC-IV 需 PhysioNet 账号+CITI 培训+签署使用协议)。
下载实操(官方打包与单文件两种方式):
# 方式一:官方打包(zip / tar.gz 任选)
wget -A "Mozilla/5.0" https://physionet.org/files/challenge-2012/1.0.0/set-a.zip
unzip set-a.zip # 得 set-a/132539.txt ... 共 4,000 个文件
# 方式二:递归拉取单文件(适合只要部分记录)
wget -A "Mozilla/5.0" -r -np --cut-dirs=3 \
https://physionet.org/files/challenge-2012/1.0.0/set-a/
注意:physionet.org 对部分程序化抓取有反爬策略——本库实测 WebFetch 工具对 physionet.org 返回空内容,curl/wget 必须带浏览器 User-Agent 才能正常拿到页面与文件(坑 2)。数据本体(txt 文件)一般不受影响,HTML 页面容易触发。
5.2 文件清单与目录结构
v1.0.0 的完整清单:
| 路径 | 内容 | 实测规模 |
|---|---|---|
set-a/ |
训练集,4,000 个 *.txt(每例一文件) |
目录列表实测 4,000 |
set-b/ |
测试集 B 数据,4,000 个 *.txt |
目录列表实测 4,000 |
Outcomes-a.txt |
set A 的六字段结局表 | 4,001 行(1 表头 + 4,000) |
set-c/(无) |
set C 数据不在发布物内 | 仅官方评测持有 |
Outcomes-b.txt(无) |
set B 结局表从未发布 | — |
papers/ |
历届相关论文(挑战参赛论文集) | 作者以 CC BY 3.0 授权 |
set-a.zip / set-b.zip 等 |
官方打包 | 与目录内容一致 |
旧站镜像 archive.physionet.org/challenge/2012/ 与挑战主页 physionet.org/challenge/2012/ 保留全部公告、sample entry 与排行榜原始页——研究评测史时比 content 页更有料(含 2012-03-15 的数据修正公告原文)。
5.3 引用要求与版本
官方要求两处引用:
- 挑战论文:Silva I, Moody GB, Scott DJ, Celi LA, Mark RG. Predicting Mortality of ICU Patients: The PhysioNet/Computing in Cardiology Challenge 2012. Computing in Cardiology 2012;39:245-248.(PMID 24678516;PMCID PMC3965265;MIT DSpace hdl 1721.1/93166)
- PhysioNet 资源引用:Pollard 等 2026(Nature Health 系列的 PhysioNet 资源论文,官方页引用栏口径)。
版本链:v1.0.0 是唯一版本号——2012 年发布后未再升级(Phase 1→Phase 2 的修订发生在挑战进行中,最终态即 v1.0.0)。content 平台改版后重发日期未单列,Published 标注 Jan. 20, 2012(挑战开放日)。这意味着十年间下载的文件内容一致,不存在"我下的和论文下的不一样"的版本漂移——但要注意论文摘要的 41 变量口径是历史口径(§2.5)。
5.4 许可三层结构与使用边界
| 资产 | 许可 | 边界 |
|---|---|---|
| 数据文件(set-a/set-b/Outcomes-a.txt) | ODC-BY 1.0 | 署名即可,商用允许;衍生库需继续遵守 ODC-BY |
| 挑战参赛论文集(papers/) | CC BY 3.0 | 署名即可 |
| 组织者论文(MIT DSpace 版) | CC BY-NC-SA 4.0 | 非商业+相同方式共享;出版版 PDF 在 cinc.org(版权属 CinC 出版方) |
实操注意:把数据转成 HuggingFace/自建平台再分发时,ODC-BY 要求保留归属声明(引用挑战论文+PhysioNet 资源论文);这是比 CC BY 更"数据库导向"的许可(保护的是数据集合选择而非单个文件),混合再分发时两层义务都要满足。
5.5 AI-Ready 视角下的获取实操
从"让一台新机器在 10 分钟内开始训练"的 AI-Ready 标准看,本数据集的实操路径:
# 1) 拉取(直链,无 cookie/无 token;HTML 页面需带浏览器 UA,数据文件一般不需要)
curl -sLO https://physionet.org/files/challenge-2012/1.0.0/set-a.zip
curl -sLO https://physionet.org/files/challenge-2012/1.0.0/Outcomes-a.txt
# 2) 校验(记录数应恰为 4000 行 + 1 表头)
wc -l Outcomes-a.txt # → 4001
# 3) 最小解析(三元组 → 事件表)
python3 - <<'PY'
import csv, glob
rows = []
for f in glob.glob('set-a/*.txt'):
rid = None
with open(f) as fh:
for line in fh:
t, p, v = line.strip().split(',', 2)
if p == 'RecordID':
rid = int(v)
continue
rows.append((rid, t, p, v))
print(len(rows), 'observations parsed')
PY
三个工程提醒:其一,Value 列含字符串值(如 Gender 的 0/1 混在描述符里),统一按 str 读入后再按变量转型,直接 pd.read_csv 会因混合类型告警;其二,Urine 的值是"自上次记录以来的累计量"还是"区间速率"官方未逐条标注,跨记录聚合前要定一个约定并全文一致;其三,若使用社区整理的 11,988 例分箱版,务必保留原始三元组副本——分箱版的缺失率与观测统计不可逆推回原始形态(坑 7)。
5.6 “两样永远拿不到的东西”
获取章的结尾值得把两个"不存在的文件"单独列出,避免检索者白费功夫:
- set-c 的观测数据:4,000 例,官方仅用于终评,从未发布。任何声称含 set-c 的数据包都不是官方渠道;下游文献"用 set-c 训练"依赖的是社区流转的整理版(且其标签可得性存疑,见坑 6)。
- Outcomes-b.txt(set-b 的死亡标签):与数据文件分离持有,从未发布。这导致 set-b 在官方口径之外没有可用的监督标签——想用 set-b 做测试的研究者只能向官方框架提交代码(已成历史)或放弃。
这两个"永久缺席"是本数据集与普通公开数据集的本质区别:它天生残缺了一部分官方资产。好处是评测公平性的历史记录完整;代价是任何现代复现都必须显式声明自己用的是哪套替代口径。
4.6 官方论文的结论与局限(引用时的正确姿势)
挑战论文(Silva et al. 2012)自己划定了三条结论与三条局限,引用本数据集的论文若与之冲突,多半是引用者的问题:
结论侧:
- 患者特异的时序预测可行且优于基于最差值的传统评分——28 队中绝大多数显著超越 SAPS-I 基线是核心证据;
- 二元分类与风险校准是可解耦的两个问题——两个 event 冠军分离是最直观的展示;
- 公开基准的价值在赛期之外——论文明确期望"加速挑战问题在赛后进展",十四年方法谱系实现了这个预期。
局限侧:
- 输入只有数值化观测(无文本/影像/波形),"死亡的原因"无法从数据中读出;
- 单一医院(BIDMC)来源,外推需多中心验证;
- set-c 仅 4,000 例、554 例死亡的量级,使榜首间的名次差异(如 0.5353 vs 0.5345)不具统计稳健性——论文从未宣称冠军方法"显著更优"。
引用姿势:引结论时带上"28 队"与"vs SAPS-I 基线"的语境;谈方法进步时用下游口径的现代数字;绝不在同一句里混排两套分数(坑 6)。
4.7 官方最终榜 Top 10 全名单(检索者速查)
Event 1(binary prediction,score = min(Se,PPV),共 28 名参赛者):
| # | 参赛者 | 分数 |
|---|---|---|
| 1 | Alistair Johnson, Nic Dunkley, Louis Mayaud, Athanasios Tsanas, Andrew Kramer, Gari Clifford | 0.5353 |
| 2 | Luca Citi, Riccardo Barbieri | 0.5345 |
| 3 | Srinivasan Vairavan, Larry Eshelman, Syed Haider, Abigail Flower, Adam Seiver | 0.5009 |
| 4 | Martin Macas, Michal Huptych, Jakub Kuzilek | 0.4928 |
| 5 | Henian Xia, Brian Daley, Adam Petrie, Xiaopeng Zhao | 0.4923 |
| 6 | Steven L Hamilton, James R Hamilton | 0.4872 |
| 7 | Natalia M Arzeno, Joyce C Ho, Cheng H Lee | 0.4821 |
| 8 | Chih-Chun Chia, Gyemin Lee, Zahi Karam, Alexander Van Esbroeck, Sean McMillan, Ilan Rubinfeld, Zeeshan Syed | 0.4564 |
| 9 | Alexandros Pantelopoulos | 0.4544 |
| 10 | Deep Bera, Mithun Manjnath Nayak | 0.4513 |
Event 2(risk estimation,score = 归一化 HL-H 趋 0 好,共 23 名参赛者):
| # | 参赛者 | 分数 |
|---|---|---|
| 1 | Luca Citi, Riccardo Barbieri | 17.88 |
| 2 | Tongbi Kang, Yilun Su, Lianying Ji | 20.58 |
| 3 | Martin Macas, Michal Huptych, Jakub Kuzilek | 24.70 |
| 4 | Chidube Ezeozue | 24.93 |
| 5 | Alistair Johnson, Nic Dunkley, Louis Mayaud, Athanasios Tsanas, Andrew Kramer, Gari Clifford | 29.86 |
| 6 | Mehmet Kayaalp | 36.38 |
| 7 | Tom Pollard, Demetrio Martinez | 38.23 |
| 8 | Deep Bera, Mithun Manjnath Nayak | 45.01 |
| 9 | Antonio Bosnjak, Guillermo Montilla | 48.61 |
| 10 | Natalia M Arzeno, Joyce C Ho, Cheng H Lee | 51.69 |
两表之外的官方参照系:SAPS-I 样例(m-code)0.3125 / 68.58;SAPS-I(C 版)0.3097 / 35.21;随机基线(86% 预测存活)0.1386 / 10137.7。全部数字源出官方 Top scores 页(physionet.org/challenge/2012/top-scores.shtml),抓取时点 2026-09-26。
§6 生态与影响:一条 MIMIC 谱系上的枢纽节点
6.1 数据源承继:MIMIC-II → 挑战 12,000 → MIMIC-III
这份数据处在 MIMIC 谱系承上启下的位置:
MIMIC-II v2.6(BIDMC 2001-2007,25,328 ICU stays 口径)
│ 筛选:成人 + 首次 ICU 住院≥48h → 12,753 例
│ 随机抽取 → 12,000 例(set A/B/C 各 4,000)
▼
PhysioNet/CinC Challenge 2012(一次性切片,ODC-BY 1.0 永久公开)
│ 同一实验室(MIT LCP)与社区继续扩展
▼
MIMIC-III(2001-2012,扩展继任;本库 rid 106/590)
▼
MIMIC-IV(本库 rid 4/592)
三点辨析:
- 挑战的 12,000 例是 MIMIC-II 的子集——它不是新采集,而是带筛选条件的一次性随机切片;
- 与 MIMIC-III “大部分重叠但不一一对应”:ID 体系不同(挑战 RecordID ≠ MIMIC-III icustay_id 命名空间),筛选条件不同,官方也未发布 12,000 例到 MIMIC-II/III 原库的映射表——想把挑战记录链回原库病历需要自行对齐且有误差,这是文献里少有人挑明的坑;
- ODC-BY 1.0 的挑战数据比母库更开放:MIMIC-II/III/IV 走受控访问(培训+协议),挑战切片是无门槛直链——它事实上充当了"MIMIC 家族的公开体验版",大量课程与入门教程用它教 ICU 数据处理。
6.2 挑战系列年表:2012 在哪里
PhysioNet/CinC 挑战此后每年一届,2012 是"临床时序+早期预测"路线的起点:
| 届次 | 主题 | 与 2012 的关系 | 本库收录 |
|---|---|---|---|
| 2012 | ICU 死亡率早期预测(本条目) | — | cinc-2012 |
| 2013 | 血压测量的误差区间 | 同为 ICU/生理时序 | 未收录 |
| 2014 | 多导睡眠图中体动检测 | — | 未收录 |
| 2015 | 多导联生命体征假报警抑制 | 延续 ICU 时序+极不平衡分类传统 | cinc-2015 (487) |
| 2016 | 心音分类 | 转向信号分类 | physionet-cinc-2016 (382) |
| 2017 | 窦性/房颤分类(单导联 ECG) | — | physionet-cinc-2017 (162) |
| 2018 | 睡眠觉醒阶段检测 | — | cinc-2018-sleep (493) |
| 2019 | 脓毒症早期预测 | 2012 的直系方法论后代(同样"前 N 小时+早期预警") | cinc-2019 (656) |
| 2021 | 多状态时段死亡预测 | 时间窗+死亡预测的直接回响 | cinc-2021 (644) |
| 2023 | 心律失常/TwiNST 等 | — | cinc-2023 (499) |
2012 奠定的两项传统被整个系列继承:交代码受控重跑(2015/2019 等届延续)与隐藏测试集(set C 模式)。"前 48h 不规则观测→早期预警"的问题范式则在 2019 届(前 80h 预测脓毒症)完成迭代。
6.3 下游方法学测试床:不规则时序方法的共同考场
挑战落幕十年,这份数据成了"不规则采样多元临床时序"(irregularly-sampled multivariate clinical time-series)方法论文的标配实验场:
| 方法 | 年份 | 核心思想 | 在本数据上的角色 |
|---|---|---|---|
| GRU-D | 2018 | GRU + 时间衰减机制(缺失越久权重衰减到均值) | 奠基基线,几乎所有后续论文必比 |
| mTAND | 2019 | 连续时间多模态插值(隐式神经表示) | 插值路线代表 |
| SeFT | 2020 | 把观测当集合(set function),与 PDE 网络结合 | 证明"不必网格化" |
| STraTS | 2021 | 三重注意力(demo/测量/时间)+ 演示去噪 | 提出 11,988 例标准划分(坑 6) |
| APC | 2021 | 自相关预测的自监督预训练 | 预训练路线入场 |
| EMIT | 2024 | 事件级插值 transformer | 最新一代,沿用 STraTS 口径 |
这个考场的形成有三重原因:规模适中(12,000 例,单卡可跑)、缺失极端(79.7% 平均缺失率,方法差异能被放大出来)、划分有事实标准(STraTS 口径可横向比较)。副作用是基准饱和的隐忧:AUC 在 0.83-0.86 区间挤了三代方法,差距进入 SD 噪声带——2024 年后的论文开始转向 PR-AUC、校准误差与计算效率的多维报告。
6.4 人物与机构的连续性
- 组织者五人(Silva/Moody/Scott/Celi/Mark)全部出自 MIT LCP 与 BIDMC 的 MIMIC 主线——挑战数据本质是 MIMIC 团队"给自己的数据设计一个公共考场";
- Event 1 冠军 Alistair E.W. Johnson 后来成为 MIMIC-III/IV 论文的核心作者、eICU 协作研究的关键人物;
- Event 2 第七名 Tom Pollard 后来是 MIMIC-III 发布与 MIMIC-Code 仓库的社区核心;
- Leo A. Celi 作为 Sana/SOCIAM 与"数据公平"方向的推动者,此后主导了多届挑战的主题设计。
对检索者的含义:查这份数据的后续研究时,把"MIMIC-II / MIMIC-III / PhysioNet Challenge / ICU mortality"作为联合关键词比单查 “Challenge 2012” 命中率高得多——核心社区始终是同一批人。
§7 与库内条目的关系
7.1 家族图谱(rid 对照)
| 关系 | 条目(rid) | 联结点 |
|---|---|---|
| 母库/血统主线 | mimic-iii (106) / mimiciii (590) | 挑战数据源自 MIMIC-II,MIMIC-III 为扩展继任(2001-2012) |
| 续代 | mimic-iv-clinical-database (4) / mimiciv (592) | 同一实验室(MIT LCP+BIDMC)的当代版本 |
| 同系列最早届 | cinc-2012(本条目) | PhysioNet/CinC 挑战系列在本库的最早年份 |
| 同系列直系 | cinc-2015 (487) | 假报警抑制——继承"ICU 时序+极不平衡+交代码"传统 |
| 同系列后辈 | physionet-cinc-2016 (382) / physionet-cinc-2017 (162) / cinc-2018-sleep (493) / cinc-2019 (656) / cinc-2021 (644) / cinc-2023 (499) | 2019 届为"早期预测"范式的直接后代 |
| 同期多中心对照 | eicu-crd (552) / eicu-collaborative (9) | eICU 是多中心 ICU EHR,与单中心 MIMIC 系互补 |
| 波形侧对照 | mimic3wdb (586) / mimic3wdb-matched (587) / mimic4wdb (588) | 挑战用数值化观测而非原始波形——两套数据形态 |
| 术中时序对照 | vitaldb (192) | 高频术中生命体征时序,缺失结构完全不同 |
| 新库对照 | nwicu (146) / synthetic-mimic-iii-health-gym (597) | 当代 ICU 数据与合成替代品 |
| ECG 续代 | mimic-iv-ecg (172) | MIMIC 家族的信号分支 |
7.2 检索路径建议
- 从"ICU 早期预警"检索:cinc-2012(起点,42 变量/48h/死亡)→ cinc-2019 (656)(40 变量/80h/脓毒症,官方评 utility score)→ cinc-2015 (487)(假报警,同样的不平衡分类传统)——三连读可见"窗口拉长、任务细化、评分演化"的十年脉络;
- 从"MIMIC 谱系"检索:cinc-2012 → mimic-iii (106) → mimic-iv-clinical-database (4) → nwicu (146)——注意本条目数据不能直接与 MIMIC-III 记录一一对接(§6.1 辨析 2);
- 从"不规则时序方法"检索:本条目 + vitaldb (192)(术中高频时序)+ cinc-2018-sleep (493)(睡眠阶段时序)构成三种缺失结构迥异的对照系;
- 对比钩子(2012 vs 2019):2012=48h 死亡预测、42 变量、官方不评 AUC;2019=80h 脓毒症、40 变量、官方评 utility score——两届合读最能看出 PhysioNet 评分协议的演化。
§8 方法学启示:四条可迁移的经验
8.1 不规则采样是常态,不是数据缺陷
ICU 里的观测节奏由临床行为决定:体征按护理班次、化验按医嘱、用药按处方——等间隔网格化从来不是数据的真实结构。这份挑战数据把"不规则"推到极端(79.7% 缺失),反而使它成为检验"方法是否尊重时间结构"的最灵敏试纸:mTAND 的插值、GRU-D 的衰减、STraTS 的三重注意力,本质都在回答同一个问题——如何在不假装数据是等间隔的前提下建模它。任何处理临床/传感/日志类时序的团队,都可以把这份数据当作"不规则性压力测试"的标准工装。
8.2 交代码不交分:一次超前的可复现性实验
2012 年的"提交源代码+受控重跑+状态隔离"协议,比 Kaggle 社区普及"限次提交+隐藏集"早了数年,比机器学习会议推行代码评审更早。它的三个可迁移设计——评测只认可运行工件(不接受自报分数)、逐样本独立调用(堵死测试集统计泄露)、官方提供参考实现与计分函数(把口径钉进代码)——至今仍是构建任何 benchmark 的黄金清单。
8.3 评分口径决定结论:min(Se,PPV) 的教训
Event 1 用 min(Se,PPV) 而不是 AUC/F1,Event 2 用校准统计量而不是排序指标——组织者刻意让"单一权威指标"失效,于是出现了双赛道无通吃、头两名差距 0.0008 的榜单形态。教训是双向的:设计评测时要预判"哪个指标会被偷懒策略钻空";消费评测结果时要先问"这个数字惩罚了什么"。现代社区只报 ROC-AUC 的做法,恰恰丢掉了 Event 2 那一层的校准信息——这份数据上 PR-AUC 与校准曲线正在成为新的必备项(§4.5)。
8.4 标签约定是元数据,丢了就是事故
Survival=-1 表示存活、Height=-1 表示未记录——同一个哨兵值 (-1) 在同一份数据里承担两种语义,而 Outcomes 文件的字段说明若不读官方页就极易踩雷。这提示数据工程的一个通则:哨兵值/约定值必须进 schema 文档与加载代码,靠"下游自己发现"的代价是整批标签被误删(本例中约六成存活标签)。
§9 AI-Ready 评估
9.1 五维速评
| 维度 | 表现 | 要点 |
|---|---|---|
| 可发现性 | 强 | 官方论文+PhysioNet 专页+十余年下游文献引用链完整;"Challenge 2012"检索词密度高 |
| 可获取性 | 顶级 | ODC-BY 1.0、无注册无 DUA、官方打包+单文件直链(唯一保留:set C 与 set-b outcomes 永不公开,属设计而非门槛) |
| 可互操作 | 中 | 每例一 CSV 文本,解析零依赖;但无官方 schema 文件、无标准加载器、无到 MIMIC 原库的映射表 |
| 元数据质量 | 中上 | 变量表与格式说明完备;但变量数三口径、ICUType 中途增补、-1 双重语义等约定散落在页面不同处 |
| 方法就绪度 | 强 | 十年方法学社区形成了预处理与划分的事实标准(11,988 例口径),可复现基线丰富 |
9.2 综合评级与 DAIMS 全表
综合评级 8.0/10(AI-Ready 优):可获取性为本库最高档,方法学生态成熟;失分在"约定靠读页面而非靠 schema"与"下游重划分缺乏官方背书"。DAIMS 逐维打分与依据见附录 B。
适合直接上手的人群与场景判定(30 秒版)见 §11.4。
6.5 中文社区与国内使用
本数据集在中文文献与工业界的存在感同样浓密:中文综述(电子病历时序建模、ICU 死亡预测方向)几乎都以其为标准实验对象之一;多个国内团队在 MIMIC-III 论文里同时报告 PhysioNet-2012 基准以证明方法普适性。使用时的三个本地化提醒:
- 术语对齐:中文文献常把 Event 1/Event 2 写成"任务一/任务二",把 set-a/b/c 写成"A/B/C 集合"——回溯官方文档时认准英文原名,避免与 2019 届的任务编号混淆。
- 伦理审查口径:ODC-BY 1.0 + 完全匿名化,国内 IRB 一般按"公开去标识数据"从宽处理,但衍生发布(重标注、合成增强)仍建议走机构审查。
- 教学转引:国内多门临床数据科学课程以本数据集做作业,注意转引时的版本声明——务必写明"PhysioNet challenge-2012 v1.0.0"而非课程自编名,防止版本漂移(坑 4)。
8.5 十四年后的基准漂移观察
以 2026 年视角回看这份 2012 年的基准,有三处"漂移"值得记录:
- 评测集漂移:官方 set-c 终评 → 下游 set-a 测试。漂移的动力是"要更大的训练池",代价是与历史分数彻底断链。新的做法(如 2024 年后的论文)开始回归"双报告"——同时给出官方口径参考分与下游口径主分——这是基准老化的健康应对。
- 指标漂移:min(Se,PPV) → ROC-AUC + PR-AUC →(部分论文再补)PPV@k 与校准曲线。临床预警业务真正消费的是"在告警预算 k 下的查准率",这恰是 Event 1 设计思想的回归;Event 2 的校准思想则在近年的"可信 ML"潮流里重新升值。
- 样本口径漂移:12,000 → 11,988 → 部分论文 11,987/11,985。每剔一例,数字就永远对不上别人。可操作建议:写论文时在数据节放一张"从 12,000 到你的 N"的剔除瀑布表,一劳永逸。
基准漂移不是缺陷,而是一份数据"活过十四年"的痕迹。能被四代方法论文反复重新定义口径,本身就是其生命力的证明。
7.3 一张表看懂"用哪份 ICU 数据"
以"我想做一个 ICU 死亡预测项目"为出发点,库内候选数据的取舍:
| 数据(rid) | 规模 | 模态 | 门槛 | 选它的理由 |
|---|---|---|---|---|
| cinc-2012(本条目) | 12,000 stays | 数值时序(42 变量,48h) | 无(ODC-BY) | 基准谱系完整、方法可比、免协议 |
| mimic-iii(106) | 38,597 成人/49,785 stays | 全模态(数值+文本+波形另库) | CITI 培训 + DUA | 要自由文本/诊断/用药时的正解 |
| mimic-iv-clinical-database(4) | 36.4 万患者 | 全模态续代 | 同上 | 近年代(2008-2022)外推 |
| eicu-crd(552) | 20 万+ stays / 208 ICU | 数值 EHR 多中心 | 同上 | 多中心泛化验证 |
| cinc-2019(656) | 40,336 例 | 数值时序(40 变量,80h) | 无 | 换终点(脓毒症)+双库的姊妹基准 |
| mimic3wdb(586) | 万级记录波形 | 高频波形 | 无 | 需要波形级形态信息时 |
| vitaldb(192) | 6,388 手术 | 术中高频信号 | 无 | 手术室场景替代 |
一句话版本:练手/对标用 cinc-2012,做真研究上 MIMIC-III/IV,验证泛化加 eICU,换终点配 cinc-2019——四份数据在库内互链成一个完整的"ICU 预测"检索闭包。
6.6 十四年引用轨迹:四代方法的同一张考卷
按年代梳理本数据集被"重新发现"的四波浪潮,每波都重新定义了一次"公平比较":
第一波(2012-2014):赛期方法学。挑战赛的 28 份参赛论文是第一批文献——特征工程 + 经典学习器的天下。SAPS-I/传统评分 vs 数据驱动的对比叙事在此确立,Johnson 团队的特征集成为后来"手工时序特征"的模板。
第二波(2015-2017):RNN 前夜。LSTM/GRU 开始进入临床时序,本数据集因"无门槛 + 规模适中"成为早期深度方法的首选试验场之一;分箱矩阵(48×42)的处理范式在这一波定型,缺失处理从"工程细节"升级为"研究问题"。
第三波(2018-2021):缺失建模的黄金期。GRU-D(2018)把"衰减到均值"做成可训练机制;mTAND(2019)把连续时间插值做成注意力;SeFT(2020)把三元组做成集合函数;STraTS(2021)把三元组+自监督做成 Transformer 标配——四篇论文四种哲学,全部以本数据集为共同考场,11,988 例口径在此期间成为事实标准。
第四波(2022-至今):自监督与基础模型时代。APC(2021)与 EMIT(2024)把对比学习/掩码自编码搬到临床时序,测试协议从"全监督"扩展为"10%-50% 标签曲线";同时"是否应该用 LLM 处理临床时序"的新问题开始把本数据集当 ablation 平台。官方口径与下游口径的双轨并存问题在这一波被反复讨论(坑 6 的来源)。
四波轨迹给基准设计的启示:一份长寿基准的价值不在于指标不变,而在于每代方法都能在它上面找到"与前辈对话"的位置。cinc-2012 是临床时序领域实现这一点最完整的样本。
§10 避坑清单:八个已踩过的坑
坑 1:拿 “challenge-2012” 当 slug 去检索本库。
官方 content URL 是 physionet.org/content/challenge-2012/1.0.0/,但本库 slug 统一为 cinc-2012(与 cinc-2015/2019/2021/2023 等同系列命名一致)。两套 ID 并存:站外检索用 challenge-2012,库内互链与 URL 用 cinc-2012。写引用时注意你引的是哪个体系。
坑 2:程序化抓取 physionet.org 返回空内容。
本库实测 WebFetch 对 physionet.org 的页面(challenge 页与 content 页)返回空——站点有反爬策略。解法:curl/wget 必须带浏览器 User-Agent(如 -A "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36")。数据 txt 文件一般可正常拉取,HTML 页面易触发拦截;别把"工具返回空"误判成"页面不存在"。
坑 3:变量数 41 / 42 / 37+4 三种说法"打架"。
都有正牌出处:论文摘要 41(ICUType 加入前)、正式页面 42、下游论文 37 时序+4 静态(RecordID 被排除、Weight 归时序)。成因是 ICUType 系 2012-05-08 挑战中途增补(§2.5)。写作或建库时选定一套(建议 42=6+36)并在脚注注明另两套,避免同一批文档里数字漂移。
坑 4:Phase 1 与 Phase 2 的数据不是同一份。
2012-05-08 修订:加入 ICUType、删除文件开头的重复 Age 行。Phase 1 期间(4 月底前)的参赛代码与论文面对的是旧格式。复现早期参赛论文、或拿到任何"旧版挑战数据副本"时,先数一遍描述符行——六项描述符是 v1.0.0 最终态的特征。同理,从第三方镜像下载时先核对是否有 ICUType。
坑 5:把 Survival=-1 当缺失值处理。
Outcomes 文件里 Survival=-1 是存活出院的约定值(set-a 实测 2,526/4,000 例);而数据文件里 Height=-1 才是"未记录"。同名哨兵值两种语义——把 -1 一律转 NaN 再 dropna,你会扔掉六成存活标签并把阳性率翻三倍多(554/1,474≈37.6%)。加载代码里应显式写:Survival == -1 → In-hospital_death=0。
坑 6:把现代 AUC 与官方分数混排,或不知道下游重划分与官方相反。
STraTS 起的惯例是 set-b+set-c 训练/验证(80:20)、set-a 测试(11,988 例)——官方用途恰相反(A 训练、C 评测)。0.5353(官方 min(Se,PPV))与 0.860(STraTS-mTAND AUC)是两把尺子,差 60% 不代表方法进步 60%(§4.3)。引用任何分数前先确认三件事:划分、指标、评测集。
坑 7:把 435.6 次观测、79.7% 缺失率当官方统计。
这两个数字出自下游论文的预处理口径(STraTS/ACM TCH/EMIT),剔除规则不同会得到不同值。官方从未发布缺失统计。写"数据画像"时标注口径来源,别写"该数据集平均缺失率 79.7%"这种绝对化表述。
坑 8:以为挑战记录能一一对应回 MIMIC-III。
挑战的 12,000 例来自 MIMIC-II v2.6,RecordID 体系与 MIMIC-III 的 icustay_id 不同命名空间,官方未发布映射表。"大部分重叠但不一一对应"是实情——想链回原库病历需自行按人口学与时间特征对齐,误差不可避免。需要完整临床细节(用药、诊断、自由文本)时应直接用 MIMIC-III/IV 而非用挑战切片反推。
§11 总结
11.1 三句话总结
- PhysioNet/CinC Challenge 2012 用 MIMIC-II 的 12,000 例切片(前 48h 不规则时序、42 变量、13.9% 阳性率)定义了"ICU 死亡率早期预测"这个任务,并以"交代码不交分+双 event 评分+隐藏测试集"立下了可复现评测的早期标杆。
- 数据 ODC-BY 1.0 无门槛公开(set A/B 全量、Outcomes-a 公开;set C 与 set-b outcomes 永不公开),官方冠军分 Event 1 0.5353 / Event 2 17.88,SAPS-I 基线 0.3125/68.58。
- 赛后十年它成为不规则临床时序方法学的标准测试床(GRU-D→mTAND→SeFT→STraTS→EMIT),但三套变量口径、-1 双重语义与下游重划分(11,988 例,与官方相反)是引用与复现时必须核对的三大口径陷阱。
11.2 适合谁
- 做不规则采样时序建模(插值/衰减/注意力/集合函数)的研究者——这份数据是方法论文的"标配考场",基线与划分有事实标准;
- 构建ICU 早期预警系统的工程团队——13.9% 阳性率、80% 缺失率下还能做的模型才谈得上落地前的压力测试;
- 研究评测协议的人——min(Se,PPV)、range-normalized HL、逐记录独立 run、禁止跨状态,每一条都是可引用的设计案例;
- 教学/入门场景——无注册门槛 + 单中心切片规模适中,是"MIMIC 家族体验版"。
11.3 不适合谁
- 需要完整临床细节(用药、诊断编码、自由文本、影像)的研究——挑战切片只有 48h 观测+6 字段结局,请用 MIMIC-III/IV/eICU;
- 需要多中心外部验证的研究——数据是单中心(BIDMC)切片,eICU (552)、nwicu (146) 才是多中心对照;
- 追求官方排行榜复现的团队——set C 与 set-b outcomes 永不公开,官方最终分数(尤其 Event 2 的 HL 统计量)第三方不可复现;
- 做等间隔高频信号(波形级)研究——这里只有数值化观测;波形请走 mimic3wdb (586)/vitaldb (192)。
11.4 30 秒决策卡
你的需求是?
├─ 跑不规则时序方法基准 → 用 set-b+c 训练/set-a 测试(11,988 例口径),
│ 报 ROC-AUC+PR-AUC,与 STraTS-mTAND 0.860±0.004 对标(坑 6)
├─ 设计早期预警产品 → 先读 §4.5:业务要 PR-AUC/PPV@k 还是校准?
│ Event 2 思想(HL 校准)比 AUC 更贴近临床决策
├─ 教学或入门 ICU 数据 → 直接下载(ODC-BY 1.0 无门槛),先读坑 5(-1 语义)
├─ 需要用药/诊断/文本 → 转用 mimic-iii (106) / mimic-iv-clinical-database (4),
│ 本数据不提供这些字段
├─ 需要多中心验证 → 转用 eicu-crd (552) / nwicu (146)
└─ 研究评测协议史 → physionet.org/challenge/2012/ 公告页 + papers/(CC BY 3.0)
FAQ(高频问答 40 问)
A. 基础认知
F1:CinC Challenge 2012 是什么?
PhysioNet/Computing in Cardiology 2012 年度挑战赛的数据集与任务:用 ICU 入科后前 48 小时的不规则观测预测本次住院院内死亡。12,000 例,set A/B/C 各 4,000。
F2:数据是专门为挑战采集的吗?
不是。它从 MIMIC-II v2.6(BIDMC 2001-2007)的 12,753 例符合条件者中随机抽取,无任何新采集。
F3:为什么它是"经典"?
三个第一:PhysioNet/CinC 系列中首个聚焦 ICU 临床时序与死亡预测的届次;首个"交代码不交分"的大规模医疗评测实践之一;此后十年不规则临床时序方法论文的默认实验场。
F4:任务时间窗为什么是 48 小时?
官方只定了"前 48h"这一硬边界(早于 48h 结局被排除)。48h 恰好覆盖多数常规化验与体征的完整周期,又是"早期"干预的合理上限——这个设计被 2019 届(80h 脓毒症)继承并调整。
F5:和 MIMIC-II 什么关系?和 MIMIC-III 呢?
母库是 MIMIC-II v2.6;挑战数据是其 12,000 例随机子集。MIMIC-III 是 MIMIC-II 的扩展继任(2001-2012),与挑战数据大部分重叠但无官方映射表(坑 8)。
B. 数据与获取
F6:在哪下载?要注册吗?
physionet.org/content/challenge-2012/1.0.0/——无需注册、无 DUA,官方 zip/tar.gz 打包或单文件直链皆可。
F7:许可是什么?能商用吗?
数据文件 ODC-BY 1.0:署名即可,允许商用,衍生库需延续归属。参赛论文集 CC BY 3.0;组织者论文 DSpace 版 CC BY-NC-SA 4.0(非商业)。
F8:set A/B/C 各是什么?
A:4,000 例,数据+outcomes 全公开(训练集);B:4,000 例,数据公开、outcomes 隐匿(在线评测);C:4,000 例,全部隐匿(官方最终评测,从未公开)。
F9:set C 为什么拿不到?
竞赛完整性设计:测试集数据与标签由官方持有,防止针对性调参。副作用是官方最终分数第三方不可复现。
F10:能拿到 set B 的死亡标签吗?
不能。Outcomes-b.txt 从未发布。社区实践是用 set-a(标签公开)做自我评测,或用 STraTS 口径重划分(F23)。
F11:数据文件体积多大?
每例一个几 KB 到几十 KB 的文本文件,12,000 例整体打包在数百 MB 以内——单卡环境即可全量处理。
F12:版本会更新吗?
v1.0.0 是唯一版本号,2012 年发布后未再升级;十年间下载内容一致。
C. 格式与变量
F13:一条记录的文件结构?
CSV 文本,行格式 Time,Parameter,Value;文件头是 6 项一般描述符,其后为时序观测;Time 为距入科的"小时:分钟";-1 表示缺失(有效值非负)。
F14:到底多少个变量?
正式口径 42 = 6 描述符 + 36 时序(37 项时序列表去重 Weight)。另有论文摘要 41(无 ICUType)与下游 37+4 两套口径,成因见坑 3。
F15:ICUType 是什么?
ICU 类型分类:1=CCU、2=CSRU、3=MICU、4=SICU。它是 2012-05-08 Phase 2 才加入的字段,早期副本没有。
F16:为什么有的血压有三套(SysABP/NISysABP/MAP)?
有创动脉导管测的收缩/舒张压与平均压(SysABP/DiasABP/MAP)和袖带无创测的(NISysABP/NIDiasABP/NIMAP)是不同测量通道,各自独立记录且频次不同——把它们当同一变量合并是常见预处理错误。
F17:MechVent、FiO2 是什么?
机械通气状态(0/1)与吸入氧浓度——治疗类变量,是区分"观测"与"干预"的少数字段,建模时可考虑分层处理。
F18:观测次数大概多少?
下游预处理口径平均 435.6 次/例(最大 1,497),跨度均值 47.3h;Cholesterol 仅 7.91% 的 stay 出现。注意这是预处理口径而非官方统计(坑 7)。
D. 标签与评分
F19:标签是什么、正负比例多少?
In-hospital_death(0/1);实测 set-a 死亡 554/4,000=13.9%。Outcomes 另含 SAPS-I、SOFA、Length_of_stay、Survival 四个辅助字段。
F20:Survival=-1 是什么意思?
存活出院的约定值(非缺失)——set-a 共 2,526 例。误当缺失剔除会重创标签(坑 5)。
F21:官方评分是什么?
Event 1=min(sensitivity, PPV)(0-1,1 好);Event 2=range-normalized Hosmer-Lemeshow H(趋 0 好,考校准+区分度)。官方 baseline 用 SAPS-I:0.3125 与 68.58。
F22:冠军多少分?
Event 1:Johnson 等 0.5353(28 人参赛,亚军 0.5345);Event 2:Citi & Barbieri 17.88(23 人参赛)。
F23:现代论文的划分和官方一样吗?
不一样且方向相反:STraTS 起的惯例是 set-b+set-c 训练/验证(80:20)、set-a 测试,共 11,988 例。这是社区为"标签全知"做的选择(坑 6)。
F24:现代 SOTA 是多少?
STraTS 口径 ROC-AUC:GRU-D 0.833-0.846、SeFT 0.846、mTAND 0.844、STraTS 0.839、STraTS-mTAND 0.860±0.004(最佳);PR-AUC 约 0.45-0.52。
E. 下游与基准
F25:为什么都用这份数据做基准?
规模适中(单卡可跑)、缺失极端(方法差异被放大)、划分有事实标准(可横向比较)、获取零门槛。
F26:GRU-D 的 0.833 和 0.846 哪个对?
都对,口径不同:0.833±0.005 出自 TKDD22 原文口径,0.846±0.001 出自 ACM TCH 统一预处理复现。同一方法都有复现带宽,逐位比较无意义。
F27:能和 MIMIC-III 上的结果直接比吗?
不能——样本子集、变量集、预处理、任务窗口都不同。跨数据集比较只在"同一方法族同一预处理流水线"内有效。
F28:这数据饱和了吗?
ROC-AUC 在 0.83-0.86 区间已挤了三代方法,差距进入 SD 噪声带;2024 年后的论文转向 PR-AUC、校准与效率的多维报告(§6.3)。
F. 工程与复现
F29:加载时最容易犯的三个错?
① Survival=-1 当 NaN;② 把无创/有创血压合并;③ 把时间戳当绝对时间对齐(它是相对入科的小时:分钟)。
F30:官方 sample entry 还能跑吗?
能。physionet.org/challenge/2012/ 保留 saps_score.m/.c、lemeshow.m 与 genresults.m/sh,MATLAB/Octave 或 gcc 即可复现 baseline。
F31:想链回 MIMIC 原库怎么办?
没有官方映射表;只能按人口学+时间特征自行对齐,误差不可避免。需要完整临床细节请直接用 MIMIC-III/IV(坑 8)。
F32:引用怎么写?
Silva I, Moody GB, Scott DJ, Celi LA, Mark RG. Predicting Mortality of ICU Patients: The PhysioNet/Computing in Cardiology Challenge 2012. Computing in Cardiology 2012;39:245-248(PMID 24678516)+ PhysioNet 资源引用(Pollard 等 2026)。
F33:为什么 set-b 有数据没标签,这设计合理吗?
合理且必要。set-b 是参赛期间的"在线评测集"——数据公开让参赛者能验证自己的 entry 能跑通,标签持有则防针对性调参。副作用是赛后 set-b 对非官方研究者只剩"无监督用途"。
F34:GRU-D 论文用的就是这份数据吗?
是。GRU-D(Che et al. 2018, Scientific Reports)的死亡率基准之一即 PhysioNet Challenge 2012 数据(其预处理版),另一份是 MIMIC-III 派生集。今天引用 GRU-D 的"PhysioNet-2012"分数即下游口径(坑 6)。
F35:这个数据集适合做迁移学习/预训练评测吗?
适合且常见:STraTS 的自监督预训练、APC、EMIT 都在此数据上做"预训练 + 少标签微调"实验(50%/10% 标签曲线)。其 80% 缺失率对预训练表征的稳健性是很好的压力源。
F36:能不能用它做"死亡风险可解释性"研究?
可以但有限制:变量只有 36+6 个且语义清晰,适合特征归因类研究;但注意它没有用药/诊断信息,"为什么死"的归因天花板受数据本身限制。
F37:阴阳样本比能调整吗?官方给过加权建议吗?
官方未给加权建议——这正是 min(Se,PPV) 指标代替类平衡技巧的设计意图。下游实践若用 AUC/PR-AUC 则无需重采样;若用交叉熵训练,常见做法是正类加权 1:6 左右(1/0.139 的倒数附近),需自行验证。
F38:数据里的时间戳有错乱/倒序吗?
官方只保证"按时间升序记录"并提示预期有离群值;实测个别记录存在近邻重复时间戳(多传感器并测所致)。解析时按稳定排序处理即可,无需假设严格单调。
F39:论文里"12,000 adult patients"和"12,000 ICU stays"是一回事吗?
本数据集语境下是一回事:每位患者只取"首次 ICU stay"(≥48h),一人一例。但注意在 MIMIC-II 全库语境中患者数与 stay 数不同——跨语境引用时别把全库的 25,328 stays 说成 25,328 人。
F40:2026 年了,新人第一个实验建议做什么?
三步:① 原始三元组解析 set-a,画出三个患者的 HR/GCS/血气采样时间线(直观感受不规则性);② 复算 SAPS-I 并与 Outcomes-a 对照(体会"官方承认的出入");③ 在下游口径(11,988 例)上跑一个逻辑回归基线拿到 ROC-AUC≈0.78-0.80 的起点分数。走完这三步,你就拥有了读懂这份数据全部文献的坐标系。
事实清单(硬事实 36 条)
- 全称(content 页):Predicting Mortality of ICU Patients: The PhysioNet/Computing in Cardiology Challenge 2012,v1.0.0。
- 论文:Silva I, Moody GB, Scott DJ, Celi LA, Mark RG. Computing in Cardiology 2012;39:245-248。
- 论文标识:PMID 24678516;PMCID PMC3965265;MIT DSpace hdl 1721.1/93166。
- 组织方:MIT(今 LCP)+ Beth Israel Deaconess Medical Center,依托 PhysioNet(NIH 资助)。
- 数据源:MIMIC-II v2.6(BIDMC 2001-2007)。
- 筛选链:12,753 例符合条件(成人≥16 岁 + 首次 ICU 住院≥48h)→ 随机抽 12,000。
- 无其他排除标准:DNR/CMO 患者保留(官方页面明文)。
- 三集划分:set A/B/C 各 4,000(A 训练+outcomes 公开;B 数据公开;C 全隐匿)。
- 实测核验:set-b/ 目录 4,000 个 txt;Outcomes-a.txt 4,001 行(1 表头+4,000 记录)。
- 变量口径(正式页):42 = 6 一般描述符 + 36 时序(37 项列表去重 Weight)。
- 变量口径(论文摘要):41 = 5 + 36;ICUType 系 2012-05-08 Phase 2 增补。
- 变量口径(下游):37 time series + 4 static(RecordID 排除、Weight 归时序)。
- 一般描述符:RecordID、Age、Gender(0/1)、Height(cm)、ICUType(1-4)、Weight(kg)。
- ICUType 编码:1=CCU、2=CSRU、3=MICU、4=SICU。
- 时间戳格式:距 ICU 入科的"小时:分钟"(如 35:19)。
- 缺失约定:数值 -1 表示缺失/未知;有效观测值非负。
- Outcomes 六字段:RecordID、SAPS-I、SOFA、Length_of_stay、Survival、In-hospital_death(0/1)。
- 标签逻辑:Survival>LOS 或 Survival=-1 ⇒ 存活;2≤Survival≤LOS ⇒ 院内死亡;LOS/Survival 永不为 0/1。
- 实测 set-a:院内死亡 554/4,000(阳性率 13.9%);LOS 均值 13.4 天;SAPS-I 均值 14.2;Survival=-1 共 2,526 例。
- 人群统计(论文):年龄 64.5(SD 17.1)岁;身高 169.5(17.1)cm;体重 81.2(23.8)kg。
- 下游画像(预处理口径):平均观测 435.6 次/例(最大 1,497);跨度均值 47.3h;平均缺失率 79.7%;Cholesterol 仅 7.91% 的 stay 出现。
- Event 1 评分:min(sensitivity, PPV),0-1,1 理想。
- Event 2 评分:range-normalized Hosmer-Lemeshow H 统计量,趋 0 理想。
- 提交形式:源代码——m-code 函数 [risk,prediction]=physionet2012(time,param,value) 或 ANSI C 可执行;输出 RecordID,prediction,risk。
- 评测规则:逐记录独立 run,禁止跨 run 存储状态;官方框架 genresults.m/.sh。
- 官方 sample entry:SAPS-I 当风险输出(附 saps_score.m/.c 与 lemeshow.m)。
- baseline 分数:m-code 版 Event 1 0.3125 / Event 2 68.58;C 版 0.3097 / 35.21;随机基线 0.1386 / 10137.7。
- 最终冠军:Event 1 Johnson/Dunkley/Mayaud/Tsanas/Kramer/Clifford 0.5353(28 人参赛);Event 2 Citi & Barbieri 17.88(23 人参赛)。
- Event 1 亚军:Citi & Barbieri 0.5345(差 0.0008);Event 2 亚军:Kang/Su/Ji 20.58;Event 2 第 7 名 Pollard & Martinez 38.23。
- 时间线:2012-01-20 开放;04-25 Phase 1 截止;05-08 Phase 2 修订(加 ICUType、删重复 Age);08-25 Phase 2 截止;09-09~12 克拉科夫 CinC 颁奖。
- License:数据文件 ODC-BY 1.0(无注册门槛);参赛论文集 CC BY 3.0;组织者论文 DSpace 版 CC BY-NC-SA 4.0。
- 获取地址:https://physionet.org/content/challenge-2012/1.0.0/(set-a/、set-b/、Outcomes-a.txt、papers/、官方打包)。
- 永不公开项:set C 全部数据、Outcomes-b.txt(set B 结局)。
- 现代基准(STraTS 划分,11,988 例,A 作测试):GRU-D 0.833±0.005/0.846±0.001;mTAND 0.844;SeFT 0.846;STraTS 0.839±0.008;STraTS-mTAND 0.860±0.004;PR-AUC 约 0.45-0.52。
- 系列地位:PhysioNet/CinC 挑战系列中首个聚焦 ICU 临床时序与死亡预测的届次;本库同系列最早年份条目。
- 库内互链:mimic-iii (106)、mimiciii (590)、mimic-iv-clinical-database (4)、mimiciv (592)、cinc-2015 (487)、physionet-cinc-2016 (382)、physionet-cinc-2017 (162)、cinc-2018-sleep (493)、cinc-2019 (656)、cinc-2021 (644)、cinc-2023 (499)、eicu-crd (552)、eicu-collaborative (9)、vitaldb (192)、mimic3wdb (586)、mimic3wdb-matched (587)、mimic4wdb (588)、mimic-iv-ecg (172)、nwicu (146)、synthetic-mimic-iii-health-gym (597)。
附录 A:来源与双口径存照
| 关键数字/表述 | 来源 | 性质 |
|---|---|---|
| 12,000 例 / set A/B/C 各 4,000 | 挑战论文(CinC 2012;39:245-248)+ 官方 content 页 | 论文与页面互证 |
| 42 = 6 + 36 变量 | content 页 v1.0.0 正文实抓 | 官方页面 |
| 41 = 5 + 36 变量 | 挑战论文摘要 | 论文口径(历史口径) |
| set-b = 4,000 个 txt | physionet.org/files/challenge-2012/1.0.0/set-b/ 目录列表实测 | 第一手实测(2026-09-26) |
| Outcomes-a.txt 4,001 行 | 同上文件实测 | 第一手实测 |
| 死亡 554 / 阳性率 13.9% / LOS 13.4 天 / SAPS-I 均值 14.2 / Survival=-1 2,526 例 | 本代理下载 Outcomes-a.txt 计算 | 第一手实测 |
| 冠军 0.5353 / 17.88;参赛 28/23 人 | 挑战论文+官方 top-scores 页 | 官方 |
| baseline 0.3125/68.58;随机 0.1386/10137.7 | 官方 content 页 evaluation 说明 | 官方 |
| 时间线(01-20 开放至 09-12 颁奖) | content 页 news + challenge 页公告逐日 | 官方 |
| ODC-BY 1.0 | content 页 “License (for files)” 实抓 | 官方页面 |
| PMCID PMC3965265 / PMID 24678516 | PubMed/PMC 页面 | 官方索引 |
| GRU-D 0.833-0.846 / STraTS-mTAND 0.860±0.004 / PR-AUC 0.45-0.52 | STraTS(ACM TCH 2022)等下游论文 | 下游口径(非官方) |
| 435.6 次观测 / 79.7% 缺失 / Cholesterol 7.91% | STraTS/ACM TCH/EMIT 预处理口径 | 下游口径(非官方) |
存照清单(三口径与双划分的完整辨析见 §2.5、§4.3-4.4、§9 与坑 3/6/7):
- 变量数三口径并存:41(论文摘要)/ 42(正式页面,本条目正文采用)/ 37+4(下游)。
- set 划分双口径:论文"三组各 4,000";challenge 页"A=4,000,其余为 B 和 C";set-c=4,000 系实测推断。
- 下游重划分(11,988 例)与官方用途相反;AUC 与官方分不可混排。
- MIMIC-II 全库 25,328 例系 ACM 论文转述口径,本条目未独立核验全库数。
- 平均缺失率与观测次数为下游预处理口径,非官方统计。
- 开源 entry 奖金数额官方未公布;2011 届与 2012 届的"首届"边界统一为"系列中首个聚焦 ICU 临床时序与死亡预测的届次"。
附录 B:DAIMS 评估全表
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 9 | 挑战论文(PMID 24678516)+PhysioNet 专页+十年下游文献链;"Challenge 2012/ICU mortality"检索密度高;唯 slug(cinc-2012)与官方 URL(challenge-2012)双体系需存照 |
| A 可获取性 | 10 | ODC-BY 1.0、无注册无 DUA、打包+单文件直链;set C/Outcomes-b 不公开属竞赛设计而非门槛——本库最高档 |
| I 可互操作 | 6 | 每例 CSV 文本解析零依赖;但无官方 schema 文件、无标准加载器、无 MIMIC 原库映射表、时间戳为相对入科时刻 |
| M 元数据质量 | 7 | 变量表与格式/标签约定完备;扣分项:变量数三口径、ICUType 中途增补、-1 双重语义散落页面各处 |
| S 可持续性 | 9 | PhysioNet 平台长期托管(NIH 资助体系)、v1.0.0 十年不变、镜像站保留公告史;社区(MIT LCP)活跃 |
| 综合评级 | 8.0/10(AI-Ready 优) | 可获取性与可持续性顶级;互操作与元数据被"约定靠页面而非 schema"拖低 |
附录 C:逐项证据链自证
| 关键数字 | 来源 | 位置/方式 |
|---|---|---|
| 12,000 / 4,000×3 / 12,753 | 挑战论文 + content 页 | 三源互证(论文/页面/PMC) |
| 6 描述符 + 37 时序列表 | content 页 Variables 节 | 官方页实抓(2026-09-26) |
| set-b 4,000 个 txt | set-b/ 目录列表 | curl+UA 实测 |
| Outcomes-a.txt 4,001 行 | 文件直接下载 | curl+UA 实测 |
| 死亡 554(13.9%)/ LOS 13.4 / SAPS-I 14.2 / Survival=-1 2,526 | Outcomes-a.txt 统计 | 本代理第一手计算 |
| min(Se,PPV) 与 range-normalized HL 定义 | content 页 evaluation + challenge 页 | 官方页实抓 |
| physionet2012 函数签名 / RecordID,prediction,risk 格式 | challenge 页 submission 节 | 官方页实抓 |
| 逐记录独立 run / 禁跨 run 状态 | challenge 页 rules | 官方页实抓 |
| baseline 0.3125/68.58 与随机基线 | content 页/sample entry 说明 | 官方页实抓 |
| 冠军 0.5353(Johnson 等)/ 17.88(Citi & Barbieri) | 挑战论文 Table + top-scores 页 | 官方 |
| ODC-BY 1.0 | content 页 License 栏 | 官方页实抓 |
| ICUType 2012-05-08 增补 | challenge 页 news(Phase 2 公告) | 官方页实抓 |
| PMC3965265 / hdl 1721.1/93166 | PMC 与 MIT DSpace 页面 | 官方索引 |
| GRU-D/STraTS/EMIT 数字 | STraTS(ACM TCH 2022)等 | 下游论文口径 |
附录 D:数据获取决策树
需要 ICU 死亡预测/不规则时序数据
│
├─ 只要数据本体(最快路径)
│ └─ physionet.org/content/challenge-2012/1.0.0/
│ ├─ set-a.zip(4,000 例+标签公开)→ 教学/自评/开发
│ ├─ set-b.zip(4,000 例无标签)→ STraTS 口径训练分区
│ └─ Outcomes-a.txt → 标签与 SAPS-I/SOFA/LOS
│ 许可 ODC-BY 1.0,无需注册;抓取带浏览器 UA(坑 2)
│
├─ 要"官方口径"的评测分数
│ └─ 第三方无法复现 set C 评测 → 引用官方论文分数(0.5353/17.88)
│ 并注明不可复现性(附录 A 存照)
│
├─ 要完整临床细节(用药/诊断/文本)
│ └─ 转用 mimic-iii (106) / mimic-iv-clinical-database (4);
│ 挑战记录与原库无官方映射(坑 8)
│
├─ 要多中心 ICU 对照
│ └─ eicu-crd (552) / nwicu (146)
│
└─ 要波形级高频信号
└─ mimic3wdb (586) / mimic4wdb (588) / vitaldb (192)
附录 J:官方样例代码与测试框架走读
PhysioNet 在数据包里附了一套完整的"参赛工具链",走读一遍等于上了一堂 2012 年的评测工程课:
| 文件 | 角色 | 走读要点 |
|---|---|---|
physionet2012.m |
MATLAB 样例 entry | 函数签名 [risk,prediction]=physionet2012(time,param,value);内部用 saps_score.m 算 SAPS-I 再映射风险——风险输出实际上是"按 SAPS-I 查表的经验概率" |
physionet2012.c |
C 样例 entry | 与 m-code 同逻辑的 ANSI C 版;演示标准流 I/O(读入单记录文件、输出一行 RecordID,prediction,risk) |
saps_score.m/.c |
SAPS-I 计分函数 | 按 Le Gall 1984 的 12 个生理变量最差值计分;注意官方承认复算值与 Outcomes 记录值存在出入 |
genresults.m/.sh |
批量测试框架 | 循环读入目录下每条记录 → 逐条独立调用 entry → 汇总输出;这是官方"逐记录独立 run"规则的参考实现 |
lemeshow.m |
非官方 Event 2 计分 | Hosmer-Lemeshow H 的 MATLAB 实现;官方注明与 score.c 有舍入差异 |
score.c |
官方计分 | Event 1 的 min(Se,PPV) 与 Event 2 的归一化 HL 均在此;最终排名以它为准 |
Sample-SetA.txt |
样例输出 | sample entry 对 set-a 全部 4,000 例的输出,可直接对 Outcomes-a.txt 自算分数 |
复现要点:genresults 框架与 entry 之间只通过标准 I/O 交互,这意味着任何语言只要能读写文本就能接入——2012 年官方对 Java/Perl/R 的"批准制"只是为了公平性备案,而非技术限制。今天的读者可以把这个框架原样搬来当自己的评测器:它天生满足"无状态、逐记录、可审计"三条。
附录 K:与 cinc-2019 的评分规则对照(同主题两届的演化)
2012 与 2019 届共享"ICU 数值观测 → 临床终点早期预测"骨架,但评分哲学差异巨大:
| 维度 | 2012(本条目) | 2019(cinc-2019, rid 656) |
|---|---|---|
| 终点 | 本次住院院内死亡 | 脓毒症首次发作(提前 ≥6h 预测) |
| 窗口 | 入科后前 48h(固定截断) | 入科后前 80h(逐小时滑动决策) |
| 变量 | 42(6 描述符+36 时序) | 40(生命体征+实验室+人口学) |
| 数据源 | MIMIC-II 单库 | MIMIC-III + eICU 双库(三份训练集) |
| 提交物 | 源代码(逐记录运行) | 预测 CSV(逐小时概率行) |
| 官方指标 | Event 1 min(Se,PPV);Event 2 归一化 HL | utility score:按"早距-奖励矩阵"加权的命中率-误报权衡 |
| 阳性处理 | 全局二分类阈值 | 每小时决策点各自计分,提前越早奖励越高 |
| 数据公开 | set-a/b 数据公开 + Outcomes-a | 三套训练集全公开(含标签),隐匿集仅终评用 |
| 对下游的启示 | 指标必须同时约束查全与查准 | "早"本身就是被奖励的维度 |
读表要点:从 2012 到 2019,官方评测从"全局单阈值分类"进化为"逐时刻决策效用",本质是把临床预警的"早"字写进了数学。两届对照阅读是理解"临床竞赛指标设计"最短路径。
附录 L:十个常见反模式(含修复建议)
- 把 Survival=-1 转 NaN 再 dropna —— 扔掉六成存活标签。修复:
Survival==-1 → 存活。 - 把官方 0.5353 写成 “AUC 0.54” —— 官方从无冠军 AUC。修复:引用时保留 min(Se,PPV) 原名。
- 用 12,000 例全量跑下游划分 —— 主流基准是 11,988(剔 12 例),数字对不上。修复:显式声明 N 与剔除规则。
- set-a 与下游口径的测试集混用 —— 官方 set-a 是训练集;下游拿它当测试。修复:论文数据节放划分瀑布表。
- 直接
pd.read_csv后转数值 —— Value 列混合类型会错位。修复:按 str 读、按变量名转型。 - 把 -1 一律转 NaN —— 描述符里 -1 确实是缺失,但 Survival 例外(坑 5)。修复:按字段分别处理。
- 默认文件里有 ICUType —— Phase 1 版没有。修复:数描述符行(6 行 = 最终态)。
- 把 Weight 当纯静态 —— 丢失液体平衡轨迹。修复:00:00 行与复测行拆开(坑 6)。
- 对分箱矩阵算"数据集缺失率"再当官方统计引用 —— 79.7% 是下游口径。修复:注明出处与预处理。
- 假设 RecordID 可回链 MIMIC-III —— 无官方映射。修复:需要临床细节直接用 MIMIC-III/IV(坑 8)。
附录 M:从三元组到模型输入的完整流水线(参考实现骨架)
# 流水线四段式:解析 → 对齐 → 缺失策略 → 评测口径
# 本骨架演示"官方口径"路径;下游口径替换第 4 段即可
# ---- 1) 解析:三元组事件表 ----
# 每例 → [(time_minutes, param, value), ...]
# 描述符(00:00 行)单独存 static dict;Weight 拆两份(坑 6)
# ---- 2) 对齐:按研究问题选择 ----
# 事件级模型(SeFT/STraTS 路线):直接用三元组,时间做连续编码
# 序列级模型(GRU/GRU-D 路线):48h × 42 网格 + 缺失指示 + Δt 通道
# ---- 3) 缺失策略(按变量组分别设定,勿全局一刀切)----
# 高频体征(HR/RespRate/...):前向填充 + 衰减(GRU-D 思想)
# 低频化验(Lactate/TropI/...):观测携带法(last-carried-forward)
# + "距上次观测时长"作为特征
# 极稀疏(Cholesterol):建议整列丢弃而非插补
# static(Height/Gender):均值/众数 + 缺失指示位
# ---- 4) 评测口径 ----
# 官方口径:set-a 训练(label 来自 Outcomes-a),
# set-b/c 仅官方可评 → 本地只能做交叉验证
# 下游口径:set-b+set-c 80/20 训练/验证,set-a 测试,
# 报 ROC-AUC + PR-AUC(10 seeds 均值±SD),
# 声明 N=11,988 与剔除规则
# 共同底线:任何口径下都要写明"前 48h 输入 → 院内死亡终点",
# 且 Survival=-1 永不进入特征(坑 5)
流水线的每一段都对应正文一个坑:解析对应坑 5/坑 6,对齐对应坑 7,缺失策略对应坑 7 的统计口径,评测对应坑 4/坑 6(编号见 §10)。把这份骨架当 checklist 用,可避开该数据集九成的工程事故。
附录 N:ICU 数据画像对照表(库内五份核心 ICU 数据)
| 维度 | cinc-2012(本条目) | MIMIC-II(母库) | mimic-iii(106) | eicu-crd(552) | cinc-2019(656) |
|---|---|---|---|---|---|
| 患者/stay 规模 | 12,000 stays | ~2.5 万 stays(ACM 口径 25,328) | 49,785 stays / 38,597 成人 | 200,859 stays | 40,336 例 |
| 时间跨度 | 2001-2007(48h 窗口) | 2001-2007 | 2001-2012 | 2014-2015 | 2001-2016 |
| 医院 | BIDMC 单中心 | BIDMC 单中心 | BIDMC 单中心 | 208 ICU 多中心 | BIDMC+eICU 双库 |
| 模态 | 42 变量数值观测 | 全 EHR(已下架) | 全模态 | 数值 EHR | 40 变量数值观测 |
| 窗口 | 前 48h | 全程 | 全程 | 全程 | 前 80h |
| 终点 | 院内死亡 | —(自定) | 自定 | 自定 | 脓毒症发作 |
| 许可/门槛 | ODC-BY(无门槛) | 已被 MIMIC-III 替代 | CITI+DUA(受控) | CITI+DUA(受控) | CC BY-4.0(无门槛) |
| 可比基准 | 十年方法谱系 | — | 海量衍生基准 | 多中心研究 | 2019 届榜单 |
| 典型用途 | 方法对标/教学 | 历史研究 | 深度挖掘 | 多中心验证 | 早期预测/迁移 |
附录 O:官方页面结构地图(URL 与内容分布)
physionet.org
├── content/challenge-2012/1.0.0/ 正式数据页(v1.0.0)
│ ├── 页面正文 = 挑战主页全文镜像(变量表/评分/规则/时间线)
│ ├── License (for files) = ODC-BY 1.0(本页实抓)
│ ├── news 区 = 2012 年运营大事记(1/20、6/4、8/31 等公告)
│ └── files/ 下同
├── challenge/2012/ 挑战历史主页(正文最全)
│ ├── scoring 节 = Event 1/2 规则细节
│ ├── software 节 = 样例 entry + 测试框架下载
│ └── top-scores.shtml 最终榜(Top 10 全名单+基线)
├── files/challenge-2012/1.0.0/ 文件直链区
│ ├── set-a/ set-b/ 各 4,000 个记录 txt(实测)
│ ├── Outcomes-a.txt 4,001 行(1 表头+4,000 记录)
│ └── papers/ 参赛论文集(CC BY 3.0)
└── archive.physionet.org/challenge/2012/ 旧站镜像(Phase 1 期形态可考)
论文侧
├── PMC3965265 / PMID 24678516 官方挑战论文(全文)
├── hdl 1721.1/93166 MIT DSpace(CC BY-NC-SA 4.0 版本)
└── cinc.org/archives/2012/pdf/0245.pdf 出版版 PDF
抓取提示:content 页与 challenge 页正文几乎同文,抓其一即可;top-scores 与 files 目录是独有内容,务必另抓。全部页面 2026-09-26 抓取有效。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- cinc-2019 — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 挑战赛数据集 / 评测基准
- mimic-iii — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- clif — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- ehrshot — 共享标签:电子健康记录 / 时序数据 / 评测基准
- hirid — 共享标签:电子健康记录 / 重症监护 / 时序数据
- eicu-collaborative — 共享标签:电子健康记录 / 重症监护 / 时序数据
- mimic-iv-ed — 共享标签:电子健康记录 / 重症监护 / 时序数据
- mimic-iv-ed — 共享标签:电子健康记录 / 重症监护 / 时序数据
- mimic-iv-clinical-database — 共享标签:电子健康记录 / 重症监护 / 时序数据
- amsterdamumcdb — 共享标签:电子健康记录 / 重症监护 / 时序数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

