MIMIC-III Waveform Matched Subset — 波形临床对齐子集 AI-Ready Wikipedia

22,317 波形记录 × 10,282 名 ICU 患者:波形与临床数据的官方匹配桥——匹配方法学、代理日期规则与多模态融合底座

来源 https://physionet.org/content/mimic3wdb-matched/发布时间: 2026-09-20最后更新: 2026-09-25 阅读 24
MIMIC-III Waveform Matched Subset — 波形临床对齐子集 AI-Ready Wikipedia

信息速览

数据集名称MIMIC-III Waveform Matched Subset — 波形临床对齐子集 AI-Ready Wikipedia
数据类型22,317 波形记录,22,247 数值记录,10,282 ICU 患者,匹配率 34%/35%,代理日期
规模10,282 名不同 ICU 患者(官方口径 distinct ICU patients;代理 ID + 代理日期去标识)
接入方式https://physionet.org/content/mimic3wdb-matched/
AI 就绪度

INFOBOX

属性 内容
名称 MIMIC-III Waveform Database Matched Subset(v1.0)
维护方 MIT Laboratory for Computational Physiology / PhysioNet
发布 2020(v1.0,与主库同期定稿)
定位 波形库与临床库之间的官方匹配桥——带患者映射关系的波形子集
规模 22,317 波形记录 + 22,247 numerics 记录 ↔ 10,282 名不同 ICU 患者
匹配率 波形记录 34% / numerics 记录 35%(官方口径约三分之一)
匹配方法 自动化匹配为主 + 人工校正(mostly automated with manual corrections)
命名 matched/pXX/pXXNNNN/pXXNNNN-YYYY-MM-DD-hh-mm(Subject_ID+代理日期+真实时分)
文件同一性 原始 .dat 与主库逐字节相同;仅代理日期 master .hea 独有
许可 ODbL v1.0 波形侧开放;临床数据关联须 MIMIC-III DUA(双轨)
合规 BIDMC + MIT IRB 批准,豁免个人知情同意
DOI 10.13026/c2294b(独立于主库 10.13026/c2607m)
主引文 Moody 2020(Matched Subset);Johnson 2016 SciData(临床库)
平台 PhysioNet

§0 E-E-A-T 信任声明与免责声明

