信息速览
FIDDLE 特征集是 2021 年 4 月由密歇根大学团队经 PhysioNet 发布的一套预处理产物,作者为 Tang、Davarmanesh、Song、Koutra、Sjoding 与 Wiens。它不含任何原始病历,给的是已经算好的特征矩阵:用开源管线 FIDDLE 按默认设置把 MIMIC-III v1.4 与 eICU-CRD v2.0 各转一遍,输出五个预测任务的时不变特征矩阵与时变特征张量,以稀疏 npz 格式存储,特征维度最高约 8,000。五个任务覆盖三类结局——院内死亡、急性呼吸衰竭与休克。
重症监护的机器学习研究长期有个隐蔽的不可比问题:两份论文用同一个数据库、同一个任务,报出的性能差十个百分点,但谁也说不清差在模型上还是差在预处理上。预处理这一步里塞满了看起来无关紧要的选择:时间窗开多宽、缺失用均值还是用前值填、类别变量要不要展开、异常值截断到哪个分位。这些选择各自都能被辩护,合起来却能把结果推到完全不同的位置。FIDDLE 的做法是把这一步标准化、公开、可替换,于是「模型差异」第一次能和「预处理差异」分开谈。
第一次用建议先做三件事:把五个任务的 population 行数与自己预期的规模对一遍,确认没有拿错任务的人群;把某个任务的 X.npz 随机抽一行打印时间步非零分布,看清时变张量到底有多稀疏;把 MIMIC 侧与 eICU 侧同一任务的特征名取交集,看两边能对上多少列。三件事做完,你会对这套数据的实际可用性有一个不会被论文摘要误导的判断。
§1 它是什么:把预处理决定交出去
1.1 一句话定义与三个限定
FIDDLE 特征集是一套预处理决定的具象化产物。三个限定词各划掉一批用法。
「预处理决定的具象化」意味着它记录的不是病人,而是「按某套规则把病人整理成矩阵」这件事的结果。矩阵里的每一列都对应一个规则:这一列是肌酐在过去 24 小时内的均值,那一列是血管活性药物是否使用过的二值标志。规则不在数据里,在代码里。
「按默认设置」意味着作者没有为每个任务调参。同一套管线吃进去两个不同的数据库、五个不同的任务,输出的维度却各不相同——这不是调出来的,是数据本身长出来的。
「不含原始病历」意味着任何需要回到原始值的分析都做不了。想知道某个病人某时刻的血肌酐具体是多少,这套数据给不出答案;它只给聚合后的统计量。
1.2 源库与取用范围
两个源库的取用范围不一样,这个不对称值得单独说。
| 源库 | 版本 | 取用范围 | 源表数 |
|---|---|---|---|
| MIMIC-III | v1.4 | 仅 MetaVision 子系统,2008–2012 | 10 张 |
| eICU-CRD | v2.0 | 全量,200 个 ICU,2014–2015 | 18 张 |
MIMIC-III 内部有两套临床信息系统:2001 到 2008 年是 Philips CareVue,2008 到 2012 年是 iMDSoft MetaVision。取 MetaVision 的理由是它更新,数据结构与现代系统更接近。代价是舍弃了 7 年数据,而这 7 年恰好是诊疗惯例与现在差别最大的时期。
eICU 侧取全量,但因为该库本身只覆盖 2014 与 2015 两年,时间跨度同样有限。
两个源库的源表数量差一倍(10 对 18),这不是 MIMIC 穷、eICU 富,而是两边表结构组织方式不同:MIMIC 把很多信息挤在少数几张宽表里,eICU 拆得更细。
1.3 五个任务与三类结局
任务不是随意凑的,是从重症监护最常被预测的三类不良结局长出来的。
| 任务 | 结局 | 预测窗口 | 说明 |
|---|---|---|---|
| mortality_48h | 院内死亡 | 48 小时 | 入 ICU 后 48 小时内是否死亡 |
| ARF_4h | 急性呼吸衰竭 | 4 小时 | 发病前 4 小时内的信息可用 |
| ARF_12h | 急性呼吸衰竭 | 12 小时 | 发病前 12 小时内的信息可用 |
| Shock_4h | 休克 | 4 小时 | 发病前 4 小时内的信息可用 |
| Shock_12h | 休克 | 12 小时 | 发病前 12 小时内的信息可用 |
同一结局给两个窗口,用意是让「预测提前量」成为可研究的变量。窗口越长,可用信息越多,但任务也越难——12 小时前的信息对 12 小时后的事件,关联更弱。这个设计让「多早能预测出来」变成一个可量化的问题,而不只是「能不能预测」。
1.4 与原始库及同系列条目的边界
库内 MIMIC 与 eICU 相关条目不少,边界按「给出的是什么」区分最清楚。
| 条目 | 给出的形态 | 主要用途 |
|---|---|---|
| MIMIC-III | 原始多表 | 任意分析 |
| eICU-CRD | 原始多表 | 任意分析 |
| FIDDLE 特征集(本页主条) | 已算好的特征矩阵 | 建模与预处理对比 |
一句话分辨:要字段用原库,要现成矩阵用这一份。
需要注意的是这套矩阵只覆盖五个任务的人群,不是全库。想做别的结局(比如脓毒症、急性肾损伤),这套矩阵帮不上,得回原库自己算。
1.5 「可复现」在这里的具体含义
FIDDLE 论文的标题用了「democratizing」这个词,落到实践上是三层含义。
第一层是规则公开。管线的代码在 GitHub 上,每列特征怎么算出来的可以逐行追。这比「我们用标准方法做了预处理」这种表述强得多。
第二层是产物公开。算好的矩阵直接发布,不需要每个人都重跑一遍。这省下的不只是算力,更是「重跑出来不一样」的麻烦。
第三层是接口统一。两个数据库、五个任务,输出格式一致(population/ + features/ + code/ 三件套)。这让「把同一套模型在五个任务上跑一遍」变成一次编码而不是五次。
三层合起来,解决的正是那个隐蔽的不可比问题:当所有人都用同一份矩阵,性能差异就主要来自模型了。
§2 数据构成:两个目录、五个任务、四类文件
2.1 总体结构与规模
根目录下两个子文件夹:FIDDLE_mimic3/ 与 FIDDLE_eicu/。两边的内部结构完全对称。
| 层级 | 内容 |
|---|---|
| population/ | 5 个 CSV,任务人群与标签 |
| features/<task>/ | 5 个子目录,各含时不变与时变两组文件及特征名 JSON |
| code/ | 代码快照 |
两个源库的队列规模先摆出来,因为后面所有维度都要以它为前提理解。
| 源库 | 患者数 | ICU 住院数 | 机构范围 | 年份 |
|---|---|---|---|---|
| MIMIC-III(MetaVision 子集) | 17,710 | 23,620 | 波士顿单中心 | 2008–2012 |
| eICU-CRD | 139,367 | 200,859 | 全美 200 个 ICU | 2014–2015 |
2.2 五个任务的人群与维度
这张表是整套数据最该先看的一张。N 是 ICU 住院数,d 是时不变特征数,D 是时变特征数。
MIMIC-III 侧
| 任务 | N | d | D |
|---|---|---|---|
| 院内死亡 48h | 8,577 | 96 | 7,307 |
| ARF 4h | 15,873 | 98 | 4,045 |
| ARF 12h | 14,174 | 96 | 4,816 |
| 休克 4h | 19,342 | 98 | 4,522 |
| 休克 12h | 17,588 | 97 | 5,500 |
eICU 侧
| 任务 | N | d | D |
|---|---|---|---|
| 院内死亡 48h | 77,066 | 146 | 2,382 |
| ARF 4h | 138,840 | 717 | 5,854 |
| ARF 12h | 122,619 | 119 | 2,713 |
| 休克 4h | 164,333 | 770 | 6,314 |
| 休克 12h | 144,725 | 128 | 2,946 |
三处值得停下看。
第一处:MIMIC 侧 d 稳定在 96 到 98,eICU 侧在 119 到 770 之间大幅跳动。 时不变特征的维度主要由类别变量展开决定,eICU 的 717 与 770 说明该任务里塞进了大量分类型信息(用药、治疗、护理评估等),每个取值变成一列。同一库内不同任务的 d 差六倍,说明「时不变」这个词在这里指的是「不随时间步变化」,不是说它在临床上真是静态属性。
第二处:mortality 任务的人群最小。 MIMIC 侧 8,577、eICU 侧 77,066,都是五个任务里最少的。原因是 48 小时窗口要求入 ICU 后仍有可观测的随访期,早期转出或早期死亡以外的排除会砍掉一批。
第三处:D 与 d 的比例悬殊。 MIMIC 侧 mortality 任务的 D 是 7,307,d 只有 96,比例 76 比 1。这解释了为什么需要稀疏存储:一次住院的时变特征里绝大多数格子是零。
2.3 population/ 的五份 CSV
每份 CSV 对应一个任务,每行一次 ICU 住院。三样信息。
人群定义:这一行是否属于该任务的分析人群。归属由该任务的纳入排除标准决定。
发病小时(onset hour):ARF 与 Shock 有,mortality 没有——死亡的时刻就是结局本身,不需要单独的发病时点。这个字段是小时数,从入 ICU 起算。
二值标签:该结局在窗口内是否发生。
发病小时这个字段的价值常被低估。它是判断「特征窗口有没有越过标签时点」的唯一依据。如果把入 ICU 后全部 48 小时的数据都用来预测 4 小时窗口内的 ARF,模型就用了未来信息,测试集上的漂亮数字是假的。有这个字段,就能逐行检查。
2.4 features/ 的四类文件
每个任务目录下四种文件,两两配对。
| 文件 | 形状 | 内容 |
|---|---|---|
| s.npz | N × d | 时不变特征稀疏矩阵 |
| s.feature_names.json | d 个字符串 | 列名,与矩阵列一一对应 |
| s.feature_aliases.json | 映射表 | 别名到标准名的对照 |
| X.npz | N × L × D | 时变特征稀疏张量 |
| X.feature_names.json | D 个字符串 | 第三维的列名 |
| X.feature_aliases.json | 映射表 | 同上,别名层 |
三类文件各有用途。矩阵是给模型吃的,特征名是给人看的,别名是给跨库对齐用的。
别名文件的存在说明作者预期到跨库场景:同一个临床变量在不同源库里名字不同(一个叫 heart rate,一个叫 vitalperiodic 里的某个字段),别名表把这类差异记下来。实际对齐时它是起点,但不是终点——别名表能覆盖的通常是常见变量。
2.5 特征是怎么长出来的
FIDDLE 管线的核心动作可以概括成三步,理解这三步就能理解特征名的形态。
第一步:统一成四列中间格式。 无论原始表长什么样,都压成 [ID, t, variable_name, variable_value]:谁、什么时刻、哪个变量、什么值。这一步把「宽表稀疏」变成「长表稠密」,代价是行数暴增。
第二步:按时变与否分流。 不随时间的变量(年龄、性别、入院类型)进时不变池;随时间变化的(生命体征、检验、用药)进时变池。
第三步:数据驱动的聚合与筛选。 时变池按时间窗聚合成统计量(均值、极值、斜率等),再按缺失率与信息量筛掉一批,剩下的展开成列。
第三步是「数据驱动」四个字所在。它意味着哪些变量留下、聚合成什么统计量,不是人工指定的,是从数据里算出来的。好处是不依赖专家先验,坏处是不同任务、不同数据库会得到不同的特征集——这正是 d 从 96 跳到 770 的原因。
2.6 稀疏存储的实际形态
npz 不是普通的 numpy 数组文件,它存的是 scipy 稀疏对象。这一点在代码里会咬人。
直接 numpy.load 读出来的是一个零维包装,要 .item() 才能取到稀疏矩阵。若直接当数组用会报形状错误。
时变的 X.npz 是三维稀疏张量。三维稀疏结构在 scipy 里支持有限,实际可能存成二维展开加索引,或用了自定义格式。读取时先打印 type 与 shape,看清实际形态再往下写。
稀疏格式下随机访问很慢,按行切片相对快。训练时的数据加载器应该按批取连续行,不要做随机洗牌式的单行读取。
2.7 特征别名表的用法
s.feature_aliases.json 与 X.feature_aliases.json 是跨库对齐的入口,但用法要克制。
合理的用法是:拿 MIMIC 侧与 eICU 侧同一任务的两份特征名列表,用别名表做归一,然后求交集与差集。交集是可共享特征,差集是各自独有。
不合理的用法是:认为有别名表就能自动对齐。别名表记录的是「这两个名字指同一个变量」,但没有记录「两边算这个变量的时间窗是否相同」「聚合的统计量是否一样」。同名不同算法的情况下,直接对齐会引入隐蔽的分布差异。
保守做法是先对齐、再验证:在交集特征上分别算两边的分布,若某个特征在两边差异极大,先怀疑算法口径不同,而不是人群不同。
2.8 代码快照与仓库的关系
code/ 目录是发布时刻的代码快照,官方说明最新版在 GitHub 仓库 MLD3/FIDDLE。
这两者用途不同。要复现这份矩阵,必须用快照,因为仓库后续的提交可能改了默认参数或修了 bug,重跑结果不会与本矩阵逐位一致。要改进管线或用于新数据,用仓库最新版,但要接受结果不能与已发表矩阵直接对比。
这个区分在复现研究里很关键。很多人用仓库最新版重跑,发现与论文数字对不上,误以为是论文有问题,其实是版本不一致。
2.9 从特征名读出聚合口径
feature_names.json 里的字符串不是普通变量名,它编码了聚合方式。读懂这个编码,才能判断某一列到底代表什么。
常见的编码形态有三段:变量名、时间窗、算子。例如「heart rate 24h mean」这类命名,第一段是原始变量,第二段是窗口宽度,第三段是聚合函数。实际命名可能用缩写(HR_24h_mean)或分层前缀(t_ 表示 temporal),具体格式以载入后的实际字符串为准。
这种编码有两个后果。一是同一原始变量会占多列。肌酐在 6 小时窗与 24 小时窗各有一列均值,两列高度相关但不相同。做特征筛选时若不知道它们同源,会误以为是两个独立信号。
二是列名不含临床含义。叫「mean」的列在哪一档窗口上算,决定了它在临床上是「当前状态」还是「趋势」。同样叫「收缩压最小值」,在 4 小时窗上反映的是急性低血压事件,在 24 小时窗上可能是夜间生理性下降。仅凭列名判断临床意义会出错。
实操建议:拿到特征名后先做一次模式解析,按「变量 × 窗口 × 算子」拆成三列存起来。后面做特征重要性、做子集筛选、做跨库对齐,都要靠这个拆解表。
2.10 两库特征名的对齐操作步骤
前文提到对齐要先求交集,这里给一个可操作的流程。
第一步,把两侧的特征名都读进列表,做基础清洗:统一大小写、去掉分隔符、把常见缩写展开(hr→heart rate、sbp→systolic blood pressure)。这一步能对上相当一部分。
第二步,用别名文件补漏。别名表记录的是「这两个写法指同一变量」,能覆盖缩写之外的变体。
第三步,人工过一遍剩余项。剩下的通常是两库确实独有的变量,或命名逻辑差异过大无法自动匹配的。这一步的工作量占整体的一半以上,且无法省略。
第四步,对交集做分布校验。取同一个变量在两库的取值分布,算均值、中位数、四分位。若某变量在两库的分布差异远超其他变量,先怀疑聚合口径不同(窗口宽度不一致、算子不一致),而不是人群差异。
第四步是最容易被跳过也最要紧的一步。没有它,对齐只是名字对上了,数值含义没对上,训练出来的模型在跨库测试时会莫名其妙地崩。
2.11 时间步 L 的三种可能含义
X.npz 的第二维是 L,同一个 L 用在所有住院上。但「第一个时间步对应什么时刻」这件事,条目页没写。三种可能是:
可能一:从入 ICU 时刻起算的固定网格。第 1 步是入科后 0 到 1 小时,第 2 步是 1 到 2 小时,依此类推。这种设计下,转出早的住院后面全是零。
可能二:从首次观测时刻起算。不同住院的首次观测距入科时间不同,网格整体平移。这种设计下,不同住院的「第 1 步」在绝对时间上不对齐。
可能三:按事件数分箱。不是固定时间宽度,而是把观测按数量均分成 L 份。这种设计下,步长因人而异。
三种设计对建模影响不同。第一种适合做「入科后第几小时」的绝对时间分析;第二种适合做「病程第几阶段」的相对分析;第三种适合处理采样频率差异极大的数据。
判断方法很朴素:取几个住院的时变张量,看非零步的分布。若多数住院的非零步集中在前段且长度与住院时长相关,倾向第一种;若非零步的起止位置各自不同但长度相近,倾向第三种。
这个细节在 §3.4 的存储估算与 §5.5 的分段实验里都会用到,开箱后应先确认。
2.12 稀疏率对建模的实际影响
稀疏这件事不只是存储问题,它直接影响模型选择。
时变张量的非零率极低——一次住院在某个时间窗内只有少数几项检验,多数格子是零。这意味着:
线性模型需要额外处理。直接对稀疏矩阵做标准化会失败(零值被当成真实观测),必须先区分「未测量」与「测得为零」。
树模型相对友好。基于分裂的方法对稀疏不敏感,零值自成一类。但要注意零值在特征中的含义是「未测」还是「测得正常」,两者混在一起会让树学到错误的切分。
深度时序模型需要掩码。RNN 或 Transformer 直接吃稀疏序列,会把零当成真实值。正确做法是同时提供观测掩码,让模型区分「没测」与「测得 0」。
这三种处理方式的差异,往往比模型结构的选择影响更大。文献里报的性能差异,有一部分就来自这里。
§3 怎么拿到:凭证访问与四道手续
3.1 获取路径
FIDDLE 特征集属 Credentialed 访问,流程与 MIMIC 系列一致。
| 环节 | 动作 |
|---|---|
| 前置 | 建议先取得 MIMIC-III 与 eICU-CRD 的访问资质(本矩阵是二者的派生物) |
| 培训 | 完成 CITI「Data or Specimens Only Research」课程 |
| 协议 | 签署 PhysioNet Credentialed Health Data Use Agreement 1.5.0 |
| 核验 | 通过身份与机构核验 |
| 下载 | 在 PhysioNet 条目页 Files 区获取两个目录 |
前置条件这一条虽是「建议」而非「强制」,但从合规角度看应当遵守:DUA 的条款约束的是数据的使用,而派生数据与原库共享同一批受试者。若只对本矩阵签了协议而没对原库签,使用范围仍应限制在原库 DUA 允许的范围内。
3.2 地区不可用提示
条目页在部分地区显示「Data Not Available — Data is not available in your region due to legal or policy restrictions」。
这句限制的是下载。描述、维度表、文件清单、许可条款在页面上公开可读,本页所有数字都来自这些公开文本。做选型与介绍不需要凭证;实际训练才需要。地区限制由访问方所在地的法律或政策决定。
3.3 版本与 DOI
| 类型 | DOI |
|---|---|
| 版本 DOI(v1.0.0) | 10.13026/2qtg-k467 |
| 最新版 DOI | 10.13026/zwds-nn76 |
自 2021 年首发以来未见新版本公告。引用时应锚定版本 DOI,因为它对应的是你实际使用的那份矩阵。
3.4 存储与算力的实际估算
这套矩阵不大,但也不小,规划时要算两笔。
存储:稀疏格式下,非零元数量决定体积。时变张量 N×L×D 里,N 是几千到十几万,L 是几十到上百个时间步,D 是几千。若非零率在 1% 量级,单个任务的非零元数在千万到亿级,压缩后需要几个 GB。五个任务加两个库,总量在数十 GB 量级——这个估算依赖非零率假设,实际以官方文件为准,官方未公布总体积。
内存:训练时不要一次性载入。按批读取、用生成器喂数据。三维稀疏张量在 scipy 里常常展开成二维再重塑,展开那一刻的内存峰值可能远高于稳态占用。
§4 质量与已知问题:官方未列局限但问题明确
4.1 一个前提:这一页没有官方局限清单
MIMIC-III 与 eICU-CRD 的条目页都有明确的局限说明,但本特征集的条目页没有单设这一节,只有利益冲突声明与致谢。
这不是说没有问题,而是说问题需要从别处推。可用的线索有三处:条目页正文里对 EHR 数据的一般性描述、源库各自的局限、以及管线设计本身带来的约束。下文按这三处展开。
4.2 从源库继承的三个限制
限制一:MIMIC 侧砍掉 2001–2008。 只取 MetaVision 子系统,舍掉 CareVue 时期的 7 年数据。这对时间跨度的影响是实质性的——早期 ICU 的机械通气策略、镇静深度目标、液体复苏量都与现在差别很大,砍掉之后数据更「现代」,但也更同质。
限制二:eICU 侧只有两年。 2014 与 2015。这限制了任何跨年趋势分析,也意味着季节性、流行病学变迁这类问题无法回答。
限制三:两库人群来源差异巨大。 一边是波士顿单中心,一边是全美 200 个 ICU。这个差异本身是优点(可做泛化研究),但也意味着两边任何指标的差异都不能简单归因于「模型好坏」。
4.3 从管线设计推出的四个约束
约束一:特征集是数据驱动的,因此不可跨任务移植。 五个任务的特征维度从 96 到 770 不等,说明管线为每个任务选了不同的特征子集。想在一个任务上训好的模型用到另一个任务,必须先解决特征不对齐的问题。
约束二:默认设置不为任何任务优化。 「默认设置」的好处是公平,坏处是没人调过。在某些任务上,默认的时间窗可能过宽或过窄;在某些变量上,默认的聚合统计量可能不是最有信息量的。使用时要意识到这可能不是该任务的最优预处理。
约束三:无数据划分。 条目页未给任何 train/val/test 划分。这直接影响结果可比性——不同论文的划分不同,指标不能直接比。做对比研究时必须自己固定划分并公开索引文件。
约束四:无排除标准文档。 任务人群怎么来的,条目页没写。要知道某个住院为什么在 mortality 任务里而不在 ARF 任务里,只能去读论文或代码。这让「人群定义」这一步变成黑箱。
4.4 六个实操坑
坑一:把「时不变」当成临床静态属性。 d 里塞了大量类别变量的展开项,包括用药、治疗、护理评估这些本质上是「全程是否发生过」的标志。它们在矩阵里不随时间步变化,但临床上不是静态的。做特征重要性分析时,这类列的解释要小心。
坑二:时变张量被当稠密数组处理。 X.npz 是 N×L×D,若某任务 N=164,333、L=100、D=6,314,稠密化后是千亿级元素,内存直接爆。必须全程用稀疏操作。
坑三:用发病小时之后的数据做特征。 这是最隐蔽的泄漏。ARF_4h 任务的标签是 4 小时内发生的 ARF,但特征矩阵若包含 8 小时的数据,模型就看到了未来。检查方法:把每个住院的特征非零时刻与 onset hour 比对,任何越过发病小时的都要剔除或截断。
坑四:跨库直接拼接矩阵。 同一任务下 MIMIC 侧 d=96、eICU 侧 d=146,列不对应。直接 hstack 会得到 242 列,其中一半是错的。必须先按特征名对齐。
坑五:混用不同任务的人群做多任务学习。 五个任务的 N 都不同,行序也不同。做多任务学习必须按 ICU 住院标识对齐,不能按行号。
坑六:用仓库最新版重跑对账。 代码快照与仓库最新版可能不同。用最新版重跑出的矩阵与官方发布的对不上,不是论文错了,是版本不一致。
4.5 假设—支持—反对
| 假设 | 支持 | 反对 |
|---|---|---|
| 五个任务的人群定义在论文里有明确交代 | 论文是 JAMIA 正式发表,方法节应有细节 | 条目页本身完全没写,只靠论文补,可及性差 |
| 默认设置在各任务上表现合理 | 作者是方法学团队,默认值应经过验证 | 「默认」意味着未针对本数据调优,个别任务可能次优 |
| 稀疏张量的时间步在各住院间对齐 | L 是统一维度,说明做过对齐 | 对齐的基准(入 ICU 时刻还是首次观测时刻)未在条目页说明 |
| 特征别名表足以支撑跨库对齐 | 特意提供两份别名文件,说明作者预期此用途 | 别名只解决命名,不解决聚合窗口与统计量的差异 |
| eICU 的 200 个 ICU 可做机构分层 | 源库有机构标识 | 矩阵是否保留该列为普通列、还是展开成类别特征,未说明 |
4.6 哪些地方做得扎实
接口的统一性最值得肯定。两个数据库、五个任务,输出格式一模一样:population/ 放人群与标签,features/ 放矩阵,code/ 放代码。这种一致性让「把同一段训练代码在五个任务上跑一遍」成为可能,而这在异构数据里通常要写五套胶水代码。
别名文件的远见也少见。多数数据发布只给特征名,不给别名映射。别名表的存在说明作者清楚跨库使用是必然场景。
代码快照与仓库分离是个成熟做法。快照保证复现,仓库支持演进,两者各司其职。多数项目只给其中一个。
4.7 结论强度分级
| 判断 | 强度 | 依据 |
|---|---|---|
| 五个任务的 N、d、D 数值 | A | 条目页明确列表 |
| MIMIC 侧 17,710 患者 / 23,620 住院、仅 MetaVision 2008–2012 | A | 条目页原文 |
| eICU 侧 139,367 患者 / 200,859 住院、200 个 ICU、2014–2015 | A | 条目页原文 |
| 特征维度最高约 8,000 | A | 条目页摘要原文 |
| 无数据划分 | A | 条目页无任何划分信息,属客观缺项 |
| 无伦理声明 | A | 条目页无 IRB 章节 |
| 默认设置可能非最优 | D | 推断,无直接证据 |
| 别名表足以支撑跨库对齐 | C | 单一来源(别名文件存在),效果未验证 |
4.8 行序对应关系
矩阵行序与 population 行序是否一致,条目页没说。这件事在工程上必须验证,因为后续所有 join 都依赖它。
验证方法:population 里若有患者或住院标识列,拿它与矩阵的第一行对齐检查——若矩阵保留了标识作为某一列,比对即可;若没有,只能通过行数一致加排序假设来间接确认。
这个不确定性带来一个后果:跨任务合并时,不能按行号拼。必须找到共同的标识列,或回到源库重新关联。
4.9 类别变量展开后的语义丢失
时不变特征里 d 高达 770,说明大量类别变量被展开成独热列。展开的代价是语义丢失:原来「入院类型 = 急诊」这一列,展开后变成三列二值变量,而这三列之间的互斥关系在矩阵层面不再显式。
对模型影响不大(互斥信息隐含在取值里),对分析影响很大。做特征重要性时,三个展开列各自的重要性不能相加当作「入院类型」的重要性;做缺失分析时,独热展开的缺失表现为全零,与「该类别为假」不可区分。
4.10 资助与利益冲突的信息价值
条目页列了四项资助:密歇根大学数据科学研究所、NSF IIS-1553146、NHLBI R25HL147207、NLM R01LM013325,并声明无利益冲突。
这组信息在方法研究里值得记一笔。管线类工作的资助来源通常决定它的设计取向——由数据科学研究所与计算生物学类基金支持的项目,倾向做通用工具;由临床科室主导的项目,倾向做特定任务。FIDDLE 的资助结构偏前者,这与它「不为任何任务优化」的设计选择是一致的。
§5 能做什么:四类任务与可执行骨架
5.1 四类任务
| 任务 | 输入 | 输出 | 可行性 |
|---|---|---|---|
| 模型对比基准 | 五个任务的矩阵 | 各模型性能 | 高,设计用途 |
| 预处理方案对比 | 本矩阵 vs 自建 | 性能与稳定性差异 | 高,需要自建一套 |
| 跨库泛化验证 | MIMIC 训练 / eICU 测试 | 性能衰减 | 中,需先对齐特征 |
| 时变特征的可解释性研究 | X.npz + 标签 | 关键时间窗与变量 | 中,稀疏结构增加难度 |
5.2 第一类:作为模型对比基准
这是最直接的用法,也是这套数据最主要的用途。
第一步 选定任务与侧
-- 从五个任务里选一个,从 MIMIC 侧或 eICU 侧选一边
-- 读 population/<task>.csv,记下 N,与 §2.2 的表核对
-- 不一致说明拿到的是更新版本或读错了文件
第二步 加载特征
-- s.npz → 时不变矩阵,X.npz → 时变张量
-- 先打印 type 与 shape,确认稀疏对象已被正确取出
-- 抽样检查非零率,若接近 100% 说明读成了稠密
第三步 固定划分
-- 数据页没给划分,必须自己定并写进论文
-- 推荐按患者而非按住院划分,避免同一患者跨集
-- 把划分的索引存成文件公开,否则结果不可比
第四步 泄漏检查
-- 对 ARF 与 Shock 任务,逐行比对特征非零时刻与 onset hour
-- 统计有多少行的特征越过了发病小时
-- 若比例高于 5%,需要截断窗口后重跑
第五步 训练与报告
-- 报告时同时给五个任务的数字,而不是只挑最好的那个
-- 给出划分策略、是否按患者分组、随机种子
第三步的「按患者而非按住院划分」值得单独强调。同一患者多次入 ICU 时,两次住院的特征高度相关。若按住院随机划分,同一患者的两次住院可能一次在训练集、一次在测试集,测试指标会虚高。这个错误在这类数据上极常见。
5.3 第二类:预处理方案对比
这是这套数据最独特的用法,也是它存在的核心理由。
设计思路是:拿同一批源数据,用 FIDDLE 的默认设置算一遍(即这套矩阵),再自己按另一种方案算一遍(比如更窄的时间窗、更激进的缺失插补),然后比两套矩阵训练出的模型性能差异。
| 对比维度 | FIDDLE 默认 | 自建方案 | 关注什么 |
|---|---|---|---|
| 时间窗 | 默认宽度 | 更窄或更宽 | 信息量与噪声的权衡 |
| 缺失处理 | 默认策略 | 前值填充或删除 | 对稀疏程度的影响 |
| 类别展开 | 默认方式 | 目标编码或嵌入 | 高维类别变量的处理 |
| 特征筛选 | 数据驱动 | 专家指定 | 先验与数据的贡献 |
这个实验的价值在于它把「预处理影响多大」变成一个可测的数。文献里常说「预处理很重要」,但很少有量化。有了这套现成矩阵作为对照组,量化变得便宜。
5.4 第三类:跨库泛化验证
两库并存的最直接用途。
| 实验 | 训练 | 测试 | 回答什么 |
|---|---|---|---|
| 库内前向 | MIMIC 早期 | MIMIC 后期 | 同库时间泛化 |
| 跨库前向 | MIMIC | eICU | 单中心到多中心的泛化 |
| 跨库反向 | eICU | MIMIC | 检查方向性偏倚 |
| 混合 | 两库合并 | 留出 | 上界参考 |
前提是先做特征对齐。做法是按特征名求交集,只保留两边都有的列。交集之外的列丢弃,代价是两边各自独有的信息损失。
对齐后还有一个问题:同一特征在两库的分布可能不同。比如同样叫「心率均值」的列,MIMIC 侧可能是分诊时刻的均值,eICU 侧可能是全程均值。对齐前应先算两边的分布,差异极大的先怀疑口径。
5.5 第四类:时变特征的可解释性
时变张量给了解释性研究一个入口:不只知道哪个变量重要,还能知道哪个时间窗重要。
可行做法是把时间维切段,看不同段的特征重要性如何变化。比如把入 ICU 后 48 小时切成四个 12 小时段,分别训模型看性能衰减。衰减曲线能回答「多早的信息还有用」这个临床问题。
障碍在于稀疏。三维稀疏张量做分段切片在实现上不直观,多数库对三维稀疏的支持有限。实际工程上常把张量按时间维展开成二维,切完再重塑。展开时的内存峰值要提前算。
5.6 不适合用它做的事
| 想法 | 为什么不行 |
|---|---|
| 恢复原始检验值 | 只给聚合后的统计量 |
| 研究某个具体变量的时序形态 | 已被聚合成均值/极值/斜率 |
| 做五任务以外的结局 | 只有这三类结局的矩阵 |
| 直接分析临床规律 | 特征已是加工产物,中间层被抹掉 |
| 引用其伦理批件 | 条目页无 IRB 声明,须追溯源库 |
| 用它的划分做跨论文比较 | 根本没有官方划分 |
5.7 一个可复用的基线报告模板
做基准研究时,报告里至少要有这七项。
| 项 | 内容 |
|---|---|
| 任务与侧 | 五个任务中的哪一个,MIMIC 还是 eICU |
| 人群规模 | N 的实际值,与官方表核对 |
| 划分策略 | 按患者还是按住院,比例,随机种子 |
| 泄漏检查 | 特征窗口是否越过 onset hour,越过的比例 |
| 特征版本 | s.npz / X.npz 是否用了别名对齐 |
| 评估指标 | AUROC、AUPRC 都给,类别不平衡时 AUPRC 更敏感 |
| 代码版本 | 用的是发布快照还是仓库最新版 |
最后一项常被漏。用了仓库最新版就该明说,因为它意味着结果不能与已发表矩阵直接对比。
5.9 三个任务的取舍建议
若只打算在一个任务上投入,选哪个取决于研究目的,不取决于任务难度。
| 目的 | 建议任务 | 理由 |
|---|---|---|
| 验证管线本身的可用性 | 院内死亡 48h | 人群最小、标签最清晰、文献基线最多 |
| 研究预测提前量 | ARF 或 Shock 的 4h 与 12h 对照 | 同一结局两个窗口,天然成对 |
| 做跨库泛化 | 休克 4h | 两库人群规模都最大,统计功效足 |
| 做类别不平衡方法研究 | 院内死亡 48h | 阳性率低,AUPRC 与 AUROC 分歧明显 |
第三条的理由值得展开。休克 4h 在 MIMIC 侧有近两万次住院、eICU 侧逾十六万次,是五个任务里人群最充足的。跨库实验最怕的就是某一边样本太少导致性能估计不稳,选人群最大的任务能把这个风险压到最低。
第四条针对的是评估指标。院内死亡是低发生率结局,模型容易在绝大多数阴性样本上取得高 AUROC,但少数阳性样本识别不好。这种任务上 AUPRC 更能反映真实差异,也更适合做方法对比。只报 AUROC 的论文在这类任务上常常看不出方法优劣。
5.10 DAIMS 24 项检查
| # | 维度 | 判定 | 说明 |
|---|---|---|---|
| 1 | 数据集名称 | 是 | MIMIC-III and eICU-CRD: Feature Representation by FIDDLE Preprocessing |
| 2 | 版本号 | 是 | v1.0.0,2021-04-28 |
| 3 | 持久标识符 | 是 | DOI 10.13026/2qtg-k467 |
| 4 | 最新版标识 | 是 | 10.13026/zwds-nn76 |
| 5 | 发布机构 | 是 | PhysioNet |
| 6 | 联系方式 | 是 | 条目页 contact |
| 7 | 许可条款 | 是 | Credentialed Health Data License 1.5.0 |
| 8 | 访问条件 | 是 | 凭证 + CITI + DUA |
| 9 | 引用格式 | 是 | 条目页给出 citeAs |
| 10 | 配套论文 | 是 | JAMIA 27(12):1921–1934,DOI 10.1093/jamia/ocaa139 |
| 11 | 数据来源机构 | 是 | MIMIC-III 与 eICU-CRD 各自标明 |
| 12 | 采集时间段 | 是 | MIMIC 2008–2012、eICU 2014–2015 |
| 13 | 地理范围 | 是 | 波士顿单中心 / 全美 200 个 ICU |
| 14 | 人群描述 | 是 | 成人 ICU 住院,五个任务各有规模 |
| 15 | 样本量 | 是 | 患者数与住院数均给出 |
| 16 | 文件清单 | 是 | population/ features/ code/ 结构明确 |
| 17 | 字段字典 | 是 | feature_names.json 与 aliases.json |
| 18 | 缺失值说明 | 否 | 未说明聚合与缺失处理的具体策略 |
| 19 | 去标识化方法 | 部分 | 继承源库,条目页未重述 |
| 20 | 伦理审批 | 否 | 无 IRB 声明 |
| 21 | 已知局限 | 否 | 无专门局限节 |
| 22 | 使用案例 | 是 | 论文给出任务定义与实验 |
| 23 | 更新计划 | 否 | 未说明 |
| 24 | 错误报告渠道 | 部分 | GitHub 仓库,但无专用 issue 流程 |
合计:是 15 / 部分 2 / 否 7 = 16 / 24。失分集中在缺失处理、伦理、局限、更新计划四处——这些都是数据描述类条目的常规项,缺项说明这份发布更偏「代码产物」而非「正式数据出版」。
§6 常见误读与引用陷阱
6.1 误读对照表
| 常见说法 | 实际口径 | 证据位置 |
|---|---|---|
| 这套数据含 MIMIC-III 全部病例 | 仅 MetaVision 子系统 2008–2012,舍弃 CareVue 时期 | 条目页取用范围说明 |
| 23,620 次 ICU 住院就是全部 | 是 MetaVision 子集的住院数,且五个任务各取其中一部分 | 条目页与任务表 |
| 特征就是原始变量 | 是聚合后的统计量,同一变量可能对应多列 | 管线三步说明 |
| 五个任务用同一批人 | 每个任务有独立人群,规模从 8,577 到 164,333 不等 | 任务维度表 |
| 有官方的训练/测试划分 | 未提供任何划分 | 条目页无划分信息 |
| 有伦理批件可引 | 条目页无 IRB 声明,须追溯源库 | 条目页章节结构 |
| 时不变特征就是静态属性 | 含大量「全程是否发生」类标志,临床上是动态的 | 维度异常(d 达 770) |
| 可以直接和原库数据 join | 无患者或住院标识保留说明,行序对应关系未文档化 | 条目页未提标识列 |
| eICU 侧覆盖多年 | 仅 2014 与 2015 两年 | 条目页原文 |
| 特征维度「约 8,000」是每个任务 | 是全体特征数的上界,各任务从 96 到 7,307 不等 | 任务维度表 |
| 用 GitHub 最新版能得到同样矩阵 | 快照与仓库可能不一致,复现须用快照 | 条目页 code/ 说明 |
| 这是数据集而非方法 | 是方法产出的矩阵,引用时应同时引 JAMIA 论文 | 条目页引用要求 |
最后一条值得单独说。PhysioNet 条目页明确要求引用时同时标注数据集与原始 JAMIA 论文。只引数据集不引论文,读者无从知道 FIDDLE 是什么方法;只引论文不引数据集,读者无从知道你用的是哪一版矩阵。
6.2 技术性陷阱
陷阱一:numpy.load 后直接当数组用。npz 里存的是 scipy 稀疏对象,需要 .item() 取出。直接索引会报维度不符或返回包装对象,错误信息通常不指向真因。
陷阱二:三维稀疏张量做稠密化。X.npz 的形状是 N×L×D,任意一维都不小。np.array(稀疏张量) 会尝试创建 N×L×D 的稠密数组,内存瞬间爆掉。全程用稀疏操作,需要切片时用 tocsr 之类的转换配合行索引。
陷阱三:按行号跨任务对齐。五个任务的 population 行序不同,行号 i 在 mortality 与 ARF 里可能对应完全不同的住院。多任务学习必须按住院标识对齐,而标识列是否保留在矩阵里,条目页未说明——这本身是个需要开箱后确认的问题。
陷阱四:把 onset hour 当成特征。它是标签侧的信息,不是输入侧的。若误把它当成时不变特征喂进模型,等于把答案的一半给了模型,指标会高得离谱。
陷阱五:忽略稀疏格式的行索引顺序。稀疏矩阵的 indptr 与 indices 是压缩存储,若手动重建或做过行置换,索引顺序容易与 population 的行序脱节。任何行操作后都要验证对齐。
陷阱六:用 feature_names.json 的长度校验矩阵维度。文件名里的 d 与矩阵实际列数应该一致,但若加载时把别名文件当特征名文件误用,长度会对不上,且报错指向的是 shape 不匹配而非文件读错。
§7 在生态中的位置
7.1 在 EHR 预处理工具链中的位置
EHR 预处理这件事,公开工具不止 FIDDLE 一家。按设计取向可以排成三类。
| 取向 | 代表思路 | 特点 |
|---|---|---|
| 数据驱动 | FIDDLE | 特征由数据算出,不依赖专家先验 |
| 规则驱动 | 各类基于临床指南的变量定义 | 可解释性强,覆盖面受规则限制 |
| 端到端 | 直接喂原始时序给深度模型 | 省去特征工程,但可解释性弱 |
FIDDLE 的定位在第一类。它不预设「应该有哪些特征」,而是从数据里算出一批候选,再筛。这与规则驱动的差别在于:规则驱动能保证每个特征都有临床含义,数据驱动不能——筛出来的某个列可能只是噪声的聚合,名字还看不出来。
这个取向的代价在可解释性研究上会显现。做特征重要性分析时,若重要特征是「某变量在某个窗内的某个统计量」而你无法解释它为什么重要,这个发现的价值就有限。
7.2 与同系列条目的分工
| 条目 | 记录单位 | 给出形态 | 适用 |
|---|---|---|---|
| MIMIC-III | 患者/住院/事件 | 原始多表 | 任意分析 |
| eICU-CRD | 患者/住院 | 原始多表 | 任意分析 |
| FIDDLE 特征集(本页主条) | 任务内住院 | 特征矩阵 | 建模与预处理对比 |
一句话:前两个是原料,这一份是半成品。半成品省事,但改不了配方。
7.3 在可复现性讨论中的位置
这套数据的意义超出了一份数据集本身,它是一个方法论立场:预处理应当被发布,而不只是被描述。
传统做法是论文里写「我们提取了 42 个变量,用中位数填充缺失」,代码不公开,数据不公开。结果是没人能真正复现,也没人能判断某个性能提升来自模型还是来自填充策略的差异。
发布矩阵的做法把这一步变成可检验的。它的代价是灵活性——用发布矩阵就不能改预处理——但换来的是可比性。在方法研究这个场景里,可比性通常更值钱。
这个立场近年在医疗 AI 领域逐渐被接受,但落地的不多,因为发布矩阵需要额外的工作量(清理、文档化、写别名表),而学术激励主要奖励论文而非数据。
7.4 库内互链点
| 相关条目 | 关系 |
|---|---|
| MIMIC-III(rid 106) | 直接上游,原始数据 |
| eICU-CRD(rid 552) | 直接上游,多中心原始数据 |
| MIETIC(rid 1294) | 同为 MIMIC 派生层,但记录单位是急诊就诊、形态是指令语料 |
| MIMIC-IV-Ext 系列 | 同为派生数据,但多为任务专用标注而非通用特征 |
7.5 对国内同类工作的参照
国内做 ICU 数据预处理标准化,障碍主要在三点。
一是源数据不出院。 MIMIC 能做成公开预处理产物,前提是原始数据已经公开。国内 ICU 数据大多在院内,即便做了标准化,也很难把矩阵发出来。
二是变量定义缺共识。 FIDDLE 的「数据驱动筛选」能成立,是因为它不需要事先约定「什么算急性呼吸衰竭」。但要定义标签(ARF、休克),仍然依赖临床共识。国内各院对同一结局的判定标准差异较大,标签层面就难统一。
三是工作量不被计入成果。 做一套预处理管线并发布,需要数月工程,但在评价体系里往往不如一篇模型论文。这是激励问题,不是技术问题。
三点解释了为什么这类「半成品」数据在国内少见——它不是难做,是没人有动力做。
§8 总结:一份半成品的用法与边界
8.1 适用与不适用
| 适用 | 不适用 |
|---|---|
| 多任务模型对比基准 | 恢复原始检验值 |
| 预处理方案的影响量化 | 五任务以外的结局 |
| 跨库泛化验证(需先对齐) | 直接跨库拼接 |
| 时变特征的可解释性研究 | 某变量时序形态分析 |
| 可复现性方法研究 | 引用其伦理批件 |
| 教学用的现成特征矩阵 | 临床规律发现 |
8.2 三句话
第一句,它把预处理决定从论文文字变成可下载的矩阵,于是「预处理差异」第一次能和「模型差异」分开谈。
第二句,它的核心特征是两库五任务同一套接口,代价是特征集为数据驱动筛选,不可跨任务移植。
第三句,它的缺项同样明确:无数据划分、无伦理声明、无局限节、无缺失处理文档,四项都要自己补或追溯源库。
§9 术语与口径速查
9.1 缩写
| 缩写 | 全称 | 中文 | 备注 |
|---|---|---|---|
| FIDDLE | Flexible Data-driven preprocessIng pipeLinE for EHR | 灵活的 EHR 数据驱动预处理管线 | 本页主条的方法来源 |
| EHR | Electronic Health Record | 电子健康记录 | |
| ICU | Intensive Care Unit | 重症监护病房 | |
| ARF | Acute Respiratory Failure | 急性呼吸衰竭 | 两个窗口任务 |
| onset hour | — | 发病小时 | 入 ICU 起算的小时数 |
| N | — | 住院数 | 矩阵行数 |
| d | — | 时不变特征数 | s.npz 列数 |
| D | — | 时变特征数 | X.npz 第三维 |
| L | — | 时间步数 | X.npz 第二维 |
| npz | — | numpy 压缩包 | 内含 scipy 稀疏对象 |
| AUROC / AUPRC | Area Under ROC / PR Curve | ROC 曲线下面积 / PR 曲线下面积 | 常用评估指标 |
| DAIMS | Data Attribution and Integrity Metadata Standard | 数据归属与完整性元数据标准 | 用于 §5.8 |
| MetaVision / CareVue | — | 两套临床信息系统 | MIMIC-III 内部按此分家 |
9.2 口径对照
| 说法 | 本页采用的精确口径 |
|---|---|
| 患者数 | MIMIC 侧 17,710、eICU 侧 139,367 |
| 住院数 | MIMIC 侧 23,620、eICU 侧 200,859 |
| 任务人群 | 五个任务各不相同,不能混用 |
| 特征维度 | 单任务最高 7,307(MIMIC mortality 的 D);全体上界约 8,000 |
| 年份 | MIMIC 2008–2012、eICU 2014–2015 |
| 数据划分 | 无官方划分 |
| 伦理 | 条目页无声明,追溯源库 |
| 代码版本 | 复现用快照,演进用仓库 |
§10 事实清单与附录
10.1 事实清单
- 英文全名:MIMIC-III and eICU-CRD: Feature Representation by FIDDLE Preprocessing。
- 发布平台:PhysioNet,v1.0.0,2021-04-28。
- DOI(版本):10.13026/2qtg-k467。
- DOI(最新):10.13026/zwds-nn76。
- 作者:Tang S.、Davarmanesh P.、Song Y.、Koutra D.、Sjoding M. W.、Wiens J.。
- 访问级别:Credentialed。
- 许可:PhysioNet Credentialed Health Data License 1.5.0。
- MIMIC-III 侧:17,710 患者 / 23,620 次 ICU 住院,仅 MetaVision,2008–2012。
- eICU 侧:139,367 患者 / 200,859 次 ICU 住院,200 个 ICU,2014–2015。
- 源表数:MIMIC 10 张、eICU 18 张。
- 五个任务:mortality_48h、ARF_4h、ARF_12h、Shock_4h、Shock_12h。
- MIMIC 侧任务规模与维度:8,577/96/7,307;15,873/98/4,045;14,174/96/4,816;19,342/98/4,522;17,588/97/5,500。
- eICU 侧任务规模与维度:77,066/146/2,382;138,840/717/5,854;122,619/119/2,713;164,333/770/6,314;144,725/128/2,946。
- 特征总数上界:约 8,000。
- 中间格式:四列 [ID, t, variable_name, variable_value]。
- 输出格式:s.npz(N×d)、X.npz(N×L×D),配 feature_names.json 与 feature_aliases.json。
- 目录结构:population/、features/<task>/、code/。
- 代码:快照在 data/code/,最新版在 github.com/MLD3/FIDDLE。
- 配套论文:JAMIA 2020;27(12):1921–1934,DOI 10.1093/jamia/ocaa139。
- 源库 DOI:MIMIC-III v1.4 为 10.13026/C2XW26;eICU-CRD v2.0 为 10.13026/C2WM1R。
- 资助:MIDAS、NSF IIS-1553146、NHLBI R25HL147207、NLM R01LM013325。
- 伦理:条目页无 IRB 声明,仅利益冲突声明与致谢。
- 数据划分:无。
- 已知局限:条目页未设专节。
10.2 附录 A:判断某个用法是否成立
| 想做的事 | 前置判断 | 结论 |
|---|---|---|
| 训一个 ICU 预测模型 | 是否用过 onset hour 做泄漏检查 | 检查后成立 |
| 五任务横向对比 | 是否固定了划分与代码版本 | 固定后成立 |
| 跨库泛化 | 是否做过特征对齐 | 对齐后成立 |
| 引用伦理批件 | 是否追溯到源库 | 需追溯 |
| 复现已发表数字 | 是否用发布快照 | 用快照才成立 |
| 多任务学习 | 是否按住院标识对齐行序 | 对齐后成立 |
| 恢复原始值 | 是否有原库访问 | 必须回原库 |
| 解释重要特征 | 是否能说清该列的聚合口径 | 说不清则结论受限 |
10.3 附录 B:字段语义的四处易错点
| 字段/概念 | 字面理解 | 实际含义 |
|---|---|---|
| 时不变特征(s) | 临床静态属性 | 不随时间步变化,含大量「全程是否发生」标志 |
| 发病小时 | 一个普通字段 | 标签侧信息,不能当特征 |
| 特征名(feature_names) | 变量名 | 聚合后统计量的名字,含窗口与算子 |
| code/ | 完整源码 | 发布时刻快照,非仓库最新版 |
10.4 附录 C:逐项证据链
| 事实 | 证据源 |
|---|---|
| 两库患者与住院数 | PhysioNet 条目描述页 |
| 五任务 N/d/D 表 | 同上 |
| MetaVision 2008–2012 取用范围 | 同上 |
| eICU 200 个 ICU、2014–2015 | 同上 |
| 特征上界约 8,000 | 条目页摘要原文 |
| 四列中间格式 | 同上方法说明 |
| 目录结构与文件类型 | Files 区 |
| 代码快照与仓库关系 | 条目页 code/ 说明 |
| JAMIA 卷期与 DOI | 条目页引用区 |
| 资助编号 | 条目页致谢 |
10.5 附录 D:引用格式
Tang, S., Davarmanesh, P., Song, Y., Koutra, D., Sjoding, M. W., & Wiens, J. (2021).
MIMIC-III and eICU-CRD: Feature Representation by FIDDLE Preprocessing (version 1.0.0).
PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/2qtg-k467
Tang, S., Davarmanesh, P., Song, Y., Koutra, D., Sjoding, M. W., & Wiens, J. (2020).
Democratizing EHR analyses with FIDDLE: a flexible data-driven preprocessing pipeline
for structured clinical data. Journal of the American Medical Informatics Association,
27(12), 1921–1934. https://doi.org/10.1093/jamia/ocaa139
10.6 附录 E:开箱检查清单
| 项 | 确认要点 |
|---|---|
| 稀疏对象 | numpy.load 后是否已用 .item() 取出 |
| 形状核对 | s.npz 是否为 N×d、X.npz 是否为 N×L×D |
| 人群核对 | population 行数是否与官方表一致 |
| 特征名核对 | JSON 长度是否与矩阵维度一致 |
| 行序对应 | 矩阵行序是否与 population 行序一致 |
| 泄漏检查 | 时变特征是否越过 onset hour |
| 代码版本 | 快照与仓库是否混用 |
编辑说明
核验时点:2026-10-18。规模、维度、任务定义、源库版本、文件结构、许可、访问条件与引用格式均回读 PhysioNet 条目描述页(v1.0.0 与无版本号两个入口)原文。
核验方式:两库患者数与住院数、五任务的 N/d/D 数值、MetaVision 2008–2012 与 eICU 200 个 ICU/2014–2015 的取用范围、四列中间格式、目录结构与文件类型、代码快照与仓库的关系、特征总数上界约 8,000,全部以条目页文本与文件区为准;JAMIA 卷期与 DOI、源库 DOI、资助编号取自条目页引用与致谢区。
口径边界:「特征维度最高约 8,000」为全体上界,本页在 §2.2 分任务列出实际 d 与 D,不把上界当作单任务规模;「两库可直接拼接」在本页全程否定,§4.4 与 §6.1 两处明确给出必须先对齐的理由;「时不变特征」在本页按工程含义(不随时间步变化)使用,并在 §4.4 坑一说明其与临床静态属性的区别;存储体积官方未公布,§3.4 的估算是按非零率假设推出的量级参考,已标明依据。
未覆盖内容:条目的具体排除标准、特征筛选的阈值参数、时间步 L 的对齐基准、稀疏格式的具体实现(是否展开为二维)、矩阵中是否保留患者与住院标识列,均未在条目页公开,本页不猜测,并在 §2.6、§4.4、§5.7 三处标为「开箱后需确认」;条目页无 IRB 声明,本页不代为推断,只指出应追溯源库;五个任务的实际模型性能不属于本条目的内容范围。
体例说明:本页按 v4 体例撰写,章节编号 §1–§10 连续,术语与口径集中在 §9,事实清单与附录集中在 §10。本页由「千方病案医数集」编辑部撰写,最终以数据库记录为准。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- clinical-trajectory-flow-icu — 共享标签:电子健康记录 / 重症监护 / 真实世界数据 / 评测基准 / 时序数据
- insulin4rl — 共享标签:电子健康记录 / 重症监护 / 真实世界数据 / 评测基准 / 时序数据
- gossis-1 — 共享标签:电子健康记录 / 重症监护 / 真实世界数据 / 时序数据
- cinc-2019 — 共享标签:电子健康记录 / 重症监护 / 评测基准 / 时序数据
- cinc-2012 — 共享标签:电子健康记录 / 重症监护 / 评测基准 / 时序数据
- lacuna — 共享标签:电子健康记录 / 重症监护 / 评测基准 / 时序数据
- glucose-management-mimic — 共享标签:电子健康记录 / 重症监护 / 真实世界数据 / 时序数据
- clif — 共享标签:电子健康记录 / 重症监护 / 评测基准 / 时序数据
- mit-critical-datathon-2023 — 共享标签:电子健康记录 / 重症监护 / 评测基准 / 时序数据
- mdv — 共享标签:电子健康记录 / 真实世界数据 / 时序数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

