信息速览
INFOBOX — Insulin4RL 一屏速览
维度 内容 本质 ICU 静脉胰岛素滴定的离线强化学习(ORL)数据集,主打"自然不规则时间间隔"(输入与决策均不分箱) 来源 派生自 MIMIC-IV v3.1(Beth Israel Deaconess Medical Center,2008-2022 年 ICU 收治) 团队 University College London(UCL)——Thomas Frost、Steve Harris(2 作者) 论文 arXiv:2606.19481 [cs.LG],v1 2026-06-17,Under submission(doi:10.48550/arXiv.2606.19481) 规模 12,209 患者 / 13,652 episode / 376,310 条标注决策(患者数、决策数各有双口径) 表示 MEDS 事件流(Medical Event Data Standard),每事件 (f,v,t),默认最近 400 事件 / 过去 7 天 动作 Maintain / Stop infusion / Change rate;速率改变量化 14 档 V={±5,±4,±3,±2,±1.5,±1,±0.5} units/hr 奖励 当前/后续血糖 + 1/3/7/14/28 天存活指示 + sojourn time η 数据格式 all_data.parquet(原始)+ *.safetensors(标准化张量)+ demographics.parquet 元数据 配套 tutorial_notebook.ipynb + GitHub 复现脚本(tdgfrost/insulin4rl) 评估 fitted Q-evaluation(FQE)标准化协议;基线 BC / IQL / CQL(MDP 与 SMDP 变体) 获取 PhysioNet Credentialed Access(同 MIMIC-IV 门槛);代码 GitHub 公开 库内互链 MIMIC-IV(上游源库)、MIMIC-CXR 家族、电子健康记录/重症监护/时序数据/真实世界数据/评测基准
Insulin4RL 是一个"给重症强化学习数据拆掉时钟"的数据集:绝大多数医疗强化学习研究把病人的时间轴切成整齐的一小时或四小时格子(binning),因为神经网络和标准马尔可夫决策过程(MDP)喜欢规整的输入。但这个规整是假的——真实的临床决策从不在整点发生,血糖测量、胰岛素调整、营养变化都踩在各自不规则的时刻上。Insulin4RL 把这种"天然不规则"当作第一性事实保留下来:状态是一串带时间戳的医疗事件流,决策点落在真实的血糖测量时刻,两次决策之间的间隔本身就是一个变量(sojourn time η)。它因此成为首个公开的、输入与决策均自然不规则的重症医疗离线强化学习数据集。
导语读法三则:
- 只想下数据做实验:直奔 §6 获取与许可——注意它沿用 MIMIC-IV 的受限访问协议,不是公开直链;代码才在 GitHub 公开。
- 关心方法学:直奔 §2 的表示设计与 §5 的评估协议——事件流状态、SMDP 框架、FQE 协议三段连读。
- 做离线 RL 基准对标:直奔 §5 基线结果与 §7 生态——BC/IQL/CQL 的 MDP 与 SMDP 变体结果可直接对标。
§0 导读:这个数据集解决什么问题
离线强化学习(Offline RL, ORL)被视为改善临床决策的一条有前途的路径:它不要求在线试错,而是直接从历史电子健康记录(EHR)里学习策略。然而这条路径上横着一道被长期忽视的地基问题——时间离散化(discretisation / binning)。为了让数据适配标准 MDP 与神经网络,研究者普遍把病人的连续时间轴重采样成固定长度的格子(如 1 小时或 4 小时窗口)。Insulin4RL 的论文明确列出这样做的三重代价:
- 反事实伪影(counterfactual artefacts):把数据压进宽窗口,会掩盖快速变化的生理状态,甚至诱发"因果反转"——记录下来的临床事件序列与真实的物理相互作用相矛盾。
- 性能退化(performance degradation):在重采样数据上训练出的模型,一旦部署回天然不规则的真实临床环境,性能可能崩塌——在某些模拟环境中最高下降 60%。
- 评估偏差(evaluation bias):标准的离策略评估(OPE)在分箱数据上可能引入偏差,显著高估模型收益,从而掩盖对患者的风险。
这些结论综合自近期 in silico trial 的证据。Insulin4RL 的回答是:换一个地基。它不把时间切块,而是采用基于 MEDS(Medical Event Data Standard,医疗事件数据标准) 的事件驱动表示——状态是一串事件元组 (f, v, t),其中 f 是特征整数码、v 是数值、t 是相对当前决策的分钟数。因为每个事件携带自己的时间戳,模型可以直接用嵌入网络处理不规则采样数据,无需离散化、无需插补、无需人为规整时间步。
数据集聚焦于一个具体而高风险的临床场景:ICU 静脉胰岛素滴定。高血糖与低血糖都独立地与危重病人的发病率和死亡率升高相关,而静脉胰岛素输注剂量的优化至今仍是重症领域公认的争议地带——随机对照试验对"不同患者亚组的目标血糖区间"缺乏清晰结论。Insulin4RL 把"何时、调多少"的临床决策结构化为强化学习动作,让模型能在贴近真实实践的采样假设下被训练与评估。
由于决策发生在不规则间隔上,这些轨迹天然可以按**半马尔可夫决策过程(SMDP, semi-Markov decision process)**处理——这也是数据集的一个核心卖点:它同时支持 MDP 与 SMDP 两种时间假设的建模与对比。
§0 读法三则:
- 这个条目是"数据集 + 方法论文 + 评测基准"三合一:本体是带标签的 ICU 轨迹、论文提供表示与协议、配套给出基线结果,三者共用一套获取门槛(§6)。
- 全文统计数字凡出现跨源冲突处,均在相应章节注明双口径,并在坑点清单(§10)集中存照,读数字前先读 §10。
- 检索时若把"real-time"当成"实时系统/在线推理"会误解——这里的 “Real-Time” 指"真实临床轨迹中当场发生的决策时刻",而非工程意义上的实时计算(详见坑点)。
0.1 为什么"分箱"是个问题:一个直观的三段论
要理解 Insulin4RL 的价值,先要理解它反对什么。假设一位 ICU 病人的血糖在 14:00 是 5.0 mmol/L(偏低),护士在 14:03 下调了胰岛素速率,14:07 血糖回升到 5.8。如果用"每小时取一次"的分箱方式记录,这一整段会被压成一个"14 点时刻的单一状态"——血糖、速率、测量时间的信息全部塌缩。模型看到的是一张规整但失真的表:
| 视角 | 事件序列 | 模型能否学到"下调→回升"的因果 |
|---|---|---|
| 分箱(1 小时) | 14 点:血糖 5.4、速率 X | 难——动作与后果被同时压进一格 |
| 不分组(Insulin4RL) | 14:00 血糖 5.0 → 14:03 下调速率 → 14:07 血糖 5.8 | 能——时序与因果清晰可辨 |
这就是论文所说的"反事实伪影":分箱会掩盖快速变化的生理,甚至在极端情况下诱导因果反转——记录下来的事件顺序与真实物理顺序相矛盾。Insulin4RL 的做法是把这一格彻底拆开,保留每个事件自己的时间戳。
0.2 数据集的三个"第一"
- 第一个公开的、面向 ORL 的、输入与决策均自然不规则的医疗数据集(论文自述 fill the gap)。
- 第一个把 ICU 胰岛素滴定完整结构化为 SMDP 转移并配 FQE 标准化协议的公开基准。
- 第一个明确以"分箱危害"为方法学靶子、并给出未分箱对照基线的医疗 RL 资源。
0.3 谁该读这个条目
- RL 方法研究者:需要一个"时间不规则"的真实环境来检验 OPE 方法是否在非均匀采样下仍然可靠。
- 临床信息学研究者:关心如何把床旁决策无损地表达成机器学习可用的结构。
- 数据工程/复现工程师:需要一份从 MIMIC-IV 到 RL 转移的可复现流水线参照(§4)。
0.4 一句话定位
Insulin4RL = 把 MIMIC-IV 的 ICU 血糖控制轨迹,从"按小时切块的表"变成"带时间戳的事件流 + 不规则决策转移",专门用来研究离线强化学习在真实采样假设下的表现。
0.5 术语密度提示
本条目术语较密,首次出现的关键词均标注英文。若只想快速判断"这东西和我有关吗",读这一节即可:
| 如果你是… | 你会关心… | 跳到 |
|---|---|---|
| RL 研究者 | 不规则时间基准、FQE、SMDP | §5 |
| 临床研究者 | 血糖控制、胰岛素滴定、队列 | §2 |
| 数据工程师 | 复现流水线、格式、许可 | §4 §6 |
| 管理者/评估者 | 可用性、风险、合规 | §6 §11 |
0.6 与"又一个 MIMIC 提取"的区别(重要)
市面上有大量"MIMIC 提取数据集",它们大多是把 MIMIC 的表筛一筛、拼一拼,产出仍是表格。Insulin4RL 的定位不同:它产出一个序贯决策问题——带状态、动作、奖励、终止的转移序列。这个区别决定了:
- 表格数据集:用于预测、分类、统计分析。
- Insulin4RL:用于策略学习、离策略评估、序贯决策研究。
换句话说,它把"数据"升级成了"环境"。这正是"AI-Ready"在 RL 语境下的含义。
0.7 一图看懂数据流
ICU 真实临床过程(BIDMC 2008-2022)
│ 血糖测量 / 胰岛素输注 / 营养 / 给药 …
▼
MIMIC-IV v3.1(原始 EHR,分表存储)
│ 筛选:胰岛素输注 + 血糖测量
▼
临床轨迹(每患者若干 episode)
│ 事件驱动编码 (f,v,t) + 决策标注
▼
Insulin4RL(all_data.parquet + safetensors)
│ 标准化 / 划分 0.8-0.1-0.1
▼
RL 训练与 FQE 评估
这条链的每一环都对应本条目的一节,可按需跳读。
§1 数据集速览:十问十答
Q1:Insulin4RL 到底是什么?
一个面向离线强化学习的医疗数据集,内容是 ICU 里静脉胰岛素输注滴定的真实临床轨迹。它的独特性在于"自然不规则"——输入事件的时间戳和决策时刻都不经过固定分箱,直接保留真实采样节奏。它派生自 MIMIC-IV v3.1,由 UCL 的 Thomas Frost 与 Steve Harris 构建,托管于 PhysioNet。
Q2:规模有多大?
12,209 名患者 / 13,652 episode / 376,310 条标注决策。注意两处双口径:PhysioNet 项目页摘要写 12,214 名患者(正文统计段与 arXiv 均为 12,209);决策数在投稿摘要里写"over 375,000",在 PhysioNet 正文写精确的 376,310。本条目正文以 12,209 与 376,310 为准。
Q3:数据从哪来?
来自 MIMIC-IV v3.1(Medical Information Mart for Intensive Care IV)——Beth Israel Deaconess Medical Center 在 2008-2022 年间的去标识化 ICU 收治记录。纳入标准:ICU 期间至少接受过一次胰岛素输注;episode 至少含一次与胰岛素滴定决策对应的血糖测量。
Q4:一个 episode 是怎么划定的?
从胰岛素输注开始前 24 小时起算,到输注停止后 24 小时结束。输入特征限定于实验室结果、静脉给药/推注、类固醇、营养与人口学信息。
Q5:动作空间长什么样?
三类互斥离散动作:Maintain(维持/“Do nothing”)、Stop the infusion(停止输注)、Change the infusion rate(改变输注速率)。速率改变量进一步量化成 14 个有序剂量档:V={±5, ±4, ±3, ±2, ±1.5, ±1, ±0.5} units/hr。单次改动超过 5.5 units/hr 的离群事件会被剔除,把模型限制在临床安全的调整范围内。
Q6:状态怎么表示?
用 MEDS(Medical Event Data Standard) 事件驱动表示。每个事件是一个元组 (f, v, t):f=特征整数码、v=数值、t=相对当前决策的分钟数。默认上下文窗口是最近 400 个事件(可回溯过去 7 天 / 168 小时)。药物与营养事件表示的是输注速率的"变化"或一次推注给药。
Q7:奖励怎么给?
每个标注转移携带多种潜在奖励信号以支持不同评估设置:当前与后续血糖测量值、1/3/7/14/28 天存活指示,以及到下一状态的 sojourn time η(分钟)。还提供 1/3/7/14/28-day-alive 与 -alive-final(相对轨迹末状态)两套存活标签。
Q8:交付成什么文件?
两套并行:all_data.parquet(Apache Parquet,含全部原始输入与标签特征)与 *.safetensors(state/action/reward/done 张量转移,状态已做 log 变换 + 标准化,标准化常量取自训练队列)。另附元数据(feature mappings、outlier thresholds、demographics.parquet)与 tutorial_notebook.ipynb。全套生成文件 4.16 GB。
Q9:怎么拿数据?
走 PhysioNet Credentialed Access,门槛与 MIMIC-IV 相同:认证用户 + 完成 CITI 培训 + 签署数据使用协议(DUA)。复现脚本在 GitHub(tdgfrost/insulin4rl)公开。
Q10:适合直接上临床吗?
不适合。它是方法学研究资源,论文状态为 Under submission,数据集本身未经临床验证;临床部署前需要独立的前瞻性验证与监管评估。
1.1 一句话档案
| 问题 | 一句话答案 |
|---|---|
| 是什么 | ICU 静脉胰岛素滴定的离线 RL 数据集 |
| 从哪来 | MIMIC-IV v3.1 派生 |
| 多大 | 12,209 患者 / 13,652 episode / 376,310 决策 |
| 特别在哪 | 输入与决策都不分箱(自然不规则) |
| 怎么表示 | MEDS 事件流 (f,v,t) + SMDP 转移 |
| 怎么评估 | FQE 标准化协议;BC/IQL/CQL 基线 |
| 怎么拿 | PhysioNet credentialed access |
| 能上临床吗 | 不能,是研究资源 |
1.2 读者常见三问
问:我需要读过 RL 才能用它吗?
需要基础。数据集本身是"转移格式",但要用好它必须理解 MDP/SMDP、OPE、FQE 等概念。纯临床背景的读者可先读 §2、§3 理解数据形态,再补 RL 基础。
问:它和普通的 MIMIC 提取队列有什么不同?
普通 MIMIC 提取队列给你一张表;Insulin4RL 给你一个带动作、奖励、终止信号的序列决策问题——这是它被称为"RL 数据集"的根本原因,而不是简单的数据筛选。
问:为什么强调"第一个"?
因为在此之前,医疗 ORL 研究要么用分箱数据,要么自己分箱,没有公开的不规则时间基准来对照。Insulin4RL 让"是否分箱"第一次成为一个可以被公开复现实验检验的变量。
1.3 逐步理解路径(给不同背景的读者)
路径 A(RL 背景,零临床知识)
- 先看 §3.2 的决策定义,理解"一个决策长什么样"。
- 再看 §5.2 的基线算法,理解"怎么用"。
- 最后看 §2.2 的队列统计,理解"数据有多难"。
路径 B(临床背景,零 RL 知识)
- 先看附录 K 的 7 个 RL 概念最小入门。
- 再看 §0.1 的"分箱为什么是问题"。
- 最后看 §6 的获取许可,理解"怎么合规使用"。
路径 C(数据工程背景)
- 直奔 §4 的复现流水线。
- 看附录 J 的 SOP 骨架。
- 看附录 M 的常见错误与回避。
1.4 三个最容易误解的点
| 说法 | 常见误解 | 正确理解 |
|---|---|---|
| “Real-Time” | 实时系统/流式推理 | 真实床旁决策时刻(坑 4) |
| “safetensors” | 只有这一种格式 | 与 parquet 并行,两套都提供 |
| “12,214 patients” | 最新修订数 | 与 12,209 是跨源双口径(坑 1) |
§2 数据构成与规格
2.1 规模、来源与机构构成
Insulin4RL 的每一段轨迹都源自 MIMIC-IV v3.1 中的一次 ICU 收治。构建流程先在 MIMIC-IV 里筛出糖尿病相关的静脉胰岛素输注事件,再按纳入标准过滤,最终得到 12,209 名唯一患者的 13,652 个 episode。患者被切分成 episode 的方式有两种情形:绝大多数只有一个 episode,少数因多次 ICU 收治或多次胰岛素使用而有多段。
来源机构单一:Beth Israel Deaconess Medical Center(BIDMC,波士顿),数据覆盖 2008 至 2022 年的 ICU 收治。这一点决定了数据集的"单中心"属性——所有患者来自同一家医疗体系、同一套临床流程与文档习惯,这是评估跨机构泛化性时必须注意的边界。
2.2 队列统计画像
下表的数字来自 PhysioNet 项目页 Cohort Statistics 段,是理解数据"形状"的关键:
| 统计维度 | Median | Mean | Min | Max |
|---|---|---|---|---|
| episode 时长(小时) | 28 | 42 | n/a | 35 天 |
| 每 episode 决策数(Total Decisions) | 17 | 28 | 1 | 598 |
| 低血糖事件(<4 mmol/L) | 0 | 0.4 | 0 | 17 |
| 高血糖事件(≥10 mmol/L) | 1.0 | 5.8 | 0 | 198 |
存活:91.4% 的患者在末段结束后 28 天仍存活(“survival 28 days after end of their final episode”)。episode 分布:约 92.4% 的患者只有一个 episode,5.6% 有两个,1.9% 有三个或更多(PhysioNet 同页另一段写作 92.5% 单 episode,属页内微漂移,已存照)。
这张表里最值得注意的是"每 episode 决策数"的巨大跨度:中位数 17 次,最大值却达 598 次。这意味着不同轨迹在时间维度上的长度差异近 35 倍,标准的固定长度批处理会非常不适配——恰恰印证了该数据集"必须按不规则处理"的设计初衷。
2.3 患者级切分与 train/val/test
数据集的 train/val/test 切分默认按 0.8 / 0.1 / 0.1(--train_test_split 0.8),且以患者为单位划分,避免同一患者同时出现在训练与测试集。safetensors 里的标准化常量(均值、方差)就是从训练队列统计出来的,所以在测试集上使用时不要重新拟合标准化参数。
2.4 单中心与纳入偏差
三个需要留意的纳入侧偏差:
- 单中心:全部来自 BIDMC,跨机构泛化未验证。
- 胰岛素输注准入:只纳入"ICU 期间接受过静脉胰岛素输注"的患者,因此这是一个人为选出的重症子人群——不是普通住院人群,也不是未使用胰岛素的患者。
- 离群剔除:单次速率改动 >5.5 units/hr 的决策被移除,因此模型学习的是"临床安全区间内"的调整行为,极端医嘱不在数据中。
2.5 从 MIMIC-IV 到 12,209 的筛选漏斗
数据集构建的筛选逻辑可以概括为一个漏斗:
MIMIC-IV v3.1 全库(BIDMC 2008-2022 全部 ICU 收治)
│ 条件 1:ICU 期间至少一次胰岛素输注
▼
胰岛素使用相关收治
│ 条件 2:episode 至少含一次与滴定决策对应的血糖测量
▼
有效 episode(每个起于输注前 24h、止于停止后 24h)
│ 条件 3:剔除单次改动 >5.5 units/hr 的离群决策
▼
Insulin4RL:12,209 患者 / 13,652 episode / 376,310 决策
三道筛选每一道都在"保真"与"安全/可用"之间做取舍:条件 1 保证场景纯度,条件 2 保证可标注性,条件 3 保证动作落在安全区间。代价是覆盖面收窄(见 §2.4)。
2.6 特征工程的取舍
输入特征被限定在"实验室结果 + 静脉给药/推注 + 类固醇 + 营养 + 人口学"五类。为什么不做更广的特征(如全部护理记录、影像、医嘱文本)?论文的取舍逻辑是:只保留与血糖控制因果相关、且能可靠抽取为结构化事件的量。这样做有得也有失:
| 取舍方向 | 得到 | 失去 |
|---|---|---|
| 限定特征类 | 事件可靠、噪声低、可解释 | 可能遗漏未结构化的关键上下文 |
| 事件驱动表示 | 无插补伪影、时序保真 | 需要模型能处理变长序列 |
| 单中心 | 流程一致、质量可控 | 跨机构泛化未验证 |
2.7 数据完整性与校验
GitHub 仓库提供 SHA256SUMS 与 generate_checksums.py:使用者可在生成后校验文件一致性,判断复现是否与官方发布对齐。对研究可复现性而言,这是一个小而关键的设计——它让"我用的数据到底是不是官方那份"成为一个可核验的问题。
§3 表示与标注:把病床边的决策刻进张量
3.1 事件流状态表示
Insulin4RL 的状态不是"某个时刻的快照",而是一串医疗事件。每个事件是三元组 (f, v, t):f 是整数特征码(例如钠水平、心率),v 是数值,t 是相对当前决策的时间(如 5 分钟前、30 分钟前)。这种表示直接借用了 MEDS(Medical Event Data Standard)。它的好处是:
- 无需插补:事件只在真实发生时出现,不存在"某分钟必须有值"的强制假设。
- 无需聚合:不会为了对齐时间网格而把多个测量平均掉,避免掩盖快速生理变化。
- 时间即特征:t 本身就携带信息,模型可以学到"多久之前发生"对当前决策的影响。
上下文窗口默认取最近 400 个事件 / 过去 7 天(--context 400、--eligible_input_window 168)。对超出窗口的历史做右填充(NaN right-padding),保证张量形状规整。
3.2 决策点如何被标注
胰岛素滴定在临床上是反应式的——医生看到血糖值才调整剂量。因此数据集把决策点定义在每个血糖测量上:先把 glucose 测量聚合成 5 分钟窗口并取窗口内最新值,再考察该次测量之后的时间段(30 分钟,或到下一次血糖检查为止,取先到者),在这段窗口内识别出互斥的动作:
- Maintain:维持当前速率(二值指示)。
- Stop the infusion:停止输注。
- Change the infusion rate:改变速率——进一步记录速率改变量(新旧速率之差),并用 14 档有序剂量类量化。
这套标注把"医生的行为"翻译成"智能体可学习的动作",同时保证了动作与状态在时间上严格对应——因为一切都锚定在真实的血糖测量时刻上,而不是人为对齐的网格上。
3.3 动作量化的保真度
论文报告了一个关键验证:用 14 档有序剂量分类去逼近真实的连续剂量改变量,R² 达到 99.9%,平均绝对误差(MAE)仅 0.017 units。这说明离散化动作空间几乎无损地保留了临床真实的剂量调整分布(论文 Fig 3 显示临床剂量改变本身就强烈倾向于离散档位:±0.5、±1、±2 等)。换句话说,把动作离散化并非为了迁就算法而牺牲保真,而是因为临床行为本来就是离散的。
3.4 为什么用 SMDP 而不是 MDP
标准 MDP 假设相邻决策间隔固定(或至少不影响转移),但这里决策间隔是随机变量 η。数据集因此支持把轨迹当作 SMDP:转移发生在不规则时刻,η 参与折扣与价值估计。论文同时给出 MDP 与 SMDP 两种变体的基线,正是为了让研究者看清"时间假设"这一选择对策略学习的影响——这也是该数据集方法学价值最集中的地方。
3.5 事件类型的完整清单
输入特征被限定在若干类临床事件上(论文方法节明确列举):
| 事件类别 | 内容 | 在状态中的角色 |
|---|---|---|
| 实验室结果 | 血糖、电解质(如钠)、血气等 | 反映生理状态 |
| 静脉给药/推注 | 胰岛素输注速率变化、bolus 给药 | 反映治疗动作 |
| 类固醇 | 糖皮质激素等 | 影响血糖的混杂因素 |
| 营养 | 肠内/肠外营养 | 影响血糖的输入 |
| 人口学 | 年龄、性别、种族、入院类型、保险、婚姻、合并症 | 患者基线特征 |
对药物与营养,每一个事件表示的是输注速率的"变化"或一次推注给药,而不是持续值——这与"事件驱动"的哲学一致:只在状态改变时记录,而非按固定间隔采样。
3.6 决策前后的双面标注
数据集对每个决策同时保留"前"与"后"两面信息:
- 动作侧:maintain / stop / insulin_delta_change 都有
_prev与_next版本,分别对应当前与下一个标注决策。 - 状态侧:输入事件也以
_next后缀给出下一决策的输入状态。 - 结局侧:Mortality outcomes 提供 1/3/7/14/28-day-alive(相对本决策)与 -alive-final(相对轨迹末状态)两套。
这种"面包夹"式的标注让研究者既能做单步转移学习,也能做多步回报计算,而无需自己拼接——这是"开箱即用的 RL 转移"的直接体现。
3.7 与"每小时快照"式数据集的规格对照
| 规格维度 | 常规分箱数据集 | Insulin4RL |
|---|---|---|
| 时间间隔 | 固定(1h/4h) | 自然不规则 |
| 状态表示 | 网格对齐的向量 | (f,v,t) 事件序列 |
| 插补 | 常需前向/均值插补 | 无需插补 |
| 决策时刻 | 落在网格上 | 落在真实测量时刻 |
| 框架 | MDP | MDP 与 SMDP 均可 |
| OPE 风险 | 可能高估收益 | 支持未分箱评估 |
这张表概括了数据集"规格层面"的全部卖点。
3.8 一个决策的完整生命周期(逐帧拆解)
为了把抽象规格讲清楚,这里逐帧走一遍一次典型决策:
时间轴(示意)
------+--------+----------+---------+-----------+--------+------
血糖 下调速率 血糖回升 再次血糖 维持观察 血糖稳定
(决策点) (动作) (后果) (决策点) (动作) (后果)
在数据中的呈现:
决策点 k = 14:00 血糖测量 5.0 mmol/L
├─ state :过去 400 事件中的 (f,v,t) 序列(含更早的血糖、给药、营养)
├─ action :Change rate,Δ = -1.0 units/hr(落入 V 的第 6 档)
├─ reward :后续血糖 5.8(改善)+ 28 天存活=1
├─ done :本 episode 是否结束(此处否)
└─ η :到下一决策点的分钟数(下一次血糖检查前的间隔)
决策点 k+1 = 下一次血糖测量(时间由测量行为自然决定,不等距)
这个拆解说明了两件事:① 每个决策都锚定在真实测量上;② "多久之后有下一个决策"本身是数据的一部分(η),而不是被假设掉的常量。这正是把轨迹当作 SMDP 而非 MDP 的直接理由。
3.9 状态、动作、奖励的"三张脸"
| 面 | 内容 | 数据载体 | 典型用途 |
|---|---|---|---|
| 状态 face | (f,v,t) 事件序列 | all_data.parquet / safetensors.states | 序列建模输入 |
| 动作 face | Maintain/Stop/Change + 14 档幅度 | safetensors.actions | 策略输出对齐 |
| 奖励 face | 血糖 + 1/3/7/14/28 天存活 + η | safetensors.rewards | 价值估计与评估 |
| 终止 face | done 标志 | safetensors.dones | episode 边界 |
四张"脸"合起来,才构成一个完整的、可直接喂给标准 RL 库的转移。研究者不必自己从原始表拼转移——这正是"AI-Ready"的真实含义。
§4 生成背景与复用链:从 MIMIC-IV 到 RL 转移
4.1 一条从原始 EHR 到张量的流水线
Insulin4RL 不是"采集"出来的,而是"构造"出来的。整个复用链清晰可复现:
MIMIC-IV v3.1(PhysioNet credentialed access)
│ convert_mimic_to_parquet.py --path PATH_TO_MIMIC_FOLDER
▼
data/ 文件夹(.csv.gz → .parquet,含 icu/chartevents 等大表)
│ pixi run python generate_data.py
▼
all_data.parquet(原始输入+标签) + *.safetensors(标准化张量)
+ metadata(feature mapping / outlier stats / normalisation constants)
GitHub 仓库(tdgfrost/insulin4rl)提供全部脚本:convert_mimic_to_parquet.py、generate_data.py、generate_checksums.py、tutorial_notebook.ipynb、utils/、notebook_utils/,以及 pixi.toml(环境管理)与 SHA256SUMS(校验和)。环境用 Pixi 管理,也可用 uv/pip 手动安装 pixi.toml 里的依赖。
4.2 关键生成参数(可调)
generate_data.py 暴露若干可选参数,决定了数据的最终形态:
| 参数 | 默认值 | 含义 |
|---|---|---|
--train_test_split |
0.8 | 训练占比(余下 10% 验证 + 10% 测试) |
--eligible_input_window |
168 小时 | 标签之前输入数据的可用窗口(7 天) |
--context |
400 | 输入中最多保留的事件数(NaN 右填充) |
--low_memory |
关闭 | 若脚本内存溢出则加此标志 |
4.3 复现的随机性陷阱(原文警告)
一个必须存照的工程细节:即使固定随机种子,从头复现也可能得到不同的患者集合。为规避这一不确定性,官方建议预先创建 insulin4rl 文件夹并放入随发布提供的 patient_ids,代码会优先使用该文件而非重新抽样。这意味着"用同一份代码重新生成"未必等于"得到同一份数据集"——做可比实验时应直接使用官方发布版本或固定 patient_ids。
4.4 生成数据体积
生成后的整套 insulin4rl 文件约 4.16 GB(不含 MIMIC-IV 的 .parquet 文件,后者另占约 4.2 GB)。存储与内存规划需同时考虑两者。
4.5 仓库文件清单与职责
| 文件/目录 | 职责 |
|---|---|
convert_mimic_to_parquet.py |
把 MIMIC 的 .csv.gz 转为 .parquet |
generate_data.py |
生成 all_data.parquet + safetensors + 元数据 |
generate_checksums.py |
生成 SHA256 校验和 |
tutorial_notebook.ipynb |
演示数据划分与基本用法 |
utils/ |
工具函数 |
notebook_utils/ |
notebook 专用辅助 |
pixi.toml |
环境与依赖定义 |
SHA256SUMS |
校验和清单 |
CHANGELOG |
变更记录 |
从清单可见,仓库不只是"能跑",还专门提供了校验与变更记录——说明作者对可复现性有明确投入。
4.6 为什么"转换"这一步是瓶颈
复现流程里最耗时的是 convert_mimic_to_parquet.py,尤其是处理 icu/chartevents 表(床旁生命体征与观察记录,体量极大)。README 原文特别提醒这一步"depending on the speed of your computer, this may take a while… ESPECIALLY for icu/chartevents"。工程上的含义是:
- 首次转换:需要充足磁盘与耐心,可能数小时级。
- 后续使用:转成 parquet 后"faster and more space-efficient",是一次性的投资。
- 内存压力:生成阶段若 OOM,加
--low_memory。
4.7 与预置 patient_ids 的取舍
官方建议预建 insulin4rl 文件夹并放入提供的 patient_ids。这样做的好处是患者集合固定,坏处是你依赖官方给出的 id 列表。若研究者想"完全自主复现",则需接受患者集合可能与官方不同的事实,并在论文中说明这一不确定性——这正是坑 7 的实质。
§5 评估协议与基线
5.1 FQE 标准化协议
Insulin4RL 的一项重要贡献是提供标准化的评估协议:使用 fitted Q-evaluation(FQE,拟合 Q 评估) 作为离策略评估的统一口径。在医疗 RL 中,策略无法在线试错,必须靠历史数据评估——而评估方法的偏差会直接误导结论。论文用 FQE 对数据集行为策略(behavioural policy)、行为克隆、以及 IQL/CQL 各变体逐一拟合,检查它们对真实折扣回报的校准程度。
结论口径:FQE 模型在"数据集策略"与"克隆策略"上校准良好;IQL 与 CQL 相对基线有改进(论文 Fig 4 展示 intra-algorithmic 差异)。论文明确表示其目标不是刷出 SOTA,而是验证数据的临床保真度、展示不同时间假设(MDP vs SMDP)对策略学习的影响。
5.2 基线算法与模型架构
- Behavioural Cloning(BC,行为克隆):模仿临床医生行为,用标准交叉熵 + 有序回归损失训练,用于验证数据中是否含有足够信号。
- IQL / CQL:两类无模型离线 RL 算法,各提供 MDP 与 SMDP 两种变体。
- 模型架构:共享的序列建模骨架——feature-embedding 层 → 1D-CNN → LSTM;按事件序列处理不规则输入。
- 动作头设计:策略 π_ψ 输出两个分类头——第一个决定离散动作(Do nothing / Stop / Change rate),第二个用 14 个有序剂量档预测改变量;网络输出 13 个阈值概率 p_j = P(ΔD ≥ v_{j+1}),再用联合概率式(论文式 1)还原每个剂量档 k 的概率。Critic 模型 Q(s,a) 则用单头覆盖全部 16 种可能动作。
5.3 状态空间的可视化验证
为验证学到的状态空间是否"连贯",论文对验证队列做前向推理,把倒数第二层隐状态用 UMAP(n_neighbors=10, min_dist=0.3)投影到二维。投影结果显示血糖、胰岛素速率/动作、剩余 episode 时长都有清晰梯度,且存活与死亡患者在图上可分离——这是"事件流表示确实捕捉到了临床结构"的直观证据。
5.4 论文给出的四类基线模型全景
| 模型 | 类别 | 时间假设 | 作用 |
|---|---|---|---|
| Behavioural Policy(数据集策略) | 行为策略 | — | 评估基准的下界 |
| Behavioural Cloning(BC) | 模仿学习 | — | 验证数据含可学信号 |
| IQL(MDP 变体) | 离线 RL | MDP | 对照时间假设影响 |
| IQL(SMDP 变体) | 离线 RL | SMDP | 对照时间假设影响 |
| CQL(MDP 变体) | 离线 RL | MDP | 对照时间假设影响 |
| CQL(SMDP 变体) | 离线 RL | SMDP | 对照时间假设影响 |
FQE 的作用是给上述每个模型一个统一的、对真实折扣回报校准的评分。论文的核心断言是:IQL 与 CQL 相对基线有改进,但不同时间假设下的结论存在差异。
5.5 为什么"标准化协议"本身是贡献
在医疗 RL 里,一个常被诟病的问题是结果不可比:每个人用自己的评估脚本、自己的折扣、自己的指标,导致"我的策略更好"往往是口径差异而非真实改进。Insulin4RL 提供统一的 FQE 协议,等于给这个领域装了一把公共标尺。对后续研究者的实际意义是:你可以把自己的方法与论文基线放在同一把尺子下比较,而不用先争论尺子本身。
5.6 评估的边界与未竟问题
- FQE 依赖对行为策略的覆盖假设;在数据覆盖不足的区域,评估仍可能外推不可靠。
- 存活奖励是稀疏且长期的(28 天),与即时血糖信号之间存在信用分配难题。
- 论文自身不追求 SOTA,因此基线是"可用参照"而非"性能上限"。
5.7 从"能不能学"到"学得准不准"
论文的实验设计有一条清晰的递进逻辑,值得研究者借鉴:
第 1 步 BC(行为克隆) → 验证数据里"有没有可学的信号"
第 2 步 FQE 校准检查 → 验证评估方法"准不准"
第 3 步 IQL/CQL 对比 → 验证离线 RL"能不能改进"
第 4 步 MDP vs SMDP 对比 → 验证时间假设"影不影响结论"
第 5 步 UMAP 投影 → 定性检查状态空间"连不连贯"
这条链的价值在于:它没有一上来就宣称"我的策略最好",而是分五步把"数据是否可用、评估是否可信、方法是否有效、假设是否关键、表示是否合理"逐一验证。这种"方法学自证"的顺序本身就是一篇数据集论文该有的样子。
5.8 对使用者的实操建议
| 你的目标 | 建议 |
|---|---|
| 只想验证自己的 OPE 方法 | 直接用官方 FQE 协议做对照 |
| 想训练新策略 | 从 IQL/CQL 基线起步,注意 MDP/SMDP 选择 |
| 想研究不规则时间 | 重点对比 SMDP 变体与 MDP 变体的差异 |
| 想做落地评估 | 记住这是离线评估,部署前需前瞻验证 |
§6 获取与许可:受限访问的门怎么进
6.1 托管与获取门槛
Insulin4RL 托管在 PhysioNet(https://physionet.org/content/insulin4rl/),以保证长期可访问性。由于它派生自 MIMIC-IV,获取门槛与源库一致:
- 注册 PhysioNet 账号并成为 credentialed user(认证用户);
- 完成 CITI 培训(人类受试者研究保护课程);
- 签署 数据使用协议(DUA);
- 通过审核后下载数据集。
这不是公开直链下载——数据本体受控,代码公开。GitHub 上的复现脚本(tdgfrost/insulin4rl)任何人都可取,但真正跑通还需拥有 MIMIC-IV 的访问权。
6.2 许可口径(含待核)
Insulin4RL 派生自 MIMIC-IV,按 PhysioNet 对 MIMIC 派生数据集的通用指南,须以与源数据相同的协议共享,即 PhysioNet Credentialed Health Data License。需要注意:PhysioNet 项目页在本次核验中直连失败(沙箱封锁),Insulin4RL 自身页面上显式的许可条款未取得确证——本条目按"沿用 MIMIC-IV 受限访问协议"表述,并将此列为遗留疑点。使用者若需精确的再分发/衍生模型许可边界,应以 PhysioNet 项目页与 MIMIC 指南的原文为准。
6.3 与库内可获取性谱系的对照
| 获取类型 | 代表机制 | Insulin4RL 归属 |
|---|---|---|
| 完全公开直链 | HuggingFace / GitHub release | ✗(数据本体) |
| Credentialed 受限访问 | PhysioNet DUA 流程 | ✔(数据本体) |
| 代码/脚本公开 | GitHub 仓库 | ✔(tdgfrost/insulin4rl) |
这种"数据受限、代码开源"的组合在医疗 RL 数据集里是常态,但也带来一个现实问题:复现论文实验需要先过 PhysioNet 审核,这是新手最常卡的一步。
6.4 使用前的合规提醒
- 数据含受保护健康信息(PHI)的去标识化版本,不得尝试再识别。
- 不得将数据或由其训练的模型用于商业再分发,除非另行确认许可边界。
- 发表基于该数据的成果时,应同时引用 Insulin4RL(arXiv:2606.19481)与 MIMIC-IV(doi:10.13026/kpb9-mt58)。
6.5 从申请到跑通的时间预算
对首次使用者,一条现实的路径是:
| 阶段 | 关键动作 | 常见卡点 |
|---|---|---|
| 账号与认证 | 注册 PhysioNet + 完成 CITI | CITI 课程耗时、需正确关联证明 |
| 签署 DUA | 提交研究用途与机构信息 | 机构审批耗时 |
| 等待审核 | PhysioNet 人工审核 MIMIC 访问 | 审核周期不确定,需预留时间 |
| 下载 MIMIC-IV | 拉取大体量原始表 | 存储需求大(含 icu/chartevents) |
| 运行脚本 | convert → generate | chartevents 转换慢、内存压力(–low_memory) |
| 校验 | SHA256SUMS / generate_checksums.py | 版本不匹配 |
这张表提醒:"数据集的可用性"在工程上主要受限于审核与拉取,而非算法。规划实验周期时应把这两项前置。
6.6 与 MIMIC-IV 许可的继承关系
Insulin4RL 作为 MIMIC-IV 的派生数据集,其许可身份是"继承式"的:
MIMIC-IV (PhysioNet Credentialed Health Data License 1.5.0)
└── 派生指南:派生数据集/模型应视为含敏感信息,若共享须以同协议在 PhysioNet 发布
└── Insulin4RL:遵循同协议 → credentialed access
含义:Insulin4RL 的访问门槛不会低于 MIMIC-IV。任何声称"有 Insulin4RL 公开直链"的来源都应存疑,除非官方改变了发布形态。
6.7 与源数据指南中"命名规范"的关系
PhysioNet 对 MIMIC 派生数据集有命名建议:若项目名沿用 MIMIC 缩写,应加 “Ext”(如 MIMIC-IV-Ext-YOUR-DATASET)。Insulin4RL 未采用 “MIMIC-Ext” 前缀,而是自立品牌名——这本身合规(因为它没有在名称里使用"MIMIC"缩写),但因此在按名称检索时不会自动归入 MIMIC 家族,需要靠正文里的血缘说明来建立联系。这是它"可发现性"(DAIMS 的 D 维度)稍有折扣的一个原因。
§7 生态与影响
7.1 在医疗 RL 数据集景观中的位置
医疗强化学习长期缺少"不规则时间"的公开基准。绝大多数现有 EHR 数据集(无论 MIMIC 系还是专病队列)都以固定间隔或"每患者一条时间线"的形式提供,研究者若要研究不规则采样,只能自己分箱——而分箱本身正是 Insulin4RL 论文要批判的对象。Insulin4RL 填补的正是这个空档:首个公开的、输入与决策均自然不规则的重症医疗 ORL 数据集。它的直接对标不是别的数据集,而是"现行普遍做法"。
7.2 与 MIMIC 家族的关系
Insulin4RL 是 MIMIC-IV 的一个派生视图——它没有采集新数据,而是把 MIMIC-IV 里"糖尿病静脉胰岛素输注 + 血糖测量"相关的事件抽取出来,重新组织成 RL 可用的转移格式。因此它与 MIMIC-IV、MIMIC-CXR 等同源数据集共享同一套访问门槛、同一批机构与同一条伦理谱系。研究者在引用时需注意区分"MIMIC-IV 本体"与"Insulin4RL 派生视图"。
7.3 引证与谱系
论文引用了大量 RL 与临床文献作为方法基础,包括 Komorowski 等 2018 年发表在 Nature Medicine 的 AI Clinician(脓毒症治疗 RL 的开创性工作)、Kumar 等的 IQL、离策略评估方法学(含 Schulam & Saria 关于"离散化记录交互数据会使学习产生偏差"的 arXiv 预印本 1810.03025——这正是 Insulin4RL 方法论的直接理论支撑之一)。临床侧则引用 NICE-SUGAR 研究关于强化血糖控制与低血糖死亡风险的证据。
7.4 尚未定论的发表状态
论文在 arXiv 上标注为 Under submission(投稿中),作者 2 人、单机构(UCL)。这意味着它目前尚未经过期刊同行评审定稿——引用其结论时应注明预印本状态,并留意后续可能出现的方法或数字修订。
7.5 对下游研究的潜在催化作用
从论文的自述目标看,Insulin4RL 想在三个方向催化后续研究:
| 方向 | 论文表述的目标 | 依赖数据集哪个特性 |
|---|---|---|
| 不规则 EHR 的 ORL | 设计能"预期并处理"决策与输入间隔的方法 | (f,v,t) 事件流 + η |
| 精确的离策略评估 | 用原始未分箱数据基准化 OPE 方法 | 未分箱轨迹 + FQE 协议 |
| 改善 ICU 胰岛素管理 | 为长期患者结局(死亡率、住院时长)优化个性化滴定 | 多视界存活奖励 |
可以看到,数据集的设计与这三个方向是一一对应的:每一个功能特性都服务于一个具体的研究缺口。这也是它区别于"只是又一个 MIMIC 提取"的地方。
7.6 局限与开放问题
- 单中心:跨机构泛化未知,是论文与后续工作都需面对的边界。
- 无在线验证:所有结论基于离线评估,真实部署效果未验证。
- 动作裁剪:>5.5 units/hr 被移除,极端策略无法被学习或评估。
- 预印本状态:结论可能随同行评审修订。
- 许可与伦理:受保护健康数据,使用受 DUA 约束。
§8 方法学启示:三条可迁移的经验
8.1 "保留原始时间戳"是可迁移的数据设计原则
Insulin4RL 最核心的经验不是某个具体数字,而是一条设计原则:在可能的情况下,保留事件发生的确切时刻,而不是为了迁就算法而强行重采样。MEDS 事件流表示把时间戳当作一等公民,让模型自己学会如何处理不规则间隔。这一原则可迁移到任何时序医疗数据(生命体征、用药、检验、护理记录)。
8.2 时间假设(MDP vs SMDP)是被低估的超参数
同一份数据,当作 MDP 处理还是 SMDP 处理,会改变策略学习与评估的结果。Insulin4RL 把两者的基线都放出来,等于提醒研究界:时间假设不是背景设定,而是一个会显著影响结论的建模选择。做医疗 RL 复盘时,必须显式报告这一选择。
8.3 离策略评估必须用未分箱数据做基准
论文反复强调:在分箱数据上做 OPE 可能引入偏差、高估收益。这提示任何声称"某 RL 策略在医疗场景有效"的工作,都应在未分箱(或尽可能保留原始时间结构)的数据上复核其评估结论,否则有效性主张可能是分箱伪影。
8.4 更普遍的启示:把"数据形态假设"显式化
Insulin4RL 的真正贡献,是把一个长期被默认的假设——“决策等间隔”——变成了一个可检验、可对照的实验变量。这对整个医疗机器学习领域有普适意义:很多"性能差异"可能来自数据形态的默认假设,而非算法本身。诊断、预测、治疗推荐各类任务,都值得问一句"我的时间假设成立吗"。
8.5 对数据集设计者的三条清单
- 能保留原始时间戳就别重采样;
- 把时间间隔当作特征,而不是当作噪声;
- 提供标准评估协议,让结果可比。
这三条清单可以直接迁移到任何时序决策数据集的设计评审中。
8.6 局限的自省
Insulin4RL 的作者在论文里也承认边界:单中心、无在线验证、结果依赖行为策略覆盖。一个成熟的数据集发布应当像这样主动标注局限——这也是本条目把 rm:dataLimitations 写进 schema 的原因。
§9 与库内条目的关系
9.1 家族图谱
Insulin4RL 在库内最自然的互链对象是 MIMIC 家族(MIMIC-IV、MIMIC-CXR、MIMIC-CXR-JPG 等,凡库内已收录者)——它们是同源机构、同源许可、同一批患者的其他视图。其次是重症监护/电子健康记录/时序数据/真实世界数据标签下的条目,以及**脓毒症 RL(AI Clinician 系)**类条目(若库内存在)。具体 rid 需由主会话以 url_name 反查确认后回填至 frontmatter 的 relatedLink。
9.2 检索路径建议
- 想找同类"离线 RL/序贯决策"数据集:按 category_tags
评测基准+重症监护组合检索。 - 想找 MIMIC 派生视图:按关键词 MIMIC 检索,Insulin4RL 应作为其中一个子项出现。
- 想找不规则时序建模资源:按
时序数据检索,与普通固定间隔队列区别对待。
9.3 互链价值矩阵
| 目标条目类型 | 互链理由 | 强度 |
|---|---|---|
| MIMIC-IV | 直接上游源数据库 | ★★★★★ |
| MIMIC-CXR 家族 | 同源机构/许可/伦理谱系 | ★★★★ |
| 脓毒症 RL(AI Clinician 系) | 同属医疗离线 RL 方法学谱系 | ★★★★ |
| 一般重症监护数据集 | 同标签、同场景 | ★★★ |
| 一般电子健康记录数据集 | 同标签、同数据形态 | ★★★ |
| 一般时序/真实世界数据 | 同标签、同建模范式 | ★★ |
9.4 消歧说明(正文,不进 frontmatter)
- “Insulin4RL” 与"某个一般胰岛素数据集"是不同事物:前者是 ICU 静脉滴定 RL 基准,后者可能只是血糖记录。
- “MIMIC-IV”(源库)与"Insulin4RL"(派生视图)不可互相替代引用。
- 若库内出现 “insulin” 相关的其他条目(如糖尿病视网膜病变影像集),属不同模态、不同任务,不应因名称相近而强行互链。
§10 避坑清单:已踩过与预判的坑
坑 1:患者数双口径(12,214 vs 12,209)。PhysioNet 项目页摘要写 “12,214 patients”,而同页 Cohort Statistics 段与 arXiv 摘要/正文都写 “12,209 unique patients”。引用前必须定口径;本条目正文统一取 12,209,摘要的 12,214 于此存照。检索时若只看到 12,214 不要以为数据被修订过。
坑 2:决策数双口径(375,000+ vs 376,310)。论文摘要写 “over 375,000 labelled decisions”,PhysioNet 正文给出精确值 376,310。两者不矛盾(376,310 确实 > 375,000),但引用时用精确值更稳。
坑 3:副标题双口径(Infusions vs Management)。PhysioNet 项目页标题是 “Real-Time Insulin Infusions For Offline Reinforcement Learning”,arXiv 论文标题是 “Real-Time Insulin Management in the Intensive Care Unit for Offline Reinforcement Learning”。同一数据集、两套副标题,检索与引用时按来源分别使用,别以为搜到了两个不同数据集。
坑 4:“Real-Time"不是"实时系统”。这里的 Real-Time 指"真实临床轨迹中当场发生的决策时刻",强调的是数据来自真实床旁决策而非模拟;它不是指数据集支持实时在线推理或低延迟计算。把 Insulin4RL 当作"实时血糖监测系统"来用会跑偏。
坑 5:许可条款需自行确证。Insulin4RL 派生自 MIMIC-IV,按 PhysioNet 指南应以同协议(Credentialed Health Data License)共享——但 Insulin4RL 自身页面的显式许可条款在本次核验中因沙箱封锁未能确证。做商业或再分发前,务必到 PhysioNet 项目页确认原文,不要仅凭"医疗数据集通常 CC BY"的假设。
坑 6:单 episode 占比页内微漂移(92.4% vs 92.5%)。PhysioNet 同页两处表述分别是 92.4% 与 92.5% 单 episode,属文档内小漂移,不影响结论,但精确引用时以其中一处为准并注明。
坑 7:复现不等于复刻。即使固定随机种子,从头运行 generate_data.py 也可能得到不同的患者集合;官方建议放入 patient_ids 固定。做可比实验时若各自重新生成,结果不可直接比较。
坑 8:动作空间已被裁剪。单次速率改动 >5.5 units/hr 的离群决策被剔除,模型学到的动作分布不是完整的临床剂量分布。若研究目标是"极端剂量决策",本数据集的覆盖不足。
坑 9:论文为预印本(Under submission)。arXiv v1 于 2026-06-17 提交,尚未经同行评审定稿。引用结论时注明预印本状态,留意后续版本可能的数字修订。
坑 10:数据本体非公开直链。代码在 GitHub 公开给人"数据公开"的错觉,但真正下载数据需过 PhysioNet credentialed access 审核(认证 + CITI + DUA)。规划实验周期时把审核时间算进去。
10.1 检索陷阱速查
| 输入的关键词 | 可能误命中 | 正确入口 |
|---|---|---|
| “insulin dataset” | 各类糖尿病血糖/视网膜数据集 | 加限定词 “offline RL” 或 “MIMIC” |
| “real-time insulin” | 实时血糖监测设备/闭环胰岛素泵 | 加 “reinforcement learning” |
| “MIMIC insulin” | 一般 MIMIC 提取队列 | 精确用 “Insulin4RL” |
| “PhysioNet insulin4rl” | 可能命中项目页与论文 | 二者皆正解,注意副标题差异(坑 3) |
10.2 引用规范要点
- 引用数据本体:Insulin4RL(arXiv:2606.19481)。
- 引用源数据:MIMIC-IV(doi:10.13026/kpb9-mt58)+ Sci Data 论文。
- 标注论文状态:Under submission(预印本)。
- 若复现患者集合与官方不同:在方法节说明并注明由来。
10.3 坑点小结表
| 编号 | 一句话 | 严重度 |
|---|---|---|
| 坑 1 | 患者数双口径 12,214/12,209 | 中 |
| 坑 2 | 决策数双口径 375,000+/376,310 | 低 |
| 坑 3 | 副标题双口径 Infusions/Management | 中 |
| 坑 4 | Real-Time 被误读为实时系统 | 中 |
| 坑 5 | 许可条款需自行确证 | 高 |
| 坑 6 | 单 episode 占比页内微漂移 | 低 |
| 坑 7 | 复现≠复刻(患者集合可变) | 中 |
| 坑 8 | 动作空间已被裁剪 | 中 |
| 坑 9 | 论文为预印本 | 中 |
| 坑 10 | 数据非公开直链 | 高 |
§11 总结
11.1 三句话总结
- Insulin4RL 是首个公开的、输入与决策均自然不规则的重症医疗离线强化学习数据集,派生自 MIMIC-IV v3.1,规模 12,209 患者 / 13,652 episode / 376,310 标注决策。
- 它的方法学核心是用 MEDS 事件流表示保留真实时间戳,从而免分箱、免插补、免人为规整,并把轨迹按 SMDP 处理,同时提供 FQE 标准化评估协议与 BC/IQL/CQL 基线。
- 它是研究资源而非临床工具:许可沿用 MIMIC-IV 受限访问,论文尚在投稿中,数据本身未经临床验证。
11.2 适合谁
- 研究离策略评估(OPE)方法的强化学习学者——它提供了天然不规则、带真实时间结构的评估床。
- 研究不规则时序建模(event-based、连续时间)的团队。
- 研究重症血糖控制/胰岛素滴定决策支持的研究者。
- 需要SMDP vs MDP 对照实验的方法学研究者。
11.3 不适合谁
- 想直接拿数据上临床或做医疗器械的人——它不是经验证的产品,且状态为预印本。
- 只想找"现成公开直链"快速下数据的人——需过 PhysioNet 审核。
- 研究"极端剂量决策"的人——>5.5 units/hr 的离群动作已被剔除。
11.4 30 秒决策卡
要方法学基准 → 用(唯一的不规则重症 ORL 数据集)。
要临床可用工具 → 别用(未经验证)。
要立即可下的数据 → 先过 PhysioNet 审核,别指望直链。
要引用 → 数据引 arXiv:2606.19481 + MIMIC-IV doi:10.13026/kpb9-mt58,注意标注预印本状态。
11.5 延伸阅读顺序
- 先读:arXiv:2606.19481 摘要 + PhysioNet 项目页(建立全貌)。
- 再读:论文 §3(表示与标注)+ §4(实验)(理解方法)。
- 动手:GitHub
tutorial_notebook.ipynb(跑通流程)。 - 深入:Schulam & Saria 2018(分箱偏差的理论来源)。
- 对照:Komorowski 2018(医疗 RL 先驱,看方法谱系)。
11.6 一句话记住它
Insulin4RL = 把 ICU 血糖控制的真实时间结构,原样交给强化学习。
11.7 与本库其他条目的关系速览
| 关系 | 条目 | 说明 |
|---|---|---|
| 上游 | MIMIC-IV | 数据来源,受同一许可约束 |
| 同族 | MIMIC-CXR 等 | 同源机构与伦理谱系 |
| 同方法论 | AI Clinician(脓毒症 RL) | 医疗离线 RL 谱系 |
| 同标签 | 电子健康记录/重症监护/时序数据/真实世界数据/评测基准 | 标签级互链 |
说明:以上互链条目的精确 rid 需主会话以
url_name反查后回填 frontmatter 的 relatedLink;本小节只做正文级消歧与建议。
使用指南(快速上手代码示例)
⚠️ 以下代码为示意骨架,用于说明数据形态与常见用法;实际参数与 API 以官方
tutorial_notebook.ipynb、generate_data.py与 PhysioNet 文档为准。数据本体需先通过 PhysioNet credentialed access 获取。
示例一:从 safetensors 读取 transition 张量
# 依赖:pip install safetensors torch
# 前提:已按官方流程生成/下载 insulin4rl 文件夹
from safetensors import safe_open
import os
DATA_DIR = "path/to/insulin4rl" # 含 *.safetensors 与 all_data.parquet
# safetensors 中的状态已做 log 变换 + 标准化(常量取自训练队列)
with safe_open(os.path.join(DATA_DIR, "states.safetensors"), framework="pt") as f:
keys = list(f.keys())
print("可用张量键:", keys) # 例如 states / actions / rewards / dones
states = f.get_tensor(keys[0])
print("state 张量形状:", states.shape) # [N, context=400, feature_dim]
示例二:从 parquet 读取原始输入与标签
# 依赖:pip install pandas pyarrow
import pandas as pd
df = pd.read_parquet("path/to/insulin4rl/all_data.parquet")
print(df.shape)
# 决策标签相关列(示意,实际列名以官方元数据为准):
# maintain / stop / insulin_delta_change 及其 _prev / _next 版本
# 1/3/7/14/28-day-alive 与 -alive-final 存活指示
# feature / time / value 三元组事件编码
print(df[["regime", "stop", "next_regime"]].head())
示例三:行为克隆基线骨架
# 依赖:pip install torch torch.nn
import torch
import torch.nn as nn
class EventEncoder(nn.Module):
"""共享序列建模骨架:feature-embedding -> 1D-CNN -> LSTM。"""
def __init__(self, feature_dim, hidden=256):
super().__init__()
self.lstm = nn.LSTM(feature_dim, hidden, batch_first=True)
self.head_discrete = nn.Linear(hidden, 3) # Maintain/Stop/Change
self.head_magnitude = nn.Linear(hidden, 14) # 14 个有序剂量档
def forward(self, x): # x: [B, context=400, feature_dim]
h, _ = self.lstm(x)
h = h[:, -1, :]
return self.head_discrete(h), self.head_magnitude(h)
示例四:剂量档映射(V 集合)
# 14 档有序剂量改变量(units/hr),论文定义:
DOSE_CLASSES = [-5, -4, -3, -2, -1.5, -1, -0.5, 0.5, 1, 1.5, 2, 3, 4, 5]
# 策略输出 13 个阈值概率 p_j = P(ΔD >= v_{j+1}),
# 再按论文式(1)的联合概率式还原每个剂量档 k 的概率。
示例五:评估协议(FQE)调用骨架
# 论文提供 fitted Q-evaluation(FQE)作为标准化离策略评估口径。
# 骨架:用数据集行为策略 / 克隆策略 / IQL / CQL 拟合 Q 函数后,
# 在验证队列上评估其对真实折扣回报的校准程度。
# 详细实现见官方 tutorial_notebook.ipynb 与论文 Appendix。
from dataclasses import dataclass
@dataclass
class FQEConfig:
gamma: float = 0.99 # 折扣因子(SMDP 下需结合 sojourn time η)
smdp: bool = True # True=半马尔可夫变体,False=MDP 变体
n_iter: int = 100 # Q 迭代轮数
示例六:复现命令(GitHub)
# 1) 克隆仓库
git clone https://github.com/tdgfrost/insulin4rl
cd insulin4rl
# 2) 将 MIMIC-IV 转 parquet(需先经 PhysioNet 获取 MIMIC-IV)
python convert_mimic_to_parquet.py --path PATH_TO_MIMIC_FOLDER
# 3) 生成 all_data.parquet + safetensors + 元数据(Pixi 环境)
pixi run python generate_data.py \
--train_test_split 0.8 \
--eligible_input_window 168 \
--context 400
# 内存不足时追加:--low_memory
# 4) 校验
python generate_checksums.py
FAQ(高频问答 16 问)
A. 基础认知
Q1:Insulin4RL 的官方全名到底是什么?
有两个并行口径:PhysioNet 项目页标题为 “Insulin4RL: Real-Time Insulin Infusions For Offline Reinforcement Learning”;arXiv 论文标题为 “Insulin4RL: Real-Time Insulin Management in the Intensive Care Unit for Offline Reinforcement Learning”。同一数据集,两套副标题(坑 3)。
Q2:它是数据集还是论文?
两者都是。它是一个数据集(本体+代码+教程),随其发布的是一篇介绍性论文(arXiv:2606.19481)。此外论文本身还充当了评估协议的规范文档。
Q3:“insulin4rl” 里的 4 是什么意思?
是 “for” 的谐音/缩写(insulin-for-RL,为强化学习打造的胰岛素数据集),属于数据集命名的常见网络写法,不是版本号或规模代号。
Q4:它和 MIMIC-IV 是什么关系?
Insulin4RL 是 MIMIC-IV v3.1 的一个派生视图:从 MIMIC-IV 中抽取"糖尿病静脉胰岛素输注 + 血糖测量"相关事件,重组成 RL 转移格式。它不采集新数据,许可与访问门槛沿用 MIMIC-IV。
Q5:"自然不规则"到底指什么?
指输入事件的时间戳(如血糖测量、给药)与决策时刻都保留真实发生时间,不经过固定间隔重采样;两次决策之间的间隔是一个随机变量(sojourn time η),这正是它区别于传统分箱数据集的核心特征。
B. 数据与获取
Q6:数据有多大?
生成后的整套 insulin4rl 文件约 4.16 GB(不含 MIMIC-IV 的 .parquet,后者另约 4.2 GB)。
Q7:怎么下载?
走 PhysioNet credentialed access:注册认证用户 + 完成 CITI 培训 + 签署 DUA + 通过审核。不是公开直链(坑 10)。
Q8:代码公开吗?
公开。GitHub 仓库 tdgfrost/insulin4rl(初始提交 2026-05-01)含全部复现脚本、tutorial notebook 与 Pixi 环境配置。
Q9:数据是什么格式?
两套并行:all_data.parquet(Apache Parquet,原始输入+标签)与 *.safetensors(标准化张量转移),外加元数据 parquet 与 Jupyter notebook。
Q10:许可是什么?
沿用 MIMIC-IV 的 PhysioNet Credentialed Health Data License 受限访问协议;Insulin4RL 自身页面显式条款在本次核验中未确证,属遗留疑点(坑 5)。
C. 规模与统计
Q11:到底有多少患者?
12,209(PhysioNet 正文统计 + arXiv)与 12,214(PhysioNet 摘要)两个口径并存,本条目取 12,209(坑 1)。
Q12:多少条标注决策?
精确值 376,310(PhysioNet 正文);论文摘要口径 “over 375,000”。13,652 个 episode。
Q13:患者存活情况?
91.4% 的患者在末段结束后 28 天仍存活。
D. 方法学
Q14:为什么它支持 SMDP?
因为决策间隔不规则,η 是随机变量,天然适配半马尔可夫决策过程;论文同时给出 MDP 与 SMDP 变体基线以对比时间假设的影响。
Q15:动作空间多大?
离散动作 3 类(Maintain / Stop / Change rate),改变量再量化成 14 档;动作量化对真实连续剂量改变达 R²=99.9%、MAE=0.017 units。
Q16:用什么评估协议?
fitted Q-evaluation(FQE)标准化协议;基线含 behavioural cloning、IQL、CQL(各 MDP/SMDP 变体)。
E. 复现与工程
Q17:复现需要哪些前置?
两类:PhysioNet 的 MIMIC-IV 访问权(数据侧),以及 Pixi/uv 环境(代码侧)。缺任一都跑不通完整流程。
Q18:为什么复现结果可能和别人不一样?
因为即使固定随机种子,从头生成也可能得到不同患者集合。官方建议放入 patient_ids 固定患者集(坑 7)。
Q19:内存不够怎么办?
generate_data.py 加 --low_memory 标志;另外 convert 阶段处理 icu/chartevents 大表本身就很吃资源,建议分批或加大内存。
Q20:能只下 parquet 不下 safetensors 吗?
可以。两套格式是并行的:只要原始输入+标签用 all_data.parquet 即可;需要标准化张量转移时再取 safetensors。但注意 safetensors 的状态已做 log 变换 + 标准化。
F. 引用与合规
Q21:发表时应引用什么?
Insulin4RL 论文(arXiv:2606.19481)与 MIMIC-IV(doi:10.13026/kpb9-mt58);若用到 MIMIC-IV 原始记录,还应引其 Sci Data 论文。
Q22:能用于商业产品吗?
不能直接用于。数据受 MIMIC 系受限协议约束,商业再分发需另行确认许可边界(许可待核,见坑 5)。
Q23:数据泄露患者隐私了吗?
MIMIC-IV 本身是去标识化发布的;但按协议仍属受保护数据,使用者不得尝试再识别。
Q24:它是 Sepsis(AI Clinician)那样的"策略"吗?
不是。AI Clinician 提供的是一个训练好的脓毒症治疗策略;Insulin4RL 提供的是数据与基准,策略要使用者自己训练。两者是同源方法学谱系的不同产物。
G. 术语澄清
Q25:in silico trial 是什么?
“计算机模拟试验”,指在仿真环境中验证方法学假设的研究。论文引用此类证据来说明分箱的害处(如性能退化最高 60%)。
Q26:"sojourn time η"为什么重要?
它是 SMDP 区别于 MDP 的关键量:因为在两次决策之间停留了 η 分钟,折扣与价值必须按 η 折算,否则会低估/高估远期回报。
Q27:MEDS 和 FHIR 有冲突吗?
不冲突。MEDS 是一种面向事件序列/时序建模的表示标准,FHIR 是面向数据交换的医疗信息标准,二者层次不同,可互补。
Q28:为什么用 safetensors 而不用 pickle?
safetensors 更安全(不执行任意代码)、内存映射友好、跨框架兼容,适合共享大型张量转移。
Q29:UMAP 图能证明什么?
只能证明"学到的隐空间对关键临床变量有对齐结构",是一种定性验证,不能替代定量评测。
Q30:这个数据集能训练"血糖预测"模型吗?
可以顺带用(它有血糖序列),但它的设计目标是决策/策略学习而非单纯预测。若目标是预测,用常规 MIMIC 队列更直接。
事实清单(硬事实 24 条)
- 官方名(PhysioNet 页):Insulin4RL: Real-Time Insulin Infusions For Offline Reinforcement Learning。
- 官方名(arXiv 题):Insulin4RL: Real-Time Insulin Management in the Intensive Care Unit for Offline Reinforcement Learning。
- 来源数据库:MIMIC-IV v3.1。
- 采集机构:Beth Israel Deaconess Medical Center(BIDMC,波士顿)。
- 采集时间跨度:2008-2022。
- 作者:Thomas Frost、Steve Harris(UCL)。
- arXiv 编号:2606.19481 [cs.LG],v1 提交 2026-06-17。
- arXiv DOI:10.48550/arXiv.2606.19481。
- 发表状态:Under submission(预印本)。
- 患者数:12,209(摘要口径 12,214)。
- episode 数:13,652。
- 标注决策数:376,310(摘要口径 375,000+)。
- 单 episode 患者占比:约 92.4%(页内另写 92.5%)。
- episode 时长中位数:28 小时(均值 42 小时)。
- episode 最长时长:35 天(598 次决策)。
- 28 天存活率:91.4%。
- 决策点聚合窗口:5 分钟。
- 决策考察窗口:测量后 30 分钟或至下次血糖检查(先到者)。
- 上下文窗口:最近 400 事件 / 过去 7 天(168 小时)。
- 剂量档:14 档 V={±5,±4,±3,±2,±1.5,±1,±0.5} units/hr。
- 离群阈值:单次改动 >5.5 units/hr 剔除。
- 动作量化保真度:R²=99.9%,MAE=0.017 units。
- train/val/test 默认切分:0.8/0.1/0.1。
- 生成数据体积:约 4.16 GB(不含 MIMIC-IV parquet)。
- 决策点动作类型:Maintain(二值)/ Stop infusion(二值)/ Change rate(含幅度)。
- 动作幅度量化档数:14 档有序分类。
- 策略网络动作头:离散头(3 类)+ 幅度头(14 档),输出 13 个阈值概率。
- Critic 网络动作头:单头覆盖 16 类动作。
- 模型骨架:feature-embedding → 1D-CNN → LSTM。
- 行为克隆损失:交叉熵 + 有序回归。
- 事件编码采用 MEDS(Medical Event Data Standard)。
- 元数据文件含 feature mappings / outlier thresholds / demographics.parquet。
- 生存标签有两套:day-alive(相对本决策)与 day-alive-final(相对末状态)。
- 复现环境用 Pixi(或 uv/pip 按 pixi.toml)。
- GitHub 仓库初始提交 2026-05-01,含 SHA256SUMS 校验。
- 数据集托管于 PhysioNet,Release Notes 记 1.0.0 首版。
- 论文作者 2 人、单机构(UCL)。
- 资助:EPSRC / UKRI CDT in AI for Healthcare(EP/S021612/1);NIHR UCLH BRC。
术语表(22 条)
| 术语 | 释义 |
|---|---|
| ORL(Offline RL) | 离线强化学习,仅用历史数据学习策略、不与环境在线交互 |
| OPE | 离策略评估,用历史数据评估策略价值的方法总称 |
| FQE | fitted Q-evaluation,一种基于拟合 Q 函数的 OPE 方法,本数据集的标准协议 |
| MDP | 马尔可夫决策过程,假设固定(或不影响转移的)决策间隔 |
| SMDP | 半马尔可夫决策过程,允许决策间隔为随机变量(对应 sojourn time η) |
| MEDS | Medical Event Data Standard,医疗事件数据标准,事件以 (f,v,t) 表示 |
| (f,v,t) | 事件元组:feature 整数码 / value 数值 / time 相对当前决策的分钟数 |
| sojourn time η | 到下一状态的停留时间(分钟),SMDP 的关键量 |
| binning / discretisation | 时间分箱/离散化,把连续时间轴切成固定间隔(本数据集刻意避免) |
| BC | Behavioural Cloning,行为克隆,模仿专家动作的监督学习 |
| IQL | Implicit Q-Learning,一种无模型离线 RL 算法 |
| CQL | Conservative Q-Learning,一种无模型离线 RL 算法 |
| titration | 滴定,逐步调整药物输注剂量以达到目标生理指标 |
| hyperglycaemia | 高血糖(≥10 mmol/L 阈值口径) |
| hypoglycaemia | 低血糖(<4 mmol/L 阈值口径) |
| UMAP | 均匀流形近似与投影,一种降维可视化方法 |
| safetensors | 一种安全的张量序列化格式 |
| parquet | Apache Parquet,列式存储格式 |
| DUA | Data Use Agreement,数据使用协议 |
| CITI | 人类受试者研究保护培训课程 |
| credentialed access | PhysioNet 的认证用户受限访问机制 |
| Pixi | 一种跨平台包/环境管理工具(本数据集复现用) |
| in silico trial | 计算机模拟试验,在仿真环境中检验方法学假设 |
| MEDS event | 符合 MEDS 标准的一次医疗事件(特征+数值+时间) |
| reward signal | 奖励信号,RL 中用于引导策略优化的回报来源 |
| discounted return | 折扣回报,考虑时间折扣后的累积奖励 |
| behaviour policy | 行为策略,生成数据时实际执行的策略(此处为临床医生行为) |
| target policy | 目标策略,待评估/待优化的策略 |
| BIDMC | Beth Israel Deaconess Medical Center,MIMIC 系列数据采集机构 |
| PHI | Protected Health Information,受保护健康信息 |
| bolus | 推注,一次性给予的较大剂量(与持续输注相对) |
| chartevents | MIMIC 中记录床旁生命体征与观察的表(转换时资源消耗最大) |
| eligible input window | 标签之前允许使用的输入时间窗口(默认 168 小时) |
| context window | 上下文窗口,输入中保留的事件数上限(默认 400) |
| right-padding | 右填充,把变长序列补齐到固定长度 |
| intra-algorithmic difference | 同一算法内部不同变体(如 MDP vs SMDP)之间的差异 |
| on-policy / off-policy | 在线策略 / 离策略;本数据集属离策略学习场景 |
| coverage assumption | 覆盖假设,OPE 要求行为策略覆盖目标策略可能访问的状态-动作 |
附录
附录 A:条目信息速查卡
| 项 | 值 |
|---|---|
| slug | insulin4rl |
| 类目 | 电子健康记录 / 重症监护 / 时序数据 / 真实世界数据 / 评测基准 |
| 官方名 | Insulin4RL: Real-Time Insulin Management in the ICU for Offline RL |
| 规模 | 12,209 患者 · 13,652 episode · 376,310 决策 |
| 来源 | MIMIC-IV v3.1(BIDMC,2008-2022) |
| 团队 | UCL:Thomas Frost、Steve Harris |
| 论文 | arXiv:2606.19481(Under submission,2026-06-17) |
| DOI | 10.48550/arXiv.2606.19481 |
| 获取 | PhysioNet Credentialed Access |
| 代码 | github.com/tdgfrost/insulin4rl |
| 许可 | 沿用 MIMIC-IV Credentialed Health Data License |
附录 B:DAIMS 评估全表
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 7 | 托管于 PhysioNet(权威、可索引),论文在 arXiv 开放获取;但命名 “Insulin4RL” 易与一般胰岛素数据集混淆,且无独立 dataset card |
| A 可获取性 | 4 | 关键失分项:数据本体走 credentialed access(认证 + CITI + DUA),非公开直链;仅代码公开 |
| I 可互操作 | 8 | Parquet + safetensors 是 RL 与数据科学通用格式;提供 feature mapping 与标准化常量元数据;与 MEDS 标准对齐 |
| M 元数据质量 | 8 | 论文 + PhysioNet 页 + tutorial notebook + 复现脚本四重文档;但跨源存在患者数/决策数双口径(坑 1、2) |
| S 可持续性 | 7 | PhysioNet 长期托管 + GitHub 代码 + SHA256SUMS 校验;单中心单作者维护,长期演进依赖个人 |
| 综合评级 | 6.8/10(中上) | 方法学与文献质量高,可获取性被受限访问拖低;代码开源部分补偿 |
附录 C:相关数据集对照表(注明库内 rid)
| 数据集 | 库内 rid | 与 Insulin4RL 的关系 | 获取类型 |
|---|---|---|---|
| MIMIC-IV | 待反查 | Insulin4RL 的直接上游源数据库(v3.1) | Credentialed |
| MIMIC-CXR / MIMIC-CXR-JPG | 待反查 | 同源 MIMIC 家族的其他派生视图 | Credentialed |
| herlev-pap | 483 | 同属医疗基准数据集(本例为细胞学),仅作同标签对照 | 公开/受限(按条目) |
| cancerlinq | 388 | 同为真实世界肿瘤/临床数据,仅作同标签对照 | 受限 |
| charls | 145 | 同为队列/真实世界健康数据,仅作同标签对照 | 受限 |
说明:MIMIC 家族与脓毒症 RL 类条目的精确 rid 需由主会话以
url_name反查后回填;本表所列 herlev-pap/cancerlinq/charls 的 rid 来自本次查重输出,仅作同标签导航示例,不代表数据内容可比。
附录 D:数据获取决策树
需要 Insulin4RL 数据本体?
├─ 是 → 有 PhysioNet 认证账号?
│ ├─ 否 → 注册 + CITI 培训 + 签署 DUA(预留审核时间)
│ └─ 是 → 在 PhysioNet 项目页申请并下载
└─ 否(只要代码/方法)→ git clone github.com/tdgfrost/insulin4rl
└─ 想复现数据 → 需另持 MIMIC-IV 访问权 → convert_mimic_to_parquet.py → generate_data.py
附录 E:动作空间与剂量档映射规范
| 动作 | 类型 | 说明 |
|---|---|---|
| Maintain | 离散(二值) | 维持当前输注速率 |
| Stop infusion | 离散(二值) | 停止输注 |
| Change rate | 离散 + 有序幅度 | 改变速率,幅度取自 14 档 V |
| 14 档 V | 有序分类 | ±5, ±4, ±3, ±2, ±1.5, ±1, ±0.5 units/hr |
| 离群阈值 | 过滤规则 | 单次改动 >5.5 units/hr 剔除 |
附录 F:逐项证据链自证
| 关键数字 | 来源 | 位置 |
|---|---|---|
| 12,209 患者 / 13,652 episode / 376,310 决策 | PhysioNet 项目页 Cohort Statistics | PhysioNet 抓取 2026-10-10 |
| 12,214 患者 | PhysioNet 项目页摘要 | 同上(双口径存照) |
| over 375,000 决策 | arXiv 摘要 | arXiv:2606.19481 |
| MIMIC-IV v3.1 / 2008-2022 / BIDMC | PhysioNet 方法节 | 同上 |
| 长 28h/42h、598 决策、35 天 | PhysioNet Cohort Statistics | 同上 |
| 91.4% 存活 / 92.4% 单 episode | PhysioNet Cohort Statistics | 同上 |
| 14 档 V / 5.5 离群阈值 | 论文方法节 | arXiv HTML |
| R²=99.9% / MAE=0.017 | 论文 §4.1 | arXiv HTML |
| MEDS (f,v,t) / 400 事件 / 168h | PhysioNet 方法节 + 论文 §3 | 同上 |
| 4.16GB / 0.8 split / Pixi | GitHub README | 抓取 2026-10-10 |
| DOI 10.48550/arXiv.2606.19481 | arXiv 摘要页 | 抓取 2026-10-10 |
| MIMIC-IV DOI 10.13026/kpb9-mt58 | PhysioNet MIMIC-IV 页 | 搜索 2026-10-10 |
附录 G:与 MIMIC 家族的血缘对照(消歧)
- MIMIC-IV:源数据库本体,全量 ICU 记录(>65,000 ICU 患者),非线性 RL 任务视图。
- Insulin4RL:从 MIMIC-IV 抽取"胰岛素输注 + 血糖"相关事件重组的 RL 转移视图,患者子集 12,209。
- 两者共享机构、许可、伦理谱系,但内容、规模、用途不同,引用时须分别标注,不可互相替代。
附录 H:复现环境依赖清单(示意)
| 类别 | 依赖 | 说明 |
|---|---|---|
| 环境管理 | Pixi(或 uv/pip) | 依 pixi.toml |
| 数据处理 | pandas / pyarrow | 读写 parquet |
| 张量序列化 | safetensors | 读写 *.safetensors |
| 深度学习 | PyTorch | 序列建模与训练 |
| 可视化 | UMAP / matplotlib | 状态空间投影 |
| 校验 | hashlib(generate_checksums.py) | SHA256 校验 |
附录 I:常见误解速查
| 误解 | 事实 |
|---|---|
| “Real-Time 指实时推理” | 指真实床旁决策时刻,非工程实时(坑 4) |
| “12,214 是最新数字” | 12,214 与 12,209 是跨源双口径,非版本修订(坑 1) |
| “数据可以直链下载” | 数据走 credentialed access,仅代码公开(坑 10) |
| “动作覆盖全部临床剂量” | >5.5 units/hr 已被剔除,覆盖受限(坑 8) |
| “已在期刊发表” | 论文状态为 Under submission 预印本(坑 9) |
附录 J:从零到跑的 SOP 骨架
Step 0 阅读论文与 PhysioNet 项目页,确认研究用途与协议
Step 1 PhysioNet 注册 → 完成 CITI → 申请 MIMIC-IV 访问
Step 2 审核通过后下载 MIMIC-IV v3.1(注意存储规划)
Step 3 git clone github.com/tdgfrost/insulin4rl
Step 4 pixi install(或按 pixi.toml 手动装依赖)
Step 5 python convert_mimic_to_parquet.py --path <MIMIC_FOLDER>
Step 6 pixi run python generate_data.py --train_test_split 0.8 --context 400
Step 7 python generate_checksums.py 校验
Step 8 打开 tutorial_notebook.ipynb,复现论文划分与基线
Step 9 以自己的 FQE 协议复核基线,记录双口径数字来源
附录 K:RL 概念最小入门(给临床背景读者)
| 概念 | 一句话理解 |
|---|---|
| 状态 state | 模型做决策时看到的"病人现状"(此处是事件流) |
| 动作 action | 模型可以做的选择(此处是调胰岛素速率) |
| 奖励 reward | 决策好坏的反馈(此处含存活、血糖) |
| 策略 policy | 从状态到动作的映射规则 |
| 转移 transition | (状态, 动作, 奖励, 下一状态, 是否终止) 五元组 |
| 离线学习 | 只用历史转移学策略,不再与病人交互 |
| 评估 | 用历史数据估计"某个策略如果执行会有多好" |
理解这 7 个词,就能读懂本条目 80% 的方法论内容。
附录 L:时间复杂性说明(为什么 η 重要)
固定间隔 MDP:
t=0 ──Δt── t=1 ──Δt── t=2 (Δt 恒定,折扣用 γ^1 逐格折算)
Insulin4RL 的 SMDP:
t=0 ──η1── t=1 ──η2── t=2 (η1≠η2 随机,折扣用 γ^η 折算)
血糖测量点决定 t=0,1,2 的位置,间隔自然不等
若忽略 η,直接把每一步当作等长,折扣累计就会失真——这是"时间假设会改变结论"的数学根源。
附录 M:常见错误与规避
| 错误做法 | 后果 | 正确做法 |
|---|---|---|
| 用测试集重新拟合标准化参数 | 数据泄露 | 沿用训练队列的标准化常量 |
| 同一患者跨 train/test | 评估虚高 | 按患者为单位切分(默认已做) |
| 忽略 sojourn time | 价值估计偏差 | SMDP 变体下用 η 折算 |
| 在分箱数据上做 OPE 并外推 | 高估收益 | 用未分箱数据基准化 |
| 混用 12,209/12,214 | 数字不一致 | 定口径并全篇一致 |
附录 N:论文引证图谱(关系)
Komorowski 2018 (AI Clinician, Nature Medicine)
│ 医疗离线 RL 的开创性先例
▼
Kumar 2022 (IQL) ──┐
CQL (保守 Q 学习) ──┤ RL 算法基础
▼
Schulam & Saria 2018 (离散化偏差, arXiv:1810.03025)
│ 方法论靶心:分箱使学习有偏
▼
Insulin4RL ──── FQE 协议 ──── 基线(BC/IQL/CQL)
▲
NICE-SUGAR (2009/2012, NEJM) ── 临床背景:血糖控制与死亡风险
▲
MIMIC-IV v3.1 ── 数据来源(BIDMC 2008-2022)
这张图谱说明 Insulin4RL 站在两条线的交点:一条是 RL 算法与 OPE 方法学,一条是重症血糖控制的临床证据链。
附录 O:数字化速查(一页纸)
| 项目 | 值 |
|---|---|
| 患者 | 12,209(或 12,214) |
| episode | 13,652 |
| 决策 | 376,310(或 375,000+) |
| 事件窗口 | 400 事件 / 168 小时 |
| 决策聚合窗 | 5 分钟 |
| 决策考察窗 | 30 分钟或至下次测量 |
| 剂量档 | 14 档,±0.5~±5 |
| 离群阈值 | 5.5 units/hr |
| 单 episode 中位 | 28 小时 / 17 决策 |
| 最长 episode | 35 天 / 598 决策 |
| 28 天存活 | 91.4% |
| 单 episode 占比 | 92.4%(或 92.5%) |
| 量化保真 | R²=99.9% / MAE=0.017 |
| 体积 | 4.16 GB(+4.2 GB MIMIC) |
| 切分 | 0.8/0.1/0.1 |
附录 P:为什么叫 “AI-Ready”
| 维度 | Insulin4RL 的做法 |
|---|---|
| 直接可用 | 提供标准 (s,a,r,done) 转移,免自行拼接 |
| 格式通用 | Parquet + safetensors,跨框架 |
| 元数据齐全 | feature mapping / 标准化常量 / outlier 阈值 |
| 有协议 | FQE 标准化评估 |
| 有基线 | BC / IQL / CQL(MDP 与 SMDP) |
| 有教程 | tutorial_notebook.ipynb |
“AI-Ready"不是营销词,而是指"拿到即可直接投入模型训练与评估,无需大量预处理”。Insulin4RL 在这一点上做得相当到位——唯一的门槛在获取许可(§6),而非数据工程。
附录 Q:与其他医疗 RL 资源的定位差异
| 资源 | 类型 | 时间假设 | 与本数据集关系 |
|---|---|---|---|
| AI Clinician(脓毒症) | 训练好的策略 | 分箱/固定窗 | 方法学先例,非数据集 |
| MIMIC-IV 原库 | 原始 EHR | 原始(需自行处理) | 上游来源 |
| Insulin4RL | RL 数据集 + 基准 | 自然不规则 | 本条目主体 |
| 一般 MIMIC 提取队列 | 表格队列 | 通常分箱 | 更简单但非 RL-ready |
定位差异一句话:别人给你表,Insulin4RL 给你一个可训练的决策问题。
附录 R:字段/列族说明(示意)
下列字段名为按 PhysioNet 与论文描述整理的口径,精确列名以官方元数据文件为准。
| 字段/列族 | 含义 | 所在载体 |
|---|---|---|
| feature / time / value | 事件三元组 (f,v,t) 的原始字段 | all_data.parquet |
| maintain | 是否维持速率的二值指示 | 标签 |
| stop | 是否停止输注的二值指示 | 标签 |
| insulin_delta_change | 速率改变量(units/hr) | 标签 |
| insulin_prev / insulin_next | 决策前后的速率 | 标签 |
| 1/3/7/14/28-day-alive | 相对本决策的存活指示 | 结局 |
| 1/3/7/14/28-day-alive-final | 相对末状态的存活指示 | 结局 |
| sojourn time η | 到下一状态的分钟数 | 转移 |
| demographics | 年龄/性别/种族/入院类型/保险/婚姻/合并症 | demographics.parquet |
附录 S:三个典型研究场景走查
场景 1:我想验证一种新的 OPE 方法
- 起点:用官方 FQE 协议作为对照基线。
- 步骤:拿 BC 策略作为待评估对象,用你的 OPE 方法与 FQE 分别估计其价值,比较偏差。
- 注意:别在分箱数据上评估后再外推(坑 8 相关)。
场景 2:我想训练一个胰岛素滴定策略
- 起点:IQL 或 CQL 基线。
- 步骤:选择 MDP 或 SMDP 变体(建议两者都试),训练后用 FQE 评估。
- 注意:动作空间只有 14 档 + Maintain/Stop,别假设连续动作。
场景 3:我想做时序表示学习
- 起点:MEDS 事件流表示。
- 步骤:替换序列编码器(如从 LSTM 换成 Transformer),比较下游策略学习质量。
- 注意:标准化常量取自训练队列,跨集使用会泄露(附录 M)。
附录 T:术语中英对照速查(关键 20)
| 中文 | 英文 | 中文 | 英文 |
|---|---|---|---|
| 离线强化学习 | Offline RL (ORL) | 半马尔可夫决策过程 | SMDP |
| 离策略评估 | Off-policy Evaluation | 拟合 Q 评估 | FQE |
| 行为克隆 | Behavioural Cloning | 半马尔可夫 | semi-Markov |
| 停时 | sojourn time | 事件驱动 | event-based |
| 状态-动作-奖励-终止 | state-action-reward-done | 滴定 | titration |
| 高血糖 | hyperglycaemia | 低血糖 | hypoglycaemia |
| 推注 | bolus | 输注速率 | infusion rate |
| 覆盖假设 | coverage assumption | 折扣回报 | discounted return |
| 数据使用协议 | DUA | 认证访问 | credentialed access |
| 标准化 | standardisation | 张量转移 | tensor transition |
参考文献与来源
- Frost, T., Harris, S. (2026). Insulin4RL: Real-Time Insulin Management in the Intensive Care Unit for Offline Reinforcement Learning. arXiv:2606.19481 [cs.LG]. https://arxiv.org/abs/2606.19481 (doi:10.48550/arXiv.2606.19481)
- PhysioNet. Insulin4RL: Real-Time Insulin Infusions For Offline Reinforcement Learning. https://physionet.org/content/insulin4rl/ (发布 1.0.0)
- GitHub. tdgfrost/insulin4rl — Open-source code for reproducing the Insulin4RL dataset. https://github.com/tdgfrost/insulin4rl
- Johnson, A., et al. (2024). MIMIC-IV (version 3.1). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/kpb9-mt58
- Johnson, A.E.W., et al. (2023). MIMIC-IV, a freely accessible electronic health record dataset. Sci Data 10, 1. https://doi.org/10.1038/s41597-022-01899-x
- Komorowski, M., et al. (2018). The Artificial Intelligence Clinician learns optimal treatment strategies for sepsis in intensive care. Nature Medicine.(论文引证)
- NICE-SUGAR Study Investigators (2009/2012). Intensive versus conventional glucose control in critically ill patients / Hypoglycemia and risk of death in critically ill patients. NEJM.(论文引证)
- Schulam, P., Saria, S. (2018). Discretizing Logged Interaction Data Biases Learning for Decision-Making. arXiv:1810.03025.(论文引证)
存照附录(双口径与待核逐条)
| 编号 | 冲突项 | 口径 A | 口径 B | 本条目取用 | 处置 |
|---|---|---|---|---|---|
| S1 | 患者数 | 12,214(PhysioNet 摘要) | 12,209(PhysioNet 正文 + arXiv) | 12,209 | 坑 1 存照 |
| S2 | 决策数 | over 375,000(arXiv 摘要) | 376,310(PhysioNet 正文) | 376,310 | 坑 2 存照 |
| S3 | 副标题 | Real-Time Insulin Infusions(PhysioNet 页) | Real-Time Insulin Management in the ICU(arXiv 题) | 并列 | 坑 3 存照 |
| S4 | 单 episode 占比 | 92.4% | 92.5%(同页另一段) | 92.4% | 坑 6 存照 |
| S5 | Insulin4RL 自身许可 | 沿用 MIMIC-IV 协议(推定) | 页面显式条款未取得 | MIMIC 协议 | 坑 5 / 遗留疑点 |
| S6 | PhysioNet 项目 DOI | 未取得 | — | 用 arXiv DOI | 遗留疑点 |
| S7 | 论文状态 | Under submission | — | 如实标注 | 坑 9 |
| S8 | MIMIC 家族库内 rid | 待反查 | — | 附录 C 标注"待反查" | 遗留疑点 |
本条目成稿时点 2026-10-10,核验方式为 WebSearch×2 + WebFetch×3(arXiv 摘要页 / GitHub README / physionet 直连失败)。所有跨源冲突已如上逐条存照;未能确证的项已明确标注为遗留疑点,不以推定冒充事实。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- clinical-trajectory-flow-icu — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 真实世界数据 / 评测基准
- mimic-eicu-fiddle-feature — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 真实世界数据 / 评测基准
- gossis-1 — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 真实世界数据
- cinc-2019 — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- cinc-2012 — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- lacuna — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- glucose-management-mimic — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 真实世界数据
- clif — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- mit-critical-datathon-2023 — 共享标签:电子健康记录 / 重症监护 / 时序数据 / 评测基准
- ehrshot — 共享标签:电子健康记录 / 时序数据 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