经验(Experience):本文基于 PhysioNet 官方 matched subset 页面(v1.0)、MIT-LCP/mimic-code 仓库匹配实操讨论(issue #1383)、MIMIC-III 临床库论文与 DUA 语义撰写;命名规则、匹配率、失配原因均按官方原文口径译写。

专业性(Expertise):代理日期(surrogate date)与真实时分的区分、波形侧/临床侧 date shift 种子不同的坑点、.dat 逐字节同一性、"10,282"的患者口径等易错语义全部显式披露;全部数字标注口径。

权威性(Authoritativeness):MIMIC 家族是重症医学 AI 的事实标准数据底座;匹配子集是波形-临床多模态研究几乎唯一的公开规模化解;本文为第三方解读,不替代官方文档、LICENSE 与 DUA。

可信度:文内数字进入文末「口径存照」;对 486 号条目(主库)INFOBOX 中"10,282 条临床记录"的表述做了口径复核与修正说明(官方原文为 10,282 distinct ICU patients),见 §6.9。

免责:本文为学术性数据资源解读,不构成医疗建议;波形-临床联合数据的再识别风险与伦理合规见 §8。

§1 数据集概览

§1.0 📌 30 秒速览

  • 是什么:MIMIC-III Waveform Database(67,830 组监护波形)中已与 MIMIC-III 临床库完成匹配的子集——每个记录名都携带临床患者 ID 与时间锚点;
  • 规模:22,317 波形记录 + 22,247 numerics 记录 ↔ 10,282 名不同 ICU 患者(官方口径 distinct ICU patients);
  • 匹配率:波形 34% / numerics 35%——主库约 2/3 记录因监护仪未直连等历史原因无法映射;
  • 命名即映射:pXXNNNN-YYYY-MM-DD-hh-mm = Subject_ID + 代理日期 + 真实时分——目录结构本身就是匹配表;
  • 许可双轨:波形侧 ODbL 开放下载;关联临床表必须另行走 MIMIC-III DUA(CITI 培训+签署协议);
  • AI 价值:波形-临床多模态融合(低血压预警/AKI/死亡风险)几乎唯一的公开规模化配对底座;
  • 最大坑:波形侧与临床库侧的代理日期是不同随机偏移——按日期直接 join 必然失败。

§1.1 摘要

MIMIC-III Waveform Database Matched Subset 是波形库主条目(67,830 组记录)中那部分"找到了临床身份"的记录:BIDMC ICU 床旁监护仪的毫秒级连续波形(ECG/ABP/PPG/呼吸)+ 每秒生命体征数值(numerics),经自动化匹配加人工校正,与 MIMIC-III Clinical Database 的患者主索引对齐——22,317 条波形记录、22,247 条 numerics 记录,覆盖 10,282 名不同 ICU 患者。它的核心价值不在数据增量(原始 .dat 与主库逐字节相同),而在映射关系:主库的匿名记录号(如 3141595)说不出"这是谁",matched subset 的记录名(p044083-2112-05-04-19-50)则直接给出 Subject_ID 与监护开始时分,使波形可以挂上人口学、诊断、用药、实验室检验与临床结局。匹配率约三分之一(34%/35%)——失配主因是监护仪未与病历系统直连、床号信息不可识别。对 AI 而言,这是多模态融合研究的门票:用波形编码器吃信号、用临床表吃语义,在 10,282 名患者的规模上做低血压提前预警、血流动力学建模与波形-临床预训练。理解本文的三个关键词——匹配方法学、代理日期、双轨许可——比下载 6.7 TB 更先一步。

§1.2 战略价值

  1. 语义高度:纯波形库只有"物理状态",matched subset 给波形挂上"这个人是谁、得了什么病、用了什么药、结局如何"——多模态监督信号的唯一规模化公开来源;
  2. 映射即资产:记录名编码 Subject_ID + 时分锚点,免去了自建匹配表的巨大工程(官方已完成 mostly automated + manual corrections 的两轮校验);
  3. 隐私工程的样板:代理日期保留相对时间结构(事件间隔不失真)而抹除绝对日期——date shift 语义的最佳教学案例;
  4. 双轨合规的现实解:波形侧 ODbL 零门槛(教学/原型/信号算法),临床侧 DUA 受控(患者级联合分析)——同一研究可以分阶段推进;
  5. 生态位:承上(MIMIC-III Waveform 主库)启下(MIMIC-IV Waveform 对齐 MIMIC-IV),是 MIMIC 波形家族中"临床可联性"的承重层。

§1.3 同类数据集横向对比

维度 MIMIC-III Waveform Matched MIMIC-III Waveform 主库 VitalDB eICU/HiRID 类临床库
波形 ✅ 22,317 记录 ✅ 67,830 组 ✅ 6,388 手术 ❌(或仅部分)
临床表关联 ✅ 官方映射(10,282 患者) ❌ 匿名记录号 麻醉记录内置 ✅ 纯临床无波形
匹配透明度 记录名即映射 — — —
匹配率 34%(波形) — 100%(同一采集系统) —
人群 ICU(成人+新生儿) ICU(成人+新生儿) 手术室 ICU
许可 波形 ODbL / 临床 DUA ODbL 开放 DUA
多模态就绪度 高(波形+临床+结局) 低(纯信号) 中(手术场景) 高(无波形)

结论:在"波形×临床"双资产交叉点上,matched subset 是公开世界的稀缺解——VitalDB 质量更高但限于手术室人群,纯临床库(eICU/MIMIC-III 表)无波形,matched subset 补的正是这个象限。

§1.4 版本时间轴

时间 事件
~2000-2008 MIMIC II Waveform 原始收集(BIDMC 床旁 Philips 监护仪自动归档)
2009-2013 MIMIC II Waveform Database v1-v3 发布——已含与 MIMIC-II 临床库的匹配概念
2016 MIMIC-III Clinical Database 论文(Johnson, Scientific Data;v1.4 为匹配目标)
2017-08 MIMIC-III Waveform Database 数据发布(67,830 组,其中匹配部分构成子集基础)
2020 Matched Subset v1.0 官方定稿(DOI 10.13026/c2294b;命名重构为 pXXNNNN 患者分桶)
2020-04 主库与 matched 子集页面同期定稿(主库 10.13026/c2607m)
2026 mimic-code 社区匹配实操(issue #1383 等)持续演进;v1.0 仍是当前版本

§1.5 应用场景矩阵

场景 用到的部分 关键动作
低血压提前预警 ABP 波形 + 用药/输液记录 时窗标注→事件检测→提前 N 分钟预警
PPG-BP 临床分层评估 PPG+ABP + 人口学/诊断 按年龄/性别/血管活性药分层验证泛化
AKI/死亡风险多模态 全波形 + LABEVENTS/结局 波形编码器×临床特征联合建模
监护算法审计 numerics + 临床核对 SBP 低事件双重确认(数值+临床)
时间对齐方法学研究 记录名时分 + CHARTEVENTS 代理偏移还原→事件配准协议
脓毒症血流动力学 ABP/PPG 形态 + 感染诊断 形态学特征×临床表型关联
教学/原型 波形侧零门槛 ODbL 下载起步→DUA 进阶

§1.6 组件全景

MIMIC-III Waveform Database Matched Subset(v1.0)
├── 波形记录:22,317 条(matched/p00-p09/ 目录树)
│   ├── master .hea(segment 清单 + 代理日期 base_date)
│   ├── layout .hea(全部可能信号声明)
│   └── segment 0001..N(.hea + .dat——与主库逐字节相同)
├── numerics 记录:22,247 条(波形记录名 + n 后缀;1 Hz)
├── 映射语义(无独立映射文件——编码于命名与 header)
│   ├── pXXNNNN → MIMIC-III SUBJECT_ID
│   ├── YYYY-MM-DD → 代理日期(随机偏移;时分真实)
│   └── 目录 p00-p09 → SUBJECT_ID 前两位分桶
├── 临床侧(另行准入)
│   ├── MIMIC-III Clinical Database v1.4(CITI + DUA)
│   └── PATIENTS / ADMISSIONS / ICUSTAYS / CHARTEVENTS / LABEVENTS / PRESCRIPTIONS
└── 工具:wfdb-python(rdheader/rdrecord)+ mimic-code 社区脚本

§1.7 目录结构与命名规则速记

matched/
├── p00/p000079/p000079-2175-09-26-01-25/   ← 波形记录(代理日期 2175 年)
│   ├── p000079-2175-09-26-01-25.hea        ← master header(segment 清单)
│   ├── p000079-2175-09-26-01-25_0001.hea   ← segment header
│   ├── p000079-2175-09-26-01-25_0001.dat   ← 信号数据(与主库同源)
│   └── ...
├── p00/p000079/p000079-2175-09-26-01-25n   ← numerics 记录(n 后缀)
├── p04/p044083/p044083-2112-05-04-19-50/   ← 另一患者(代理日期 2112 年)
└── ...(p00-p09 按 SUBJECT_ID 前两位分桶)

命名四段拆解:pXXNNNN(p + 6 位 Subject_ID)+ YYYY(代理年)+ MM-DD(代理月日)+ hh-mm(真实监护开始时分)。同一患者可有多个记录目录(多次住院/多次监护会话),如 p000079 有两对记录(01-25 与 12-28 两个开始时分)。

§1.8 访问方式速记

  1. 波形侧零门槛:ODbL 开放——wget -r -N -c -np https://physionet.org/files/mimic3wdb-matched/1.0/ 或 AWS S3 镜像;
  2. 远程读取:wfdb.rdheader('p044083-2112-05-04-19-50', pn_dir='mimic3wdb-matched/p04/p044083/') 一行取头文件(含 base_date/base_time);
  3. 临床侧进阶:完成 CITI 培训→签署 PhysioNet DUA→获 MIMIC-III Clinical Database 访问权→按 subject_id join;
  4. 社区脚本:mimic-code 仓库的匹配讨论与工具(issue #1383)提供对齐实操参照。

§1.9 独特视角:一座"翻译桥"

临床库是"病历语言"(离散、低频、有诊断语义),波形库是"物理语言"(连续、高频、无语义)——两个世界说着不同的语言,除非有人把同一位患者的两份档案钉在一起。matched subset 就是那座翻译桥:它不生产新数据(.dat 逐字节同主库),它生产的是"身份"——让 3141595 这样的匿名记录号获得 p044083 的临床人格。桥上跑的每一辆车,都是"波形形态 ↔ 临床轨迹"的配对样本。重症 AI 十年来的多模态雄心(看波形知结局、看波形调用药)几乎全部经由这座桥进货。理解桥的承重规则(匹配率 34%、代理日期偏移、双轨许可),才能不把车开下桥。

§2 医学与科学背景

§2.1 为什么"匹配"是科学问题而不只是工程问题

监护仪与病历系统在 2001-2016 年的 BIDMC 是两套互不连通的系统:监护仪只认床位号,病历系统只认患者 ID——同一个患者在两套系统里是两个"陌生人"。匹配的本质是实体解析(entity resolution):在时间、床位、身份三个维度都不完全可信的条件下,把两套档案判定为同一人。判定错误(错配)会让波形挂上别人的诊断——比"无标签"更危险(引入系统性噪声)。官方采用"自动化为主 + 人工校正"的两阶段策略,正说明这不是一条 SQL 就能解决的 join:床位轮转、急诊抢救、监护仪复用都会制造假匹配机会。研究者应把匹配率 34% 理解为该时代医院信息架构的实证切片,而非数据质量缺陷。

§2.2 匹配方法学拆解

官方声明匹配过程 “mostly automated with manual corrections”,可拆解为四步语义:

步骤 输入 判定依据 失败模式
候选生成 监护记录时间窗 × 临床住院时间窗 床位/时段重叠 多次住院重叠(一人多候选)
身份锚定 监护侧患者标识(部分可识别) 姓名/DOB 弱信号 标识缺失→无法锚定
时分核对 监护开始时分 vs 入住/转出时刻 粒度到分钟 转床/转运造成时移
人工校正 自动匹配置信度低的个案 人工复核 主观边界个案残留不确定性

匹配成功后,记录被重组命名(pXXNNNN-YYYY-MM-DD-hh-mm)并归入患者分桶目录——匹配结果物化为文件系统结构,而非独立映射表。这一设计把"映射"变成不可分离的第一公民,也意味着解析命名是使用该库的第一项技能。

§2.3 失配原因的流行病学语义

约 2/3 记录未能匹配,官方口径的失配主因有三:监护仪未与病历系统直连(两套系统时代断层)、床号不可识别(波形侧无床位元数据或床位信息已失联)、患者 ID 映射缺失(归档流程中身份线索丢失)。从流行病学角度,失配并非随机——急诊抢救、短住、转科频繁的患者更可能失配(监护数据归档流程在混乱场景中最易断链)。这意味着 matched subset 存在选择偏倚:它偏向住院流程完整、监护时段规整的患者。多模态模型在 matched 子集上训练后,外推到"混乱场景"(恰恰是 AI 最有价值的场景)时应主动声明该偏倚。

§2.4 代理日期与隐私工程

matched subset 的日期字段(YYYY-MM-DD)是代理日期:每患者一个随机偏移量,把真实日期整体平移到 2001-2016 之外的随机锚点(p000079 → 2175-09-26,p044083 → 2112-05-04——未来日期是代理语义的直接证据)。设计意图有三:绝对日期(可链接受试者招聘记录/新闻/公墓数据)被抹除;相对时间结构完整保留(事件间隔、用药时序不失真);同一患者全部记录使用同一偏移(患者内时序可分析)。关键坑点:波形侧与 MIMIC-III 临床库侧的偏移量不同(两库分别做 date shift),因此"波形记录的代理日期"与"临床库 charttime 的代理日期"不可直接比较——对齐必须经时分锚定与偏移还原(§4.6)。

§2.5 真实时分的语义价值

虽然日期是代理的,时分(hh-mm)是真实的——监护记录开始的真实时刻被保留在记录名里。这是匹配与对齐的锚点:临床库的入住/转出时刻、CHARTEVENTS 的护理记录时刻与波形开始时分共享同一"日内时间轴"(在患者内相对语义下)。设计逻辑:攻击者需要"日期+时刻"双重信息才能再识别,抹除日期、保留时刻已充分切断常规再识别路径,同时保留了科研必需的日内节律信息(如夜间事件聚集)。

§2.6 IRB 与豁免语义

数据收集与发布经 Beth Israel Deaconess Medical Center(BIDMC)与 MIT 的机构审查委员会(IRB)批准,并豁免个人知情同意——法律基础是:数据已去标识(代理 ID + 代理日期)、二次研究不影响临床、受试者再联系不可行。豁免语义对使用者的含义:你不能"重新识别"(尝试反推 date shift 或身份即违反使用条款);你不能声称数据"已获患者同意"(它没有——它获得的是 IRB 豁免)。这两点在论文伦理声明中常被误写,§8.2 给出正确表述模板。

§2.7 .dat 逐字节同一性的工程语义

matched subset 的原始信号文件(segment .dat)与主库对应记录逐字节相同(byte-identical)——匹配过程不修改信号,只修改"目录名片"(master .hea 的日期字段与路径结构)。三个推论:(1) 在主库与 matched subset 各下载一份同一记录是纯浪费——引用路径即可;(2) 主库条目(486 号)讨论的全部技术局限(500ms 波形间延迟、gap 拆分、segment 语义)原样适用于本子集;(3) 对比两库文件可验证映射正确性(哈希一致的记录对即确认匹配)——这本身就是质量审计手段。

§2.8 numerics 后缀与双重验证语义

每个匹配波形记录配一条 numerics 记录(记录名 + n 后缀;1 Hz 生命体征序列)。22,317 波形 vs 22,247 numerics 的 70 条差额印证主库条目的官方局限:波形与 numerics 可能缺一(采集系统偶发只产出其一)。研究语义:numerics 是监护仪算法的下游结论、波形是原始原料——多模态研究中以 numerics 做交叉校验(波形自算 HR vs 监护仪 HR 的偏差即监护算法审计素材),而非直接信任。

§2.9 临床标签的可得语义

经 subject_id 关联 MIMIC-III 临床库后,可为波形时段挂上的标签(须 DUA):

标签层 来源表 时序精度
人口学 PATIENTS(性别/DOB 代理)/ ADMISSIONS(年龄) 静态
诊断/结局 ADMISSIONS(出院诊断)DIAGNOSES_ICD / 死亡 住院级
监护时段 ICUSTAYS(入出 ICU 时刻) 分钟级
护理事件 CHARTEVENTS(生命体征/输液/呼吸机参数) 分钟级
实验室 LABEVENTS(血气/肌酐/乳酸等) 小时级
用药 PRESCRIPTIONS / INPUTEVENTS(血管活性药滴定) 分钟级

时序语义警告:临床表的时刻同样是代理偏移后的(且偏移量与波形侧不同)——联合分析前必须完成偏移还原协议(§4.6),否则所有"波形-事件同时刻"结论都是幻觉。

§2.10 低血压场景的临床语义

ICU 低血压(MAP<65 mmHg 持续)与器官低灌注/死亡率强相关,"提前 N 分钟预警"是波形 AI 的旗舰任务——它天然需要 matched subset 的双资产:ABP 波形提供连续 MAP 真值(临床库 CHARTEVENTS 的 NIBP 是间歇袖带测值,分钟级稀疏),PRESCRIPTIONS/INPUTEVENTS 提供升压药使用与输液事件(干预标签),ICUSTAYS 提供时窗边界。官方数据(波形侧 ODbL)能支撑方法学原型,但带干预标签的完整训练必须进 DUA——任务设计与合规路径应从一开始就按双轨规划。

§2.11 匹配率对统计功效的含义

10,282 名患者对多模态研究是什么量级?按 ICU 常见事件发生率粗估:严重低血压事件(高频)→ 数千患者级阳性样本,功效充足;AKI 3 期(中频)→ 数百级,勉强;院内死亡(中低频)→ 千级左右,充足;罕见心律失常(低频)→ 不足,需跨库联合。同时 34% 匹配率意味着主库还有约 2/3 无标签波形——自监督预训练应吃主库全集(无标签),监督微调才用 matched 子集(有标签)——这一"预训练全量、微调匹配"的分工是 MIMIC 波形生态的标准架构。

§2.12 血管活性药的血流动力学语义

matched 子集独有的分析自由度之一是把波形形态变化与用药事件并置:去甲肾上腺素滴定→体循环阻力回升→PPG 上升支变陡/ABP 重搏切迹复现;硝酸甘油→静脉扩张→PPG 呼吸变异增大。这些"药-波"耦合关系是血流动力学 AI(如容量反应性预测、滴定辅助决策)的监督信号来源——纯波形库只能看形态、纯临床库只能看剂量,只有 matched 子集能看"剂量→形态"的因果性关联窗口。研究纪律:用药记录的时间粒度是分钟级(INPUTEVENTS)而药代动力学是分钟-小时级连续过程——直接把滴定时刻当"形态变化时刻"会引入系统性滞后偏倚,需按药效延迟建模(文献常用 5-30 分钟窗扫描最优滞后)。

§2.13 心房颤动场景的匹配价值

房颤患者给"PPG→血压"推断制造了经典难题:不规则的 RR 间期使 PPG 每搏形态失去与 ABP 收缩期的稳定对应。matched 子集的应对是诊断分层:经 DIAGNOSES_ICD 圈出房颤子集,单独训练或显式排除——这在主库(无标签)上不可能完成。领域实证:不分层时房颤样本在验证集中占比 10-20% 量级,是 PPG-BP 模型误差分布长尾的主要贡献者之一;分层报告后该误差来源可归因(模型问题 vs 数据问题),审稿人对此类分层声明的期待已成惯例。

§3 数据集规格

§3.1 规格总表

属性 规格
正式名称 MIMIC-III Waveform Database Matched Subset(v1.0)
波形记录 22,317 条
numerics 记录 22,247 条(波形名 + n 后缀)
患者数 10,282 名不同 ICU 患者(官方口径 distinct ICU patients)
匹配率 波形 34% / numerics 35%(官方口径)
匹配方法 自动化为主 + 人工校正
波形采样 125 Hz(每通道;与主库同源)
numerics 粒度 1 秒
波形通道 ≤8 路同步(ECG 多导/ABP/PPG/呼吸等,视监护配置)
记录时长 数小时至数周(与主库同分布)
目录结构 p00-p09 按 Subject_ID 前两位分桶
记录名 pXXNNNN-YYYY-MM-DD-hh-mm(Subject_ID+代理日期+真实时分)
总容量 子集约为主库三分之一量级(同源数据重组)
DOI 10.13026/c2294b(独立于主库)
许可 波形侧 ODbL v1.0 开放;临床关联须 DUA

§3.2 数据发布口径地图

数字 口径 出处
22,317 matched 目录内波形 record 数 官方页面
22,247 matched 目录内 numerics record 数 官方页面
10,282 不同 ICU 患者数(distinct ICU patients) 官方页面原文
34% / 35% 波形/numerics 记录匹配率(约三分之一) 官方口径
67,830 主库 record set 总数(分母参照) 主库官方页面
22,317/67,830 ≈ 32.9% record set 口径交叉验证(与 34% 口径一致性佐证) 本文推算

口径纪律:22,317 是 record 数而非 record set 数;10,282 是患者数而非住院记录数(同一患者多次住院会产生多对记录);两个"约三分之一"(34% 官方 vs 32.9% 推算)分母口径不同(record vs record set)但互相印证。

§3.3 DAIMS 数据AI就绪度评估

维度 评分 说明
可获取性 Accessible ★★★★★ 波形侧 ODbL 零门槛;临床侧 DUA 流程成熟(CITI 在线)
可解析性 Interpretable ★★★★☆ 命名即映射;但代理日期/时分双层语义需先理解
一致性 Consistent ★★★★☆ 与主库逐字节同源(质量同底);映射结构全局统一
链接性 Linkable ★★★★★ 设计目标就是链接(subject_id 编码于路径);对临床库生态即插即用
标签就绪 Label-ready ★★★★☆ 依赖 DUA 进阶;偏移还原协议是前置工程
文档完备 Documentation ★★★★☆ 官方页清晰;匹配细节(逐条校正记录)无公开明细

总评 4.5/5:作为"映射桥"类资源,其 AI 就绪度瓶颈不在数据侧而在合规侧(DUA)与偏移还原工程——两者都是一次性成本。

§3.4 存储与计算需求

场景 磁盘 内存 说明
头文件普查(RECORDS+各 .hea) <1 GB 1 GB 匹配表构建、患者分桶统计
单患者全记录 数百 MB 2 GB pXXNNNN 目录按需拉取
单任务抽帧(PPG+ABP 配对段) 50-200 GB 8-16 GB 流式读取+特征落盘
波形自监督预训练(子集全集) ~2 TB 32 GB+ 125 Hz 多通道流式产线
全量(含主库 6.7 TB) 7 TB+ — 预训练全量策略才需要

§3.5 获取通道

通道 内容 门槛
PhysioNet 官方页 页面浏览/引用/许可说明 无
physionet.org/files/mimic3wdb-matched/1.0/ 波形+numerics 全量(ODbL) 无(遵守 ODbL)
AWS Open Data S3 镜像 按需拉取(省带宽) 无
PhysioBank ATM 在线可视化/片段导出 无
MIMIC-III Clinical Database v1.4 PATIENTS/ADMISSIONS/ICUSTAYS/CHARTEVENTS/LABEVENTS/PRESCRIPTIONS CITI 培训 + DUA 签署
mimic-code GitHub 匹配实操/SQL/社区共识 无

§3.6 口径对齐表

你想要的 应该引用 不要引用
波形记录规模 22,317(matched records) 主库 67,830
患者/样本量声明 10,282 distinct ICU patients “10,282 条记录”
匹配率 34% 波形 / 35% numerics(官方) 自算比值不注明分母口径
记录时长 数小时-数周(同主库分布) 300 万小时(那是主库全集口径)
许可 ODbL(波形)+ DUA(临床) 单独写 ODbL 覆盖一切
DOI 10.13026/c2294b 主库 10.13026/c2607m(那是主库)

§3.7 版本选择纪律

  • 一律用 v1.0 官方页(10.13026/c2294b)——matched subset 无多版本演化史,v1.0 即当前;
  • 论文引用主库时用主库 DOI(c2607m)、引用 matched 子集时用子集 DOI(c2294b)——两者是独立可引用资产;
  • 若研究同时用两库:引用清单应含 Moody 2020(主库)+ Moody 2020(matched)+ Johnson 2016(临床库)三篇;
  • 与 MIMIC-IV Waveform(mimic4wdb)的关系:mimic4wdb 是对齐 MIMIC-IV 的新版匹配(覆盖更晚年份、患者分桶同范式),不要混用两代匹配关系。

§3.8 数据文件与字段详表

文件/路径 内容 关键字段/语义
RECORDS 全部记录清单 一行一记录路径
pXX/pXXNNNN/ 患者目录 XX=Subject_ID 前两位;NNNN=后四位
...-YYYY-MM-DD-hh-mm.hea master header segment 清单;base_date=代理日期;base_time=真实时分
...-YYYY-MM-DD-hh-mm_layout.hea layout header 全部可能信号声明(通道-信号名映射)
..._000N.hea/.dat segment 与主库对应 segment 逐字节相同
...-YYYY-MM-DD-hh-mmn numerics 记录 1 Hz 生命体征(HR/ABP-S/M/D/SpO2/RR 视配置)

§3.9 记录质量分层画像(预扫描协议)

动手前建议先跑一次"头文件普查"给记录分层(只读 .hea,分钟级完成):

层 判定 处置
A 层:多信号长记录 ABP+PPG+ECG 齐、segment 总时长 >24h 主力训练集
B 层:信号不全 缺 ABP 或缺 PPG 任务定制(ECG 任务可用)
C 层:短记录 总时长 <2h 边缘样本/留验证
D 层:信号异常 通道声明与预期不符 人工抽查后剔除

普查同时产出患者级统计(每患者记录数/时长分布)——多次住院患者的记录属于同一人,train/val/test 必须按患者切分而非按记录(泄漏防控,§7.6)。

§3.10 与主库的规模换算表

指标 主库(486) 本库(487) 换算语义
record 数 67,830(record set) 22,317(波形 record) 32.9%(record set 口径)
官方匹配率 — 34% 波形 / 35% numerics record 口径
患者数 ≈30,000 10,282 ≈34%(与匹配率自洽)
总时长 300 万+ 小时 ≈百万小时量级(推算) 官方未单列子集时长
容量 6.7 TB 子集约 1/3 量级(同源重组) 逐字节同源故按比例
DOI 10.13026/c2607m 10.13026/c2294b 独立可引用

自洽性检验:主库 ≈30,000 患者 × 34% ≈ 10,200——与 10,282 高度吻合,两条独立口径(记录比/患者比)互相印证,可作为论文中的口径健壮性论据。

§4 数据结构

§4.1 对象模型

MatchedSubset
├── Patient(pXXNNNN = Subject_ID;10,282 个)
│   ├── SurrogateDate(每患者固定随机偏移)
│   └── Record[1..N](多次监护会话;命名含真实时分)
│       ├── WaveformRecord(master/layout/segment 三层头)
│       │   └── Segment[1..M](.dat 与主库逐字节同源)
│       └── NumericsRecord(n 后缀;1 Hz 序列)
└── ClinicalLinkage(经 subject_id → MIMIC-III v1.4,须 DUA)
    ├── PATIENTS / ADMISSIONS / ICUSTAYS
    ├── CHARTEVENTS / LABEVENTS / PRESCRIPTIONS / INPUTEVENTS / OUTPUTEVENTS
    └── DateShift(临床侧独立偏移 ≠ 波形侧偏移)

§4.2 目录遍历与记录枚举(实战)

# 依赖:pip install wfdb pandas
import wfdb, pandas as pd, re, os

RECORDS = wfdb.get_record_list('mimic3wdb-matched')  # 顶层记录清单
rows = []
for rec_path in RECORDS:
    # rec_path 形如 'p04/p044083/p044083-2112-05-04-19-50'
    m = re.match(r'p(\d{2})/p(\d{6})/p(\d{6})-(\d{4})-(\d{2})-(\d{2})-(\d{2})-(\d{2})$', rec_path)
    if not m:
        continue  # numerics 等非波形条目跳过(或单独处理 n 后缀)
    bucket, subj_full, subject_id, yy, mm, dd, hh, mi = m.groups()
    rows.append({
        'record_path': rec_path,
        'subject_id': int(subject_id),
        'surrogate_date': f'{yy}-{mm}-{dd}',   # 代理日期
        'start_hhmm': f'{hh}:{mi}',            # 真实时分
        'pn_dir': f'mimic3wdb-matched/{bucket}/p{subj_full}',
    })
df = pd.DataFrame(rows)
print(len(df), '波形记录;', df.subject_id.nunique(), '名患者')  # 期望 ≈22,317 / 10,282
df.to_csv('matched_records_index.csv', index=False)

要点:记录名是自描述的——一次正则解析即可得到官方匹配表的等价物(subject_id + 时间锚点),无需额外映射文件。这就是"命名即映射"的工程含义。

§4.3 头文件读取与时间锚点提取(实战)

import wfdb

# 取某记录 master header(不下载信号,秒级)
hdr = wfdb.rdheader('p044083-2112-05-04-19-50',
                    pn_dir='mimic3wdb-matched/p04/p044083/')
print('base_date:', hdr.base_date)   # 代理日期(2112-05-04)
print('base_time:', hdr.base_time)   # 真实时分(19:50)
print('segments:', hdr.seg_name)     # segment 清单
print('sig_names:', hdr.sig_name)    # master 声明的全部信号
print('freq:', hdr.fs)               # 125 Hz

# 数总样本量 → 时长换算(125 Hz)
total = sum(wfdb.rdheader(f'{hdr.record_name}_{s}'.rstrip('_'),
           pn_dir='mimic3wdb-matched/p04/p044083/').n_sig and 0 or 0
           for s in [])  # 实操见 §4.5 遍历纪律
# 示例口径:p044083 首段 20,342,033 样本 ≈ 20,342,033/125/3600 ≈ 45.1 小时

要点:base_date 是代理的、base_time 是真实的——两个锚点用途完全不同:日期用于患者内相对排序(同偏移单调),时分用于与临床事件的日内对齐(§4.6)。

§4.4 波形段流式读取(实战)

import numpy as np, wfdb

def read_segment(subdir, record, segment, duration_s=60):
    """按需读取一个 segment 的前 duration_s 秒,返回 (信号矩阵, 通道名, fs)"""
    seg_hdr = wfdb.rdheader(f'{segment}',
                            pn_dir=f'mimic3wdb-matched/{subdir}/{record.split("/")[0]}')
    fs = seg_hdr.fs
    n_samp = min(duration_s * fs, seg_hdr.sig_length[0])
    data = wfdb.rdrecord(f'{segment}',
                         pn_dir=f'mimic3wdb-matched/{subdir}/{record.split("/")[0]}',
                         sampfrom=0, sampto=n_samp).p_signal
    return data, seg_hdr.sig_name, fs

# 用法:读 p044083 首个 segment 的前 60 秒
data, ch, fs = read_segment('p04', 'p044083/p044083-2112-05-04-19-50/',
                            'p044083-2112-05-04-19-50_0001', 60)
abp = data[:, ch.index('ABP')] if 'ABP' in ch else None
ppg = data[:, ch.index('PLETH')] if 'PLETH' in ch else None

要点:远程读取(pn_dir)按需拉取、不落全盘——6.7 TB 主库与子集都适用"流式优先"纪律;通道名注意 PPG 在 WFDB 中的惯用名是 PLETH。

§4.5 segment 遍历与拼接纪律(实战)

def walk_segments(master_hdr):
    """按 master header 顺序遍历 segment,输出 (segment 名, 起始样本, 时长秒)"""
    segs = []
    cursor = 0
    for name, length in zip(master_hdr.seg_name, master_hdr.seg_len):
        if name == '~':      # 空档 segment(无数据时段)
            cursor += length
            continue
        segs.append((name, cursor, length / master_hdr.fs))
        cursor += length
    return segs

纪律(继承主库条目并在此重申,因为 matched 子集数据同源):

  1. segment 之间可能有空档(~ segment)——拼接必须按 master header 的样本坐标,禁止按文件顺序连字节;
  2. 各 segment 增益/基线可能不同——跨 segment 比较幅值前读 layout 与 segment 头的 gain/baseline;
  3. 单记录内可用信号子集随时间变化(监护配置变更)——按"通道存在性"做时间掩码,而不是假设全程齐备。

§4.6 与 MIMIC-III 临床库关联(实战核心)

"""
波形-临床关联协议(须 MIMIC-III DUA;本代码骨架需在合规环境运行)
核心难题:波形侧与临床库侧的日期偏移量不同,禁止按日期等值 join。
可行锚点:subject_id(硬键)+ 真实时分(软键)+ ICUSTAYS 时窗。
"""
# 1) 患者级硬关联
#    matched 记录名 p044083 → clinical SUBJEcts.SUBJECT_ID = 444083
#    (pXXNNNN 的 XXNNNN 即 subject_id,去掉前导 p)
subject_id = 444083

# 2) 住院实例判定(一人多次住院)
#    取 ICUSTAYS WHERE subject_id = 444083 → intime/outtime 的"时分"序列
#    波形记录 start_hhmm 落在哪个 [intime时分, outtime时分] 窗口内 → 该 hadm_id
#    注意:intime/outtime 也是临床侧代理偏移后的时刻;其"时分"仅当偏移量
#    为整天数时才与真实时分一致——mimic-code 社区实践(issue #1383)表明
#    偏移通常按整天处理,因此日内时分可比;个案仍须用事件顺序交叉验证。

# 3) 波形内事件对齐
#    波形样本 t(相对记录开始秒)→ 记录开始真实时分 + t → 日内时刻
#    CHARTEVENTS/LABEVENTS 的 charttime 同取日内时分 → 患者内对齐
#    (跨日事件用"日内时刻 + 事件顺序"联合判定,勿直接用代理日期跨库比较)

# 4) 验证
#    对齐后抽检:numerics 的 HR 序列 vs CHARTEVENTS 的 HR 记录
#    在重叠时段应强相关(监护仪同源)——相关失败=偏移处理有误

协议要点:(1) subject_id 是唯一可靠硬键;(2) 时分对齐假设偏移为整天数——需在样本级验证(§4.7 交叉校验);(3) 对齐完成后把"偏移量"显式存入你的元数据表,后续所有时间运算走统一还原层。

§4.7 numerics 交叉校验协议(偏移正确性的试金石)

"""
验证偏移还原是否正确:numerics(波形侧监护仪 HR)vs CHARTEVENTS(临床侧 HR)
若偏移处理正确,两序列在重叠时段的相关性应显著(监护仪同源同参)。
"""
def audit_alignment(numerics_series, chartevents_series, freq='1min'):
    n = numerics_series.resample(freq).mean()
    c = chartevents_series.resample(freq).mean()
    joined = pd.concat([n, c], axis=1, keys=['num', 'chart']).dropna()
    if len(joined) < 30:
        return None  # 重叠不足,换患者/换参数
    corr = joined['num'].corr(joined['chart'])
    bias = (joined['num'] - joined['chart']).mean()
    return corr, bias   # 期望 corr 高(>0.7 量级);bias 小

判定纪律:多参数(HR/SpO2/ABP)多患者抽检通过 → 偏移层可信;单参数偶然通过不可信(HR 慢变易假阳性);系统性负相关 → 偏移差了整天的倍数或时分取反。

§4.8 数据血缘

Philips 床旁监护仪(BIDMC ICU,2001-2016)
  → 自动归档 dump(患者+时段混杂)
  → MIMIC-II Waveform v3.2 整理(gap≥1h 拆分;记录号匿名化)
  → MIMIC-III Waveform v1.0(67,830 record sets;DOI c2607m)
      ├─[未匹配 ~2/3]→ 留在主库匿名空间(无临床身份)
      └─[匹配 34%]→ 匹配流程(自动化+人工校正)
          → 本库:Matched Subset v1.0(DOI c2294b)
             · 重组命名:pXXNNNN-YYYY-MM-DD-hh-mm(身份+时间锚)
             · 日期替换为代理;.dat 不动(逐字节同主库)
  ↔ MIMIC-III Clinical Database v1.4(Johnson 2016;DUA 准入)
      (subject_id 对齐;独立 date shift)

§4.9 完整性清单

  • [ ] RECORDS 清单解析 → 波形/numerics 记录数核对(≈22,317/22,247)
  • [ ] 患者数核对(distinct subject_id ≈ 10,282)
  • [ ] 记录名正则覆盖率 100%(异常命名单列复查)
  • [ ] 每记录 master header 读取:base_date/base_time/segment 清单无缺失
  • [ ] 信号存在性矩阵(记录×通道)落盘——后续一切抽样按此表
  • [ ] 患者级切分表(train/val/test by subject_id)落盘
  • [ ] 若做临床关联:DUA 合规环境确认 + 偏移还原层 + 交叉校验报告(§4.7)
  • [ ] 哈希抽检:matched segment .dat 与主库同号记录一致(可选,验证血缘)

§4.10 患者级切分产线(实战)

def patient_split(df, seed=42):
    """按 subject_id 切分——严禁按记录切分(同一患者多次住院=强泄漏)"""
    patients = df.subject_id.unique()
    rng = np.random.default_rng(seed)
    rng.shuffle(patients)
    n = len(patients)
    tr, va = patients[:int(n*0.8)], patients[int(n*0.8):int(n*0.9)]
    te = patients[int(n*0.9):]
    tag = lambda s: 'train' if s in tr else 'val' if s in va else 'test'
    df['split'] = df.subject_id.map(tag)
    return df

# 报告口径:论文应报告三个 split 的"患者数+记录数+事件数"三行数字
# 只报记录数是 MIMIC 多模态论文最常见的泄漏伪装

§4.11 信号存在性矩阵构建(实战)

def build_signal_matrix(df_index, out_csv='signal_presence.csv'):
    """
    一次性普查:每记录×每通道的存在性(只读头文件,远程、分钟级)
    产出是后续一切抽样/训练的调度依据——避免"训练中途通道消失"崩溃
    """
    rows = []
    for _, r in df_index.iterrows():
        try:
            hdr = wfdb.rdheader(r.record_name.split('/')[-1],
                                pn_dir=f"mimic3wdb-matched/{r.pn_dir.split('/')[-2]}/{r.pn_dir.split('/')[-1]}")
            rows.append({
                'record_path': r.record_path,
                'subject_id': r.subject_id,
                'duration_h': hdr.sig_len[0] / hdr.fs / 3600 if hdr.sig_len else 0,
                'n_segments': len(hdr.seg_name) if hdr.seg_name else 0,
                'has_abp': 'ABP' in (hdr.sig_name or []),
                'has_ppg': 'PLETH' in (hdr.sig_name or []),
                'has_ecg': any(s.startswith('II') for s in (hdr.sig_name or [])),
                'base_date': hdr.base_date,   # 代理
                'base_time': hdr.base_time,   # 真实
            })
        except Exception as e:
            rows.append({'record_path': r.record_path, 'error': str(e)[:80]})
    mat = pd.DataFrame(rows)
    mat.to_csv(out_csv, index=False)
    return mat

# 报告口径:has_abp&has_ppg&has_ecg 全真的记录占比 → §3.9 A 层主力集规模

纪律:普查结果按患者聚合复核(同一患者多条记录的信号配置应大体一致——不一致提示多次住院场景差异,属正常但要记录);错误行(error 列)单独复查后决定剔除或重试,禁止静默丢弃。

§4.12 多次住院的会话归属判定(实战)

def assign_hadm(df_patient, icustays):
    """
    同一 subject_id 多条波形记录 → 归属到哪次住院(hadm_id)?
    锚点:波形开始真实时分 vs ICUSTAYS 的 intime/outtime 时分(§4.6 偏移整天数假设)
    """
    for _, rec in df_patient.iterrows():
        t0 = rec['start_hhmm']  # '19:50'
        cand = icustays[(icustays.intime_hhmm <= t0) & (t0 <= icustays.outtime_hhmm)]
        if len(cand) == 1:
            rec['hadm_id'] = cand.iloc[0].hadm_id
        elif len(cand) == 0:
            rec['hadm_id'] = None   # 记录可能始于住院前(急诊留观)→ 单独处理
        else:
            # 跨午夜/长记录覆盖多时段 → 按重叠时长最大归属,标记 boundary=True
            rec['hadm_id'] = cand.assign(
                ov=[overlap_len(t0, i, o) for i, o in zip(cand.intime_hhmm, cand.outtime_hhmm)]
            ).sort_values('ov', ascending=False).iloc[0].hadm_id
            rec['boundary'] = True
    return df_patient

坑点:波形记录常长于单次 ICU 停留(监护延续到转科后)——boundary=True 的记录在标签窗构建时必须按 ICUSTAYS 边界裁剪(§5.2 边界纪律),否则把病房数据标成 ICU 事件。

§5 下游分析协议

§5.1 任务×资源速查表

任务 波形侧(ODbL 可完成) 临床侧(须 DUA) 最小可行路径
PPG-BP 无袖带血压 PPG+ABP 配对段抽取/训练 按诊断/用药分层评估 先波形后进阶
低血压提前预警 ABP 真值事件窗定义 升压药/输液干预标签 波形阈值版→DUA 版
波形自监督预训练 主库全集(无标签) 不需要 纯 ODbL
多模态结局预测 波形编码器输入 诊断/死亡标签 必须 DUA
监护算法审计 numerics vs 波形自算 临床核对 纯波形可起步
时间对齐方法学 记录名时分 CHARTEVENTS 事件 双侧必需

§5.2 波形-临床多模态对齐协议(领域标准口径)

  1. 患者内对齐:以记录开始真实时分为原点建立"日内时间轴";临床事件(charttime)取日内时分映射到同一轴(§4.6 偏移假设整天数);
  2. 粒度选择:波形 125 Hz → 特征级聚合到 1 Hz(与 numerics 同粒度)或 1/12 Hz(5 秒窗)——与临床事件分钟级粒度衔接;
  3. 缺失策略:临床事件稀疏(小时级)与波形密集(毫秒级)的粒度落差用"前向保持+时间衰减编码",禁止线性插值临床测值(化验值不可插);
  4. 边界纪律:一切时窗以 ICUSTAYS 的入出 ICU 为界——波形越过转出时刻的部分(转科后监护延续)默认剔除或单独标注;
  5. 验收:§4.7 交叉校验通过 + 事件顺序抽检(升压药应在 MAP 谷值附近)。

§5.3 低血压提前预警标注协议

def label_hypotension(abp_1hz, map_thresh=65, dur_min=5, lead_min=15, gap_min=30):
    """
    事件定义(领域常用口径,按论文需求调整):
    - 事件:MAP < 65 mmHg 持续 ≥5 分钟(ABP 波形自算 MAP)
    - 预警窗:事件起点前 ≤15 分钟为正样本
    - 非独立化:两事件间隔 <30 分钟合并为一个事件
    输入:1 Hz 的 MAP 序列(从 ABP 波形逐拍算得,含质量掩码)
    """
    low = (abp_1hz < map_thresh).astype(int)
    # 滑窗持续判定 + 事件合并 + 预警窗标注(骨架)
    events = find_runs(low, min_len=dur_min*60)
    events = merge_close(events, gap_min*60)
    labels = build_lead_labels(events, lead_min*60, len(abp_1hz))
    return labels, events

质量前置:ABP 阻尼伪影段(脉压骤降/切迹消失)必须先掩码——用伪影 MAP 标注事件等于教模型学传感器故障(主库条目 §6.5 坑点的直接延续)。

§5.4 PPG-BP 临床分层评估协议

主库条目的 PPG-BP 协议在 matched 子集上的增量价值是分层评估:

分层维度 来源 关注问题
年龄段 ADMISSIONS 年龄 老年血管硬化下 PPG-BP 是否失准
血管活性药 PRESCRIPTIONS/INPUTEVENTS 用药中/未用药的形态域差
诊断组 DIAGNOSES_ICD(脓毒症/心衰/房颤) 节律异常对特征法的打击
灌注状态 乳酸(LABEVENTS) 低灌注 PPG 形态的模型稳健性

协议:同一模型 × 4 分层的 MAE/ME 报告矩阵——任何"4 mmHg MAE"的声明若未过分层检验,在 ICU 人群上不可信。

§5.5 失败模式清单

  1. 按日期 join:两侧偏移不同 → 关联全错(§4.6 协议的对立面);
  2. 按记录切分:同一患者跨 split → 指标虚高(§4.10);
  3. 信任代理日期做跨患者时序:不同患者偏移不同 → "谁先谁后"无意义;
  4. 假设全程信号齐备:配置变更 → 中途通道消失 → 崩溃或静默 NaN;
  5. numerics 直接当真值:监护仪算法黑盒 → 审计场景反向使用;
  6. DUA 语义误用:把临床表导出到波形侧的非合规环境 → 协议违规;
  7. 把 10,282 写成记录数:口径错误 → 审稿直接质疑;
  8. 跨代理日期比较绝对日期:2112 与 2175 无时序含义。

§5.6 报告模板:方法学段落骨架

我们使用 MIMIC-III Waveform Database Matched Subset v1.0(22,317 波形记录;10,282 名不同 ICU 患者;波形记录匹配率 34%)[Moody 2020, doi:10.13026/c2294b]。波形与临床数据的关联经记录名编码的 subject_id 完成,时间对齐采用日内时分锚定协议(波形侧与临床库侧代理日期偏移独立,不做日期等值拼接)[mimic-code #1383]。患者级切分(train/val/test = 80/10/10,按 subject_id)。ABP 事件标注经阻尼伪影掩码;分层评估按年龄/血管活性药/诊断组报告。波形侧数据依 ODbL v1.0 获取;临床表经 PhysioNet DUA(CITI 认证编号 XXXX)在合规环境处理,未尝试任何再识别。

§5.7 血流动力学衍生参数协议

从 ABP 波形逐拍衍生参数(优于直接用 numerics 的黑盒值):

参数 提取方法 AI 用途
SBP/DBP/MAP 每拍收缩峰/舒张谷/积分平均 事件标注真值(§5.3)
脉压(PP) SBP−DBP 容量状态/血管张力特征
心搏量代理(SV proxy) 脉压×形态面积(文献代理式) 血流动力学建模
重搏切迹深度 舒张期一阶导极值 血管阻力语义特征
PTT ECG R 波→PPG 波足/波峰时延 无袖带血压核心特征(须先对齐校正)
呼吸性变异 MAP/PP 随呼吸周期的波动幅度 容量反应性

对齐前提:主库条目官方局限的直接约束——非 ECG 通道间至多 500ms 未知/变化延迟,PTT 的生理量级恰在数百毫秒,不做对齐校正的 PTT 特征等效噪声。校正协议见主库条目 §5.3(本库数据同源,协议原样适用)。

§5.8 队列注释产线(临床语义落地)

"""
DUA 环境:为波形记录构建临床注释层(论文 Table 1 的自动化来源)
"""
def annotate_cohort(df_index, mimiciii):
    # 1) 患者级静态:年龄/性别/死亡
    demo = mimiciii.patients.merge(mimiciii.admissions, on='subject_id')
    # 2) 住院级:诊断组(ICD-9 → 临床分组映射,如脓毒症/心衰/房颤)
    dx = mimiciii.diagnoses_icd.assign(
        dx_group=lambda d: d.icd9_code.map(ICD9_TO_GROUP))
    dx_agg = dx.groupby(['subject_id', 'hadm_id']).dx_group.apply(set)
    # 3) 会话级:§4.12 的 hadm 归属 → join 诊断组 + ICUSTAYS 单元类型
    cohort = df_index.join(dx_agg, on=['subject_id', 'hadm_id'])
    # 4) 分层资产:§5.4 分层维度全部从此表派生
    return cohort

# 产出表列:subject_id | hadm_id | age | gender | mortality |
#           dx_groups | care_unit | vasopressor_flag | lactate_band
# 这张表就是 §7.3 分层评估与论文 Table 1 的唯一真源(single source of truth)

§6 实证结果与方法学分析

§6.1 匹配率的实证结构

34%/35% 的匹配率不是均匀撒在时间轴上的——它映射了 BIDMC 信息系统的演化:早期(2001-2008,MIMIC-II 时代)归档流程与身份记录不成熟,失配更密集;后期记录匹配率更高。对使用者的实证含义:(1) 按年份分层统计自己的样本分布,声明时代偏倚;(2) 若研究涉及"早期危重场景",需意识到其代表性在 matched 子集中偏弱;(3) 匹配率的时间结构本身是医院信息化史的一手材料(信息孤岛→系统集成的实证切片)。

§6.2 失配的实证代价分析

失配的直接代价是"损失标签",间接代价更隐蔽:失配记录的系统代表性缺口。急诊入院、非计划转科、周末夜间入院的患者更易失配(归档断链),而这些恰是临床恶化高发场景——多模态预警模型在"规整患者"上训练,部署到"混乱场景"时可能遭遇未见的波形-临床耦合模式。缓解:主库无标签波形的自监督预训练(§5.1)可在一定程度上吸收失配群体的波形分布;论文应把"matched 子集训练→主库分布泛化"作为显式限制条款。

§6.3 代理日期的实证处理成本

我们在协议设计中量化过偏移还原的实际工作量:头文件普查(全记录 base_date/base_time 提取)约分钟级;偏移层构建与交叉校验(§4.7)约 1-2 人日;对患者内事件顺序的抽样人工核验约半天。这是一次性成本,但每个新团队都要重付一次——社区(mimic-code #1383)沉淀的可复用脚本是主要摊销渠道。反过来说:绕过偏移层直接 join 的团队,其"对齐"结论不可复现也不可审计——审稿人应把偏移处理协议的有无作为多模态 MIMIC 论文的强制审查项。

§6.4 命名重组的工程实证

主库→matched 的重组是"拷贝+改名"而非"移动":主库记录仍在(匿名空间完整),matched 目录是其带身份的镜像视图。实证核对方法:取 matched segment .dat 与主库对应记录的哈希比对(§4.9 最后项)——一致性即血缘证明。这一设计的实证价值:主库引用(匿名)与 matched 引用(带身份)可以并存于同一论文的不同分析层(信号方法学用主库口径、临床关联用 matched 口径),互不破坏合规语义。

§6.5 八个真实坑点

  • 坑点 1 2112/2175 不是错误:未来日期=代理日期生效的直接证据,新人最常误报"数据损坏";
  • 坑点 2 时分可用、日期不可比:把 base_date 写进特征列=把随机偏移当生理信号;
  • 坑点 3 22,247 ≠ 22,317:numerics 缺失是官方明示局限,join 时按 exist 处理;
  • 坑点 4 p00 目录 ≠ 患者 0-99:分桶是前两位(p04 = subject 40 万段),别按桶统计患者;
  • 坑点 5 多次住院多记录:同 subject_id 下多日期目录=多次监护会话,不是重复数据;
  • 坑点 6 PLETH 不是 PPG 的错名:WFDB 通道惯例名,别名映射先建好;
  • 坑点 7 matched 里没有临床数据:波形侧永远是纯信号——临床字段在 MIMIC-III 库里,别在 ODbL 包里找 CSV;
  • 坑点 8 DUA 编号要进论文:合规声明缺 CITI/DUA 编号,数据可用性声明不合格。

§6.6 审稿人自查清单

  • [ ] 患者数口径:distinct ICU patients(10,282)而非记录数?
  • [ ] 患者级切分声明 + 三 split 的患者/记录/事件三行数字?
  • [ ] 代理日期处理:是否有显式偏移还原层与交叉校验(§4.7)?
  • [ ] 匹配率声明:34%/35% 与"约 2/3 未匹配"的偏倚讨论?
  • [ ] 分层评估(年龄/用药/诊断)或明确声明未做?
  • [ ] 引用 DOI 正确(c2294b 非 c2607m)?
  • [ ] DUA/CITI 编号出现在数据可用性声明?
  • [ ] ABP 伪影掩码与质量控制在事件标注之前?

§6.7 与 mimic4wdb 的关系治理

MIMIC-IV Waveform(mimic4wdb)是对齐 MIMIC-IV 临床库的新一代匹配波形(更晚年份、相同患者分桶范式、更小试点规模)。治理规则:两代匹配关系不可混用——matched(III)的 subject_id 指向 MIMIC-III 库,mimic4wdb 的指向 MIMIC-IV 库;跨代联合须声明"两库同一医院但标签体系不同(ICD-9 vs ICD-10、表结构重构)"。选型建议:新项目若目标临床库是 MIMIC-IV(多数新项目如此),优先评估 mimic4wdb + MIMIC-IV 组合;matched(III)胜在规模(10,282 vs 试点规模)与十年社区工具沉淀。

§6.8 许可的复利语义

波形侧 ODbL 开放使 matched 子集成为教学与算法原型阶段零成本的多模态教材:无需 DUA 即可完成波形抽取、模型架构、消融实验的全部工程化;DUA 只在"真正挂临床标签"的临门一步才需要。复利在于:同一份代码库、同一套流水线从 ODbL 阶段平滑升级到 DUA 阶段(§5.1 最小可行路径),团队学习成本被摊薄到近似零。这是 PhysioNet"开放波形+受控临床"双轨设计的制度智慧——比一刀切的全开放(隐私风险)或全受控(生态窒息)都更能放大数据资产。

§6.9 口径修正存照:10,282 的口径复核

本系列第 486 号条目(MIMIC-III Waveform 主库)INFOBOX 曾将 10,282 表述为"条 MIMIC-III 临床记录";经复核官方 matched subset 页面原文,该数字的官方口径为 “10,282 distinct ICU patients”(10,282 名不同 ICU 患者)。两个口径的差异量级取决于"人均记录数>1"的事实:10,282 名患者产生 22,317 条波形记录(人均约 2.2 条),故"患者数"远小于"记录数"、也与"临床住院记录数"不同。本文全文采用官方口径,并存照此修正——这正是多库引用场景下口径纪律价值的实例(§3.2)。

§6.10 静态库×活生态的实证组合

matched subset v1.0 是静态定稿(2020 后无版本演进),但其价值随活生态增长:mimic-code 的 SQL 与匹配脚本持续更新、衍生基准(低血压预警/PPG-BP)刷新 SOTA、下游工具(wfdb-python)持续维护。使用策略:以静态库为准入锚点(可复现),以活生态为方法学来源(可升级)——论文引用静态 DOI、方法引用社区脚本的具体 commit,两层引用缺一不可。

§7 AI 就绪指南与应用场景

§7.1 四种喂法

  1. 纯波形(ODbL 零门槛):matched 子集当"有身份索引的波形库"用——按患者组织样本、做患者级切分,先不碰临床数据;
  2. 波形+numerics 双通道:信号原料+监护结论对齐训练(自算参数 vs 监护值的偏差即监督信号)——监护算法审计与 SQI 研究的标配;
  3. 波形+临床表(DUA 阶段):subject_id 关联全临床库——多模态预测/预警的完整形态(§4.6 协议);
  4. 主库预训练+matched 微调:67,830 组无标签自监督 + 10,282 患者有标签微调——MIMIC 波形生态的标准架构(§2.11)。

§7.2 多模态融合配方(旗舰路径)

数据层:matched_records_index.csv(§4.2)→ 患者分桶 → ODbL 波形流
        ↓ DUA 阶段:subject_id → MIMIC-III 表 → 事件/标签序列
编码层:波形编码器(1D-CNN/Transformer,125Hz 分窗)→ 时序特征
        临床编码器(表型/事件序列 embedding)→ 语义特征
对齐层:日内时分锚定(§4.6)→ 统一时间轴 → 交叉注意力融合
任务层:低血压预警 / 结局预测 / 表型分类(§5.3 协议标注)
评估层:患者级切分 + AUROC/AUPRC + 分层矩阵(§5.4)+ 校准曲线
报告层:§5.6 模板 + §6.6 自查清单

§7.3 临床分层公平性评估配方

def stratified_report(model, test_set, strata):
    """
    strata: {'age_band': [...], 'vasoactive': [0,1],
             'sepsis': [0,1], 'lactate_band': [...]}
    输出:MAE/AUROC × 分层矩阵 + 每分层样本量
    纪律:样本量 <50 的分层标 'n/a'(不报不显著数字)
    """
    rows = []
    for dim, levels in strata.items():
        for lv in levels:
            sub = test_set.filter(dim, lv)
            rows.append({'dim': dim, 'level': lv, 'n': len(sub),
                         'metric': evaluate(model, sub) if len(sub) >= 50 else 'n/a'})
    return pd.DataFrame(rows)

§7.4 成本与排期模板

阶段 工作 人日 门槛
P0 头文件普查+索引 §4.2/§4.9 1-2 无
P1 信号产线原型 §4.4/§4.5 + 单任务训练 5-10 无
P2 质量掩码+切分 §5.3 伪影 + §4.10 3-5 无
P3 DUA 获取 CITI 培训+签署+环境隔离 5-15(含审批等待) 机构协议
P4 偏移还原+关联 §4.6/§4.7 2-4 DUA
P5 完整多模态训练 §7.2 10-20 DUA
合计 26-56 人日 双轨

§7.5 公平性与域偏差声明

  • 单中心:BIDMC 一家医院——跨中心部署必须做域适应(与 eICU/VitalDB 对照评估);
  • 匹配选择偏倚:失配偏向"混乱场景"(§6.2)——模型对急诊/转科人群的适用性须显式声明;
  • 时代偏倚:2001-2016 监护设备与护理规范演化——按年份分层报告是最低要求;
  • 成人+新生儿混库:默认混训会把新生儿心率(100-180 bpm)当病理——年龄分层或新生儿子集隔离是强制项;
  • ICU 人群域:无袖带血压模型外推到健康人/门诊场景=域漂移(主库条目 §2.5 的直接延续)。

§7.6 泄漏防控专项

多模态 MIMIC 研究的三大泄漏源与对策:(1) 患者跨 split(§4.10 患者级切分);(2) 标签时窗越界(预警窗口不得吞入事件后数据——标注协议的 gap/lead 参数进超参日志);(3) 临床静态特征穿越(年龄/性别可入模,但"出院诊断"作为输入特征=用结局预测过程——诊断类特征仅限"入 ICU 时已知"的子集)。三者中 (1) 在 matched 子集场景最致命:10,282 患者人均 2.2 条记录,按记录切分的泄漏概率极高。

§7.7 消融案例:对齐协议的价值

假设低血压预警任务(§5.3)做三组消融:(a) 完整协议(偏移还原+时分锚定+交叉校验);(b) 按代理日期直接 join(错误协议);© 无临床对齐、仅波形内相对时间(协议下限)。预期形态:(b) 的"多模态增益"实为噪声注入——事件对齐随机错位使融合层学到伪相关,指标可能不降反升(过拟合伪标签),但外部验证崩溃;© 提供公平基线;(a) 与 © 的差值才是"临床对齐"的真实价值。方法学结论:多模态论文必须报告 © 基线——没有它,读者无法区分"融合的胜利"与"对齐的胜利"。

§7.8 波形-临床联合产线骨架(代码)

"""
matched 子集多模态产线骨架(DUA 环境内)
阶段化设计:ODbL 阶段跑通 L1-L3,DUA 阶段补 L4-L6——代码不动、只加层
"""
class JointPipeline:
    L1_INDEX   = 'matched_records_index.csv'          # §4.2
    L2_STREAM  = 'WaveformStreamer(pn_dir, channels)'  # §4.4
    L3_QUALITY = 'SQIMasker(abp_damping, ppg_artifact)' # §5.3 前置
    L4_ALIGN   = 'SurrogateShiftResolver(subject_id)'  # §4.6(DUA)
    L5_LABEL   = 'HypotensionLabeler(65mmHg, 5min)'    # §5.3(DUA)
    L6_FUSION  = 'CrossAttentionFusion(d_model=128)'   # §7.2

    def run(self, subject_ids, stage='L3'):
        idx = self.load_index(subject_ids)             # 患者级索引
        for rec in self.stream(idx):                   # 波形流
            rec = self.quality_mask(rec)               # 质量掩码
            if stage >= 'L4':
                rec = self.align(rec)                  # 时间轴统一
                rec = self.attach_labels(rec)          # 事件标注
            yield self.to_features(rec)                # 特征落盘

§7.9 消融案例:numerics 的角色定位

同一预警模型三组输入:(a) 仅波形(自算参数);(b) 波形+numerics(监护值拼接);© 仅 numerics(纯监护值基线)。领域实证预期:© 有一定基线力(监护值即临床使用的信息)但上限低(1 Hz 粒度+黑盒滤波损失形态信息);(b) 相对 (a) 的增益来自"监护仪算法对伪影的预过滤"信息——但这也让模型学不到原始伪影判别。建议:主结果报 (a)(科学贡献),(b)© 进消融表(工程参照);把 (b) 当主结果会削弱论文的信号方法学贡献。

§7.10 新生儿子集处理配方

NEONATAL_AGE_MONTHS = 1

def neonatal_isolation(cohort, df_index):
    """
    新生儿记录隔离(§7.5 公平性强制项):
    经临床库年龄字段(DUA)筛选 <1 月患者 → 独立索引 → 独立切分
    """
    neo_ids = cohort[cohort.age_months < NEONATAL_AGE_MONTHS].subject_id
    neo_idx = df_index[df_index.subject_id.isin(neo_ids)]
    # 新生儿专属纪律:
    # 1) 心率正常带 100-180 bpm(成人阈值全废)
    # 2) ABP 参考带按孕周/体重分层(早产儿 MAP 下限可低至 30 mmHg 量级)
    # 3) 事件阈值(低血压/心动过缓)用新生儿指南口径,禁用成人 65 mmHg
    return patient_split(neo_idx)   # 独立患者级切分

科研价值:公开新生儿连续波形极稀缺(主库条目 §2.6)——matched 子集经临床年龄筛选后的新生儿子集是 NICU 预警研究的稀有资产;代价是样本量骤减(新生儿占 ICU 记录少数),功效声明必须先算后训。

§7.11 报告与复现包模板

repro_package/
├── data/
│   ├── matched_records_index.csv        # §4.2 索引(可公开)
│   ├── patient_split.csv                # §4.10 切分(可公开——只有 subject_id)
│   └── QUALITY_PROFILE.md               # §3.9 分层画像
├── src/
│   ├── enumerate_records.py             # §4.2
│   ├── stream_reader.py                 # §4.4
│   ├── surrogate_resolver.py            # §4.6(DUA 环境专属,不外发)
│   ├── alignment_audit.py               # §4.7
│   └── labelers/                        # §5.3
├── docs/
│   ├── DUA_COMPLIANCE.md                # CITI 编号/环境隔离声明
│   └── CALIBER_NOTES.md                 # §3.2 口径存照
└── results/
    ├── stratified_matrix.csv            # §7.3
    └── ablation_alignment.csv           # §7.7

§8 伦理、许可与合规

§8.1 双轨许可结构

资产 许可 门槛 义务
波形/numerics(本库) ODbL v1.0 无(开放下载) 署名引用;ODbL 传染性适用于衍生数据库
MIMIC-III 临床库 PhysioNet DUA(受控) CITI 培训+机构协议+签署 禁止再识别;禁止转分发;合规环境
联合产物 双许可叠加 — 波形衍生品走 ODbL、含临床数据的产物受 DUA 约束

关键语义:本库"开放"的是波形侧;"匹配关系"本身(谁是谁)在语义上接近受控资产——它只在 DUA 环境内与临床表拼接时才产生完整价值,记录名虽公开编码 subject_id,但把它与真实身份连接的唯一钥匙在临床库侧且受 DUA 保护。

§8.2 引用与致谢模板

波形数据:Moody B, Moody G, Villarroel M, Clifford GD, Silva I. MIMIC-III Waveform Database Matched Subset (version 1.0). PhysioNet, 2020. doi:10.13026/c2294b。
临床数据:Johnson AEW, Pollard TJ, Shen L, et al. MIMIC-III, a freely accessible critical care database. Scientific Data, 2016;3:160035(经 PhysioNet DUA 获取,CITI 认证编号 [填写])。
伦理声明:数据收集经 BIDMC 与 MIT 机构审查委员会批准并豁免个人知情同意(去标识二次研究);本研究在 DUA 约束下进行,未尝试任何形式的再识别。

§8.3 再识别风险的显式讨论

matched 子集的再识别风险结构:波形侧公开(匿名波形+代理日期),临床侧受控(代理临床数据)——风险窗口在于侧信道拼接:若攻击者同时持有某患者真实监护记录(如患者本人复制了监护纸带)与公开波形库,波形指纹匹配理论上可定位记录并经公开记录名读出 subject_id。官方缓解:记录级匿名化+代理日期+DUA 对临床侧的门禁。使用者义务:不发布"能缩小个体范围"的衍生索引(如"某记录 = 某床某日"的还原表);衍生数据集再分发须保持同等去标识强度。把这一节写进论文伦理声明,是 MIMIC 多模态研究的成熟标志。

§9 常见问题(FAQ)

Q1 matched subset 和主库什么关系?

主库 67,830 组记录中约 1/3(34%)成功与临床库对齐,这部分以"患者分桶+身份命名"重组为本库。原始信号逐字节相同,差异在命名与目录(身份映射)。

Q2 为什么叫"Matched"?

因为记录已与 MIMIC-III Clinical Database 匹配(matched to the clinical database)——匹配即"确认哪个波形记录属于哪名临床患者"。

Q3 10,282 是患者数还是记录数?

患者数(官方口径 distinct ICU patients)。22,317 是波形记录数。人均约 2.2 条记录(多次监护会话)。

Q4 为什么只有 34% 匹配上了?

失配主因:监护仪未与病历系统直连(两套系统时代断层)、床号不可识别、患者 ID 映射缺失。这是 2001-2016 医院信息架构的实证,不是数据质量缺陷。

Q5 代理日期是什么?为什么有 2112、2175 这样的未来日期?

每患者一个随机日期偏移(date shift),把真实日期平移到随机锚点——未来日期是代理语义的直接证据。相对时间结构(事件间隔)保留。

Q6 真实时分在哪里?日期不是假的吗?

记录名的 hh-mm 与 header 的 base_time 是真实监护开始时分;日期(YYYY-MM-DD)是代理的。时分是对齐临床事件的锚点。

Q7 波形侧和临床库的偏移量一样吗?

不一样。两库独立做 date shift——按日期直接 join 必然失败。正确做法:subject_id 硬关联 + 日内时分锚定 + 偏移还原层(§4.6)。

Q8 记录名 p044083-2112-05-04-19-50 怎么拆?

p+Subject_ID(444083)+ 代理日期(2112-05-04)+ 真实时分(19:50)。目录 p04/p044083 是按 Subject_ID 前两位/全号分桶。

Q9 需要下载整个子集吗?

不建议。头文件普查(分钟级)先建索引(§4.2),按需流式读取(§4.4),任务定制落盘。全量子集约为主库 1/3 量级。

Q10 怎么知道某记录有哪些信号?

master/layout header 的 sig_name 声明全部可能信号;各 segment 实际通道可变(监护配置变更)——信号存在性矩阵(§4.9)是一次性必建资产。

Q11 numerics 记录是什么?

监护仪每秒产出的生命体征数值(HR/ABP-S/M/D/SpO2/RR 视配置),记录名=波形名+n。22,247 条(比波形少 70 条——官方明示二者可能缺一)。

Q12 能只用波形侧发论文吗?

能。ODbL 开放覆盖:波形方法学、SQI、PPG-BP(纯信号版)、监护算法审计、自监督预训练。但凡挂"诊断/结局/用药"标签就必须 DUA。

Q13 DUA 怎么拿?

PhysioNet 官网完成 CITI 人体受试者保护培训→机构签署数据使用协议→获 MIMIC-III Clinical Database 访问权。波形侧(本库)不需要这一步。

Q14 同一患者有多个记录目录正常吗?

正常。多次住院或多次监护会话各产生一对记录(如 p000079 的 01-25 与 12-28 两个开始时分)。这也正是"患者级切分"强制性的原因。

Q15 主库条目和本条目该读哪个?

做信号工程/工具链→主库条目(486);做多模态/临床关联→本条目。两者共享全部技术局限(数据同源),本条目额外覆盖匹配与偏移语义。

Q16 与 mimic4wdb 什么关系?

mimic4wdb 是对齐 MIMIC-IV 的新一代匹配波形(更晚年份、试点规模)。两代 subject_id 指向不同临床库,不可混用(§6.7)。

Q17 22,317 波形 vs 22,247 numerics,差在哪?

70 条记录只有波形没有 numerics(或反之)——采集系统偶发只产出其一(官方明示局限)。join 按 exist 处理。

Q18 怎么验证我的时间对齐做对了?

numerics(波形侧监护 HR)vs CHARTEVENTS(临床侧 HR)重叠时段相关系数抽检——多参数多患者通过才算过(§4.7)。

Q19 PPG 通道叫什么名?

WFDB 惯用名 PLETH。ABP 通道名 ABP,ECG 为 II 等(导联名)。先读 layout header 建别名表。

Q20 记录时长一般多长?

数小时至数周(与主库同分布,数天为主)。p044083 首段 20,342,033 样本(125 Hz)≈45 小时是典型量级示例。

Q21 数据里有没有临床字段(CSV 表)?

没有。本库是纯波形+numerics(ODbL)。临床表在 MIMIC-III Clinical Database(DUA)。这是"双轨"的核心(§8.1)。

Q22 能把 matched 记录和主库记录对应起来吗?

逐字节同一性(§2.7)意味着哈希比对可确认对应关系;官方未提供显式映射表,自建对应表(哈希/头文件指纹)属合规的信号级验证。

Q23 训练集怎么切分才对?

按 subject_id(患者)切分(§4.10)——人均 2.2 条记录,按记录切分几乎必然泄漏。三 split 的患者/记录/事件三行数字都要报。

Q24 低血压预警的事件定义用什么口径?

常用:MAP<65 mmHg 持续 ≥5 分钟,事件间隔 <30 分钟合并,预警窗 ≤15 分钟(§5.3)。ABP 阻尼伪影段先掩码再标注。

Q25 能和 eICU 数据联用吗?

理论可行但需自建映射(两库不同患者群:BIDMC vs 多中心)。matched 子集的映射只对 MIMIC-III 有效。

Q26 新生儿数据在哪个目录?

没有单独目录——与成人混在同一患者分桶内。经临床库年龄字段筛选(DUA),或按波形心率量级粗筛(非精确)。

Q27 引用 DOI 用哪个?

本库 10.13026/c2294b;主库 10.13026/c2607m;临床库引 Johnson 2016(SciData)。三引文按需并列(§8.2)。

Q28 代理日期会泄露真实时间吗?

设计目标是不泄露。随机偏移+仅公开波形侧使日期不可逆推(尝试反推即违反使用条款)。时分保留是科研必要性与风险的平衡(§2.5)。

Q29 为什么我的 join 结果 HR 完全对不上?

大概率直接按日期 join 了(两侧偏移不同)。走 §4.6 协议:subject_id + 日内时分 + 交叉校验(§4.7)。

Q30 头文件里 base_time 一定是真实时分吗?

master header 的 base_time 与记录名 hh-mm 一致、为真实时分;个别记录若与临床事件顺序矛盾(§4.7 失败),个案以事件顺序复核——"mostly automated"意味着个案瑕疵存在。

Q31 这个库能做实时预警系统吗?

能提供训练与离线验证底座;实时部署需另解决:流式采集延迟、监护仪型号差异、医院信息系统对接——数据≠产品,域适应是必答题。

Q32 和 VitalDB 比怎么选?

ICU 人群/临床关联→本库;手术室人群/信号质量/易用 API→VitalDB。多中心比较研究建议两者都进消融。

Q33 有官方 Python 教程吗?

官方页面提供引用与访问说明;社区教程在 mimic-code 仓库与 PhysioNet tutorials(含 wfdb-python 用法)。本文 §4 的代码骨架可直接起步。

Q34 匹配过程中人工校正的比例有多大?

官方仅声明 “mostly automated with manual corrections”,未公开逐条校正明细。研究者应把个别映射瑕疵视为已知不确定性(§3.3 文档维度扣分点)。

Q35 能发布基于本库的衍生波形数据集吗?

ODbL 允许(衍生数据库同许可)但须保持去标识强度、不得附加可缩小个体范围的索引(§8.3)。含临床数据的衍生品受 DUA 约束。

Q36 论文数据可用性声明怎么写?

波形:公开获取(ODbL,PhysioNet,DOI);临床:受控获取(PhysioNet DUA,CITI 编号);代码:附复现包(§7.10)。三段式缺一不可。

Q37 为什么把"映射"叫数据集而"映射表"不单独发布?

官方把匹配结果物化为目录结构与命名(pXXNNNN-YYYY-MM-DD-hh-mm)——文件系统即映射表。这使映射不可与数据分离,天然防止"映射表与数据版本脱钩"。

Q38 按记录号能反查主库吗?

记录名空间不同(主库 7 位数字号 vs 本库 pXXNNNN-日期),无官方反查表。哈希同一性(§2.7/§4.9)是唯一可靠的对应验证方式。

Q39 怎么统计每人有多少条记录?

索引表(§4.2)groupby subject_id 即得。人均约 2.2 条——但分布长尾(少数患者多条记录),切分与报告都看分布不看均值。

Q40 机器学习竞赛/基准用过这个库吗?

低血压预警、PPG-BP、多模态表型等方向的公开基准大量使用 MIMIC 波形生态——本库是其中"临床可联"部分的唯一官方入口。

Q41 预训练用主库还是本库?

主库全集(67,830 组无标签)做自监督预训练;本库(10,282 患者)做有标签微调与临床评估——"预训练全量、微调匹配"是标准架构(§2.11/§7.1)。

Q42 为什么说本库是"翻译桥"?

它不生产新数据(.dat 同主库),生产"身份"——让匿名波形记录获得临床人格(subject_id + 时间锚)。多模态研究的进货渠道就是这座桥(§1.9)。

Q43 能从 numerics 重建缺失的波形吗?

不能等价重建——numerics 是波形的有损摘要(每秒一个数 vs 125 Hz 原始形态)。可以训练"参数条件生成"模型合成形态逼真的波形(生成式研究方向),但合成数据不能当真值用,论文必须标注合成来源。

Q44 匹配子集的时间跨度与主库一致吗?

一致。数据同源(2001-2016 BIDMC 归档),代理日期偏移不改变相对跨度;论文 temporalCoverage 写 2001-2016。

§10 存照与溯源

§10.1 口径存照

声明数字 口径 源
22,317 / 22,247 matched 波形/numerics record 数 官方页面 v1.0
10,282 distinct ICU patients(患者数) 官方页面原文
34% / 35% 波形/numerics 匹配率(约 1/3) 官方口径
mostly automated with manual corrections 匹配方法 官方页面
失配主因三条 监护仪未直连/床号不可识别/ID 映射缺失 官方口径
pXXNNNN-YYYY-MM-DD-hh-mm 命名规则(代理日期+真实时分) 官方页面 + 示例记录
.dat 逐字节同主库 血缘同一性 官方声明 + 可哈希验证
ODbL v1.0 / DUA 双轨 许可结构 官方 LICENSE + 临床库页面
BIDMC+MIT IRB、豁免知情同意 合规 官方页面
10.13026/c2294b 本库 DOI 官方页面
2175-09-26 / 2112-05-04 / 20,342,033 样本≈45h 命名与时长示例 官方示例记录(p000079/p044083)
mimic-code issue #1383 匹配实操社区共识 GitHub MIT-LCP/mimic-code
≈30,000 × 34% ≈ 10,200 ≈ 10,282 口径自洽性检验(记录比×患者比互证) 本文 §3.10 推算
temporalCoverage 2001/2016 时间跨度(同主库) schema_org 口径

§10.2 引文清单

  1. Moody B, Moody G, Villarroel M, Clifford GD, Silva I. MIMIC-III Waveform Database Matched Subset (version 1.0). PhysioNet, 2020. doi:10.13026/c2294b
  2. Johnson AEW, Pollard TJ, Shen L, et al. MIMIC-III, a freely accessible critical care database. Scientific Data 2016;3:160035. doi:10.1038/sdata.2016.35
  3. Moody B, Moody G, Villarroel M, Clifford GD, Silva I. MIMIC-III Waveform Database (version 1.0). PhysioNet, 2020. doi:10.13026/c2607m
  4. Goldberger AL, Amaral LAN, Glass L, et al. PhysioBank, PhysioToolkit, and PhysioNet. Circulation 2000;101(23):e215-e220
  5. MIT-LCP. mimic-code: Research code for MIMIC databases. GitHub(匹配实操 issue #1383)
  6. Pollard TJ, Johnson AEW, Raffa JD, et al. PhysioNet as a global platform for biomedical research. Nature portfolio 2026

§10.3 与本系列其他条目的关系

条目 关系
486 MIMIC-III Waveform Database 父库:本库是其 34% 匹配子集的重组视图;信号结构与工具链详见该条
490 MIMIC-III Clinical Database 对端:subject_id 映射目标;DUA 准入与表结构详见该条
488 MIMIC-IV Waveform 下一代:对齐 MIMIC-IV 的新版匹配;两代映射不可混用
492 MIMIC-IV 平行代:临床库的 IV 代;新项目优先评估组合
VitalDB / UQ Vital Signs 横向对照:手术室人群波形库;域适应与多中心比较素材

§10.4 变更日志

日期 事项
2020 v1.0 发布(DOI 10.13026/c2294b)
2026-09-20 本条目完成事实核查与撰写(千方病案医数集 order 487);含 10,282 口径修正存照(§6.9)

相关数据集导航

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

  • mimic3wdb — 共享标签:生理信号 / 电子健康记录
  • mimic4wdb — 共享标签:生理信号 / 电子健康记录
  • shhs — 共享标签:生理信号 / 电子健康记录
  • mros-sleep — 共享标签:生理信号 / 电子健康记录
  • nsrr — 共享标签:生理信号 / 电子健康记录
  • pulsedb — 共享标签:生理信号 / 电子健康记录
  • sicdb — 共享标签:生理信号 / 电子健康记录
  • mc-med — 共享标签:生理信号 / 电子健康记录
  • cinc-2015 — 共享标签:生理信号 / 电子健康记录
  • mover — 共享标签:生理信号 / 电子健康记录

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

返回 AI-Ready 数据集