兽医麻醉生命体征 — 226 例犬猫的术中信号库

226 例犬猫麻醉 · 369 小时 · 55 类信号 · 无事件标注

来源 PhysioNet · VIP Animal Medical Center Cheongdam · VitalDB 文件格式发布时间: 2026-10-29最后更新: 2026-10-29 阅读 5
兽医麻醉生命体征 — 226 例犬猫的术中信号库

信息速览

数据集名称兽医麻醉生命体征 — 226 例犬猫的术中信号库
数据类型226 例犬猫麻醉,241 个 .vital 文件,约 369 小时记录,波形 500 Hz / 数值 1 Hz,633.7 MB ZIP,无事件标注
规模226 例麻醉(犬 191、猫 35;动物级去重后未知)
接入方式PhysioNet · VIP Animal Medical Center Cheongdam · VitalDB 文件格式
AI 就绪度

一份靠 VitalDB 工具链在兽医手术台旁边录下来的术中生命体征记录,2026 年 10 月 28 日登上 PhysioNet。它把人类麻醉信息学那套采集范式——监护仪加麻醉机、统一时钟写进同一种二进制容器——第一次成规模地套用到了犬与猫身上。226 例麻醉、241 个记录文件、约 369 小时,是当前公开兽医术中时序数据里体量最大的一份。

它不是驯化版的 VitalDB。它没有事件标注,没有结局,没有动物级标识,波形也没有转成 WFDB。它的价值在于提供了一块「跨物种对照的原始录音」:同一套解析工具能读,但同一套判断阈值不能直接套。把这两件事分开,是使用它的全部前提。

一屏速览见下表。

项目 内容
官方全称 A Veterinary Vital Sign Time-Series Database Collected During General Anesthesia
版本 / 发布 v1.0.0 / 2026-10-28
托管 PhysioNet(RRID:SCR_007345)
DOI 10.13026/wvfp-p831
作者 Jeesoo Cha、Hyung-Chul Lee
采集机构 VIP Animal Medical Center, Cheongdam(韩国首尔)
规模 226 例麻醉 / 241 个 .vital 文件
物种 犬 191 例、猫 35 例
总时长 约 369 小时
单文件时长 中位 88.5 分钟(IQR 55–123,范围 5–307)
波形通道 ECG_II、ART、PLETH(部分),500 Hz
数值参数 心率、SpO2、脉率、食管温、有创/无创血压,约 1 Hz
麻醉机数据 呼末 CO2、吸入药浓度、MAC、潮气量,仅 52 例
事件标注 无
结局 无
文件格式 .vital 原生二进制,无 WFDB
体积 633.7 MB

§1 它到底是什么:一份没有标注的兽医麻醉原声带

一句话:这是一份按可得性收集、按原样发布的犬猫全麻术中监护记录,官方在页面里把「不做处理」写成了明确承诺——No processing was applied to the contents of the .vital files。选择文件、改名、脱敏,除此之外没有滤波、没有重采样、没有插补、没有裁掉伪迹段。

1.1 为什么这不是「又一个麻醉数据集」

判别一个麻醉数据集的关键不是它的规模,而是它在时间轴上留下了什么。人类侧的公开术中库大多沿着两条路走:一条是器官层面的完整叙事(波形、给药、事件、结局俱全),一条是任务定制的切片(专门标心律失常、专门标伤害性刺激)。兽医这份走在第三条路上:它只交付设备当时看见的东西,不交付人对这些东西的解释。

这个差别决定了它的能力边界。能让模型学到「犬在七氟烷维持下心率与呼末二氧化碳的耦合形态」,但学不到「这个形态在该病例里算不算危险」——因为危险与否的判断从来不在文件里。凡是宣称「用它训练术中低血压预警」的说法,都在偷换「信号」与「标签」。

1.2 三层结构的读法

全文按三层展开,每层对应一类使用者的真实痛点:

层 回答的问题 落点章节
物种与设备层 这些数字来自什么动物、什么机器,为什么读法与人类不同 §3
信号与完整性层 哪些轨道真的存在、缺的是什么、伪迹从哪来 §4
取数与标注层 怎么把 .vital 读成表格,缺的标注要自己怎么补 §5

1.3 三十秒决策卡

你的处境 这份数据能帮你什么
做兽医麻醉方向的信号处理,但没有公开数据 拿下目前最大的犬猫术中多参数时序集,无需申请
做人类术中模型,想找跨物种外部验证集 可在同一套 Vital Recorder 工具链下做通道级对照,但必须先做物种归一
研究小而轻体重的动物如何影响血压读数 体重中位数明显偏低,能直接观察袖带误差的表现
需要犬猫低血压 / 拔管延迟的真值 给不了,没有任何事件或结局字段
想验证自己的 PhysioNet 自动下载流水线 可以,但这批文件不是 WFDB,标准 WFDB 读取器会直接失败

1.4 不适合谁

如果你的需求是「一个带标签的兽医术中事件识别基准」,这份数据给不了你标签,也不该被硬凑成基准。同类需求下,人类侧应当去看 VitalDB 系索引出的心律失常逐搏标注集,那里有五位麻醉科医师复核过的搏级真值;兽医侧目前没有等价物,只有等新的发布,或者自己在一个能拿到麻醉记录单的机构里补标。

如果你的需求是「动物模型生理学的基础研究」,那么这份数据也不能替代实验室级采集:它是临床监护,不是受控实验,麻醉药、体位、手术类型都不可控,也不提供血气、心输出量这类金标准测量。

§2 数据构成与规格

2.1 规模数字的三种口径

同一个规模话题,官方给了三组数字,它们并不等价,混用会直接算错。

口径 数值 含义与陷阱
麻醉病例数 226 病例单位;同一动物可贡献多个病例,动物级唯一数未知
记录文件数 241 文件单位;15 个病例被拆成多段(带 -1、-2 后缀)
记录总时长 约 369 小时 文件跨度之和,不等于麻醉时长之和
单文件时长 中位 88.5 分钟 IQR 55–123,全长 5–307
麻醉日志时长 中位 113 分钟 IQR 72–147;与记录跨度不是同一件事
信号轨道 55 种 全队列去重后的轨道名总数,单文件远少于这个数

这里最容易犯的错是把「记录总时长」当成「可用于建模的清醒-麻醉全过程」。记录往往在麻醉机或监护仪接入后才开始,在撤机时结束;而麻醉日志记录的是从给药到拔管的临床时段。两者相差十几到几十分钟很常见,做时间序列长度统计时必须挑一个口径并写明。

2.2 队列构成

维度 分布
物种 犬 191 例(约 84.5%)、猫 35 例(约 15.5%)
年龄中位数 105 个月(IQR 64–137)
体重中位数 4.5 kg(IQR 3.3–6.8)
性别 雄性 115 例(约 50.9%)
绝育状态 已绝育 194 例(约 85.8%)
ASA 分级 1/2/3/4/5 48 / 73 / 62 / 36 / 7
维持麻醉剂 七氟烷 204 例、异氟烷 20 例、未明确 2 例

体重中位数只有 4.5 千克,说明这份队列以猫与小体型犬为主,与「犬类平均体重二三十公斤」的常识相去甚远。这不是瑕疵,而是兽医麻醉的真实画像:小体型动物的低体温、低血糖与血压测量误差都是临床上更突出的问题。但它也意味着任何「平均犬」的结论在这里都会偏。

ASA 分级的分布同样偏离择期手术人群——3 级及以上合计 105 例,接近一半。这是三级转诊中心的典型病例结构:常规绝育被社区诊所分流,留下来的多是肿瘤切除、骨科修复、急诊开腹这类高 ASA 手术。

2.3 五个随附文件

文件 粒度 解决什么问题
clinical_metadata.csv 每病例一行 物种、品种、年龄、性别、绝育、体重、ASA、手术类别
record_manifest.csv 每文件一行 病例与文件的映射、分段顺序、记录时长、信号可用标志
track_inventory.csv 每文件每轨道一行 设备标签、轨道名、类型、单位、采样率、观测数、缺失状态
data_dictionary.csv 每变量一行 单位、允许值、缺失约定
breed_summary.csv / procedure_glossary.csv 汇总与词表 品种统计与手术术语的中英对照

五张表里,真正决定分析可行性的是 track_inventory.csv。它把轨道状态分成了三类:不存在(absent)、存在但为空(empty)、存在但有数据却不可用(present-but-unusable)。这个区分在公开数据集里并不常见,却是信号分析的真实前提——「这一例没有麻醉机数据」和「这一例接入了麻醉机但只录到一条平线」在统计上是两件事,混在一起会系统性高估信号可用率。

2.4 一条记录逐行解剖

.vital 是 VitalDB 自研的二进制容器,内部不是「一条波形一个文件」,而是把所有轨道按各自采样率写进同一个容器,并附带一个轨道索引。下面这段是官方示例脚本的等价写法,用来说明提取顺序。

#-- 读取单个 .vital 文件的轨道清单(需 pip install vitaldb)
import vitaldb

path = "vital/CASE_0001.vital"
trk = vitaldb.VitalFile(path)

#-- 轨道被发现记录在文件内部,不依赖外部头文件
names = trk.get_track_names()
print(len(names), names[:12])

#-- 按需提取单条轨道并显式指定输出间隔
ecg = trk.to_numpy(["ECG_II"], 1 / 500)   # 500 Hz 原生
hr  = trk.to_numpy(["HR"], 1.0)           # 数值轨道按 1 秒对齐
print(ecg.shape, hr.shape)

关键在于最后两行的差别:to_numpy 的第二个参数是重采样后的目标间隔,不是轨道原生频率。官方文档特意提醒过这一点——把输出间隔当作采样率来引用,会在论文里写出一个并不存在的 500 Hz 采样声明,而数值轨道本来是 1 Hz。

2.5 与同类资源的定位差异

资源 物种 规模 事件/结局 格式
这份兽医库 犬、猫 226 例 无 .vital
VitalDB 人 数千例 有限(分项索引) .vital
VitalDB Arrhythmia 人 数百例手术 有(逐搏) .vital + 标注
cardiac-accel 犬猪库 犬、猪 数十只 无(实验态) WFDB
一般兽医电子病历库 犬、猫 数千条 有(诊断/转归) 表格

一句话判断:要术中连续波形,兽医侧目前只有这一份;要事件真值,兽医侧没有,只能退到人类侧的索引集;要群体规模的诊断与转归,则应当离开波形库,去看兽医电子病历类资源,代价是失去秒级分辨率。

§3 物种与设备层:为什么同一套数字在犬猫身上换了含义

3.1 生理基线不同,阈值不能平移

人类术中监护的常见报警阈值有一套几十年的经验底座:心率低于 50 或高于 100、平均动脉压低于 65 毫米汞柱、血氧饱和度低于 90 视为警戒。犬猫的对应区间完全是另一套——成年犬静息心率常在 60 至 140 之间,猫更高;犬猫的收缩压正常区间也比人低得多。直接把人的阈值搬到这份数据上做「低血压事件」推导,得到的所谓事件率没有临床意义,只有信号统计意义。

这个差异不是四舍五入能解决的。它影响三件事:一是标签推导(阈值法报警的阳性率);二是归一化方式(按人群均值方差做的标准化在跨物种时会把物种差异也标准化掉);三是多任务混训(人类与犬猫样本同批训练时,模型可能学到的最强特征是「这是不是人」)。

3.2 设备层:同一台监护仪,两种接入方式

通道 来源 采样率 覆盖病例
ECG_II Infinity M540 波形输出经 SNUADC 500 Hz 226(全部)
HR、SpO2、脉率 Infinity M540 数值 约 1 Hz 226(全部)
食管温度 Infinity M540 数值 约 1 Hz 225
ART 波形 有创动脉置管 + SNUADC 500 Hz 192
ART 数值 有创血压数值 约 1 Hz 121
无创血压 袖带示波法 约 1 Hz 55
PLETH 脉搏波 500 Hz 部分
麻醉机参数 MedibusX 波形 + 数值 52

表里有一个值得停一下的现象:有创动脉压波形覆盖 192 例,而对应的数值只有 121 例。这不是数据错误,而是设备配置差异——波形来自独立采集通道,数值来自监护仪向中央站的输出,两条路并不总是同时打开。做血压分析时如果只查数值轨,会凭空丢掉七成有创血压病例。

3.3 采样惯例:三种时钟同时存在

先看动物的麻醉生理学,它决定了哪些通道最值得珍惜。犬猫麻醉的主要风险与人类不完全重合:低体温比低血压更常见,尤其在小体型动物身上,因为体表面积与体重之比高、散热快;呼吸抑制在吸入麻醉加深时出现得更突然;苏醒期躁动与术后低体温相关。这三点决定了食管温这条「看起来不起眼」的数值轨道,在本数据里的临床权重不亚于血压——它覆盖 225 例,是全队列覆盖率第二高的连续参数,仅次于心电与血氧。

反过来,人类术中监护里权重极高的几类参数在这份数据里缺席:脑电双频指数类设备在犬猫上的应用尚未普及,因此没有麻醉深度的直接指标;心输出量与每搏量需要一个可用的人类公式,而这类公式在犬猫身上的适用性本身存疑。这意味着「麻醉深度估计」这类任务在这份数据上只能间接做,用呼末二氧化碳与吸入药浓度的组合做代理,而代理的覆盖只有 52 例。

再看三种时钟。

这份数据里有三种时间来源:监护仪内部时钟、SNUADC 采集卡时钟、麻醉机经 MedibusX 的时钟。官方在局限性里明确写了「不同设备时间戳可能存在未知偏移,不应假定样本级同步」。

这个提醒的含义比字面更重。在人类 VitalDB 场景里,研究者已经习惯了「Vital Recorder 做的同步足够好,可以直接对因果下结论」这样的默会前提。在这份数据上,这个前提没有背书:如果要做「血压下降后心率反射」这类秒级因果分析,必须先把偏移量估出来,或者至少把分析窗口放宽到分钟级,让偏移落在窗口噪声里。

3.4 一个贯穿全文的观察:猫的样本

全文反复回到同一个具体片段——那批猫。它们占队列约六分之一,却几乎承载了所有「不能用犬的经验推断」的风险。

原因有三层。第一层是体重:猫的体重分布更窄也更低,袖带尺寸选择余地小,无创血压在猫身上的误差普遍比犬大,而这批数据里无创血压只覆盖 55 例,稀释了样本。第二层是麻醉反应:猫对α2 受体激动剂的反应、对体温下降的敏感程度都与犬不同,食管温这一条几乎全覆盖的数值轨道在猫身上往往呈现更陡的下降。第三层是统计:这六分之一再按手术类型与 ASA 分层,每格只剩个位数,任何关于猫的血压异常比例估计都带着极宽的置信区间。

所以正确的用法是把猫当作异质性来源而不是独立子群体:可以检验模型在猫上的表现退化,不宜单独发布猫的分布统计。这个原则在 §4 的信号完整性讨论和 §7 的局限清单里都会再出现。

§4 信号与完整性层:缺的是什么,伪迹从哪来

4.1 三层完整性,逐层收紧

在兽医场景里,缺口还有一类人类数据不太常见的成因:动物在记录期间移动。犬猫不像人类手术患者被约束固定,术中体位的维持依赖绑带与体位垫,一旦动物在恢复期开始抬头或挣扎,电极片与血氧探头就会移位,信号随之劣化。这类缺口不是设备故障,也不是临床中断,而是动物的行为本身。

这一点决定了修补策略:人类数据的缺口多数可以用「设备重连」解释,插值补几个点是合理的;这里的缺口往往对应一次真实的体位改变,插值会在拼接处造出一段从未存在过的平稳信号。更稳妥的做法是把缺口标记为「不可用区间」,让下游模型显式地学会在缺失条件下推理,而不是假装信号连续。

判断一份监护数据能不能用,要过三道关,每道关淘汰的东西不一样。

关卡 问题 本数据的位置
文件存在性 这个病例有没有被录下来 226 例里有记录,其余病例未纳入
轨道存在性 该文件里有没有这条轨道 只有 ECG 与心率、血氧全量覆盖
轨道可用性 这条轨道在全程是否连续可用 官方明确不保证,须自行评估

第三关是最容易被跳过的一关。页面上有一句很容易被忽略的话:file-level signal availability does not guarantee complete coverage throughout a case——文件级可用性不等于全程覆盖。一条轨道可能只在文件的前二十分钟有数据,后面的时间是空字段。把「文件里有 ECG_II」当作「这一例全程有心电」,是所有基于此数据的静默错误里最常见的一个。

4.2 伪迹的四种来源

临床监护的伪迹与实验室采集的伪迹不是同一类问题。这里能预见到的有四类:

伪迹类型 成因 表现
电刀干扰 术中电凝、电切 ECG 上高频爆发,与真实 QRS 混淆
袖带充放气 无创血压周期性测量 该通道出现阶跃与平台
冲洗与采血 有创动脉管路操作 ART 波形短时畸变、归零
断连与重新接入 传感器脱落、换探头 数值轨道出现空字段或常量段

这四类都不是「可以用一个通用滤波解决」的。电刀干扰的频带与 QRS 主能量重叠,窄带滤波会把真实信号一起削掉;袖带充放气的阶跃恰恰是有效信息,滤掉它等于抹掉血压测量的时间锚点。对这份数据做质控,本质上是在做临床操作规程的逆向推断:看到连续的阶跃,就该想到这一例在按时测无创血压。

4.3 为什么不做 WFDB 转换会伤人

官方明确说明 v1.0.0 不含 WFDB 转换,生理记录以 .vital 原样提供。这个决定的代价,是所有面向 PhysioNet 生态的自动化脚本都会在这份数据上断掉。

最常见的失败是这样的:研究者写好了基于 wfdb 包的批处理流水线,假设目录下是一堆 .hea 与 .dat,结果 wfdb.rdrecord 在第一个文件上就抛异常,而异常信息指向文件头解析失败,看起来像是下载损坏。实际上没有任何损坏,只是格式不同。

正确的处理是走 VitalDB 的 Python 库,并把结果显式落成 Parquet 或 NumPy 数组,再交给下游。这一步多做一次,换来的是下游完全不用知道 .vital 的存在。

#-- 通过 PhysioNet 官方命令行工具下载整包(约 633.7 MB)
physionet download veterinary-vitals-anesthesia --version 1.0.0

#-- 或用 wget 递归抓取到本地目录
wget -r -N -c -np https://physionet.org/files/veterinary-vitals-anesthesia/1.0.0/

#-- 确认拿到了什么:五张 CSV 与一个 vital/ 目录
ls 1.0.0/ | head
ls 1.0.0/vital/ | head

4.4 把 .vital 一次性落盘

批量转换是使用这份数据的第一道工程门槛。下面的脚本把每个文件、每条轨道导出成独立数组,并把 track_inventory.csv 里的状态标记一并带下来,方便后续筛掉不可用轨道。

#-- 批量导出:每个文件一条轨道一个 .npy,附状态清单(需 pip install vitaldb pandas)
import os
import ast
import numpy as np
import pandas as pd
import vitaldb

inv = pd.read_csv("track_inventory.csv")
out = "arrays"; os.makedirs(out, exist_ok=True)
usable = inv[inv["status"].astype(str).str.lower().eq("present")]

for (fname, trk_name), grp in usable.groupby(["file_name", "track_name"]):
    path = os.path.join("vital", fname if fname.endswith(".vital") else fname + ".vital")
    vf = vitaldb.VitalFile(path)
    if trk_name not in vf.get_track_names():
        continue
    dt = float(grp["sampling_rate"].iloc[0])
    arr = vf.to_numpy([trk_name], 1.0 / dt)
    np.save(os.path.join(out, f"{fname}__{trk_name}.npy"), arr)

print("done:", len(os.listdir(out)))

这段代码只做一件事:把「轨道清单」与「二进制内容」对齐。它不判断质量——质量判断留给下一步,因为「可用」在原始数据里只意味着「有观测值」,不意味着「没有伪迹」。

4.5 覆盖率决定了能做什么任务

把覆盖率排成一张表,任务可行性就一目了然。

想做的问题 需要哪些轨道 可用病例上限
犬心电图节律分析 ECG_II 500 Hz 226
血氧下降与心率耦合 SpO2、HR 226
有创血压趋势与低血压推导 ART 波形或数值 192 或 121
麻醉深度与吸入药浓度关系 麻醉机参数 52
通气血氧耦合 呼末 CO2、SpO2、呼吸率 52
无创 vs 有创血压方法学比较 两者兼有 远少于 55

最后一行的「远少于 55」是一个必须自己算的数:无创血压覆盖 55 例,有创数值覆盖 121 例,两者的交集不会出现在任何一张汇总表里,只能逐个文件求交。任何声称「用本数据做无创血压一致性评价」的研究,第一步都该先把这个交集的规模报出来。

§5 取数与标注层:缺的标签怎么自己补

5.1 官方不提供的三样东西

缺失项 台账位置 影响
麻醉事件(诱导/插管/拔管) 无 无法做阶段切分,只能靠信号形态推断
低血压等不良事件 无 无法做预测任务的真值
临床结局 无 无法做转归分析
动物级标识 无 无法去重、无法做个体内时间外推

官方对此的措辞很直接:要做「暴露或干预效应」分析,需要另外获取治疗时序与混杂信息,而「本发布不包含这些内容,也不应假定其存在」。这句话应当被当作使用边界,而不是可以绕过去的建议。

5.2 事件时间戳可以从信号里猜,但要写清猜法

既然没有标注,想做事阶段分析的研究者只能自建。可用的线索有四条,可靠性依次下降:

线索 可推断什么 可靠性
麻醉机参数出现时间 插管与机械通气的开始 较高,但只有 52 例能提供
呼末 CO2 从零到平台 有效通气开始 较高,同受 52 例限制
吸入药浓度从零上升 诱导给药时刻 中等,吸入诱导与静脉诱导不同
无创血压阶跃序列 测压节奏,而非事件本身 低,只说明监测行为

用第二条信号推插管时刻是可行的,但要接受两个偏差:一是麻醉机接入的时刻可能晚于实际插管(设备准备好才接),二是只有约四分之一的病例具备这个通道。把基于 52 例推导出的事件规则套到全部 226 例,是典型的样本外推。

5.3 一个可复用的最小实现

下面这段给出「用呼末二氧化碳平台推通气开始」的最小写法,只在有麻醉机通道的病例上运行,并把结果落成一张事件表,方便与自建标注合并。

#-- 从 ETCO2 数值轨道推通气开始时刻(仅适用于含麻醉机数据的病例)
import numpy as np
import pandas as pd

def ventilation_onset(etco2, ts, thresh=10.0, hold_sec=60):
    """etco2: 1 Hz 数值序列;ts: 对应秒偏移;返回首次持续超阈值的秒数"""
    over = etco2 > thresh
    if not over.any():
        return None
    idx = np.flatnonzero(over)
    for i in idx:
        end = i + hold_sec
        if end <= len(over) and over[i:end].mean() > 0.9:
            return float(ts[i])
    return None

#-- ETCO2 轨道缺失时返回 None,不要用 0 填充冒充
onset = {f: ventilation_onset(a[:, 0], np.arange(len(a)))
         for f, a in etco2_by_file.items()}
pd.Series(onset, name="vent_onset_sec").to_csv("derived_events.csv")

两个细节决定这段代码会不会误导人:一是阈值 10 毫米汞柱是按犬猫呼末二氧化碳的常见平台定的,不是人类常用值;二是找不到持续平台时返回 None 而不是 0,因为「没检测到」与「第一秒就开始」是完全相反的结论。

5.4 标注的经济学

自建标注的成本主要不在写代码,而在可复核性。一份没有第三方复核的事件表,在论文里只能作为「探索性时间锚点」,不能作为真值。

人类侧的对照很能说明问题:VitalDB 系的心律失常标注集之所以被当作基准,是因为有五位麻醉科医师逐搏复核,复核过程本身写进了方法学。兽医侧要做同等强度的标注,需要兽医麻醉专科医师参与,而这恰恰是公开数据里最稀缺的资源。因此这份数据的合理定位是标注的原料,而不是标注的成品。

§6 与库内既有的关系

6.1 关系图谱

库里人类术中方向已经相当密:主库、心律失常索引、伤害性刺激多模态集、丙泊酚自主神经动态、脑电功率谱、外科重症波形库、儿童神经重症。跨物种方向只有犬猪心功能实验库与犬胶质瘤影像组学集两个点。这份兽医麻醉库补上的是「兽医术中连续多参数监护」这一格,之前是空的。

6.2 分工说明

库内已有数据集 与它的分工 边界提醒
vitaldb(rid 192) 同一工具链、同一文件格式的母体;这份兽医库是它在兽医侧的对应物 母体有分项索引与更多轨道,但没有犬猫;不可假设轨道名与覆盖率对等
vitaldb-arrhythmia(rid 1577) 提供「有逐搏真值」的对照样本 这份数据没有节律标注,不能直接借它的标签做迁移
cardiac-accel-canine-porcine(rid 1466) 同样是犬与猪,但走的是受控实验路线 它是心外膜加速度与左室压,秒级片段;这份数据是临床长时监护,两者不能拼成同一张表
multimodal-surgery-anesthesia(rid 1313) 提供人类侧的伤害性刺激标注范式 其标注是代理指标,这份兽医库连代理指标都没有
icdc-glioma(rid 1734) 提供跨物种的另一种切法:影像与组学 它证明跨物种价值在「自然发病模型」,与这份数据的「信号对照」是两条路
propofol-anesthesia-dynamics(rid 1316) 提供给药与自主神经响应的细粒度人类样本 它是小样本深描,这份兽医库是大样本浅标
eeg-power-anesthesia(rid 1317) 提供麻醉深度的脑电标签 这份数据没有脑电通道

最需要说清的是与犬猪心功能库的分工。两者物种重叠,但研究问题正交:那一份回答「心脏机械运动在药物作用下的形态」,这一份回答「一台手术全程监护仪表盘上留下了什么」。把小片段的实验数据与长时程的临床数据混为「兽医生理信号库」,会同时毁掉两边的可比性。

6.3 检索路径建议

按需求走三条线:要人类术中波形与事件,走主库与心律失常索引;要兽医术中连续监测,只有这一份;要兽医的影像与组学,走胶质瘤集。三条线之间不存在「合并成一个超大数据集」的合理路径,因为没有共同的标识符、没有共同的物种、也没有共同的标注体系。

6.4 一句话的分工原则

把六条互链压成一句可操作的规则:要看人类术中波形与事件,去主库与心律失常索引;要看兽医术中连续监护,只有这一份;要看兽医的器官层面影像与组学,去胶质瘤集;要看受控实验下的心脏机械信号,去犬猪心功能库。

四条线之间不应该被强行合并。合并的第一步通常是找一个共同标识符,而这四条线连「同一个体」这一层都对不上——人、犬、猫、猪各说各话。强行合并的产物往往是一个字段全都稀疏、维度全都对齐不了的空壳,不如维持四条独立的线,在分析层面做对照。

§7 质量评估与局限性

7.0 阅读本节前需要知道的一件事

评估这份数据时,最常发生的框架错位是拿「AI-Ready」的标准去要求一份「原始录音」。它不是为训练准备的:没有划分、没有标签、没有基线结果、没有统一的张量形状。按监督学习基准的尺子去量,它会处处不合格;按临床数据源原声带的尺子去量,它的保真度反而是优点——因为任何预处理都会不可逆地丢掉临床规程留下的痕迹。

7.1 DAIMS 视角下的判定

DAIMS(Data and AI Maturity 评估框架)用若干维度判断一个数据集在 AI 流程中的成熟度。逐项落到这份数据上:

维度 判定 依据
可发现性 合格 有 DOI、有 PhysioNet 固定入口、有引用格式
可访问性 合格 无需申请,ZIP 直下;无 WFDB 转换是格式代价而非准入代价
文档完整性 良好 五张 CSV 覆盖变量字典、轨道清单与手术词表
元数据粒度 中等 病例级与文件级元数据齐,轨道级靠 inventory 间接查
标识与关联 弱 无动物级标识,病例不可串联;无跨库外键
标签与监督信号 缺 零事件、零结局,需完全自建
机器可读性 中等 .vital 需专用库解析,通用工具链不通
可复现性 良好 原样发布、未做处理,反而减少了「上游悄悄改过」的风险

判定的结论是:它是一份高保真的数据源,不是一份可即刻投入训练的资产。把它当作 AI-Ready,需要经过一层不便宜的转换工作——这层工作恰好也是判断使用者是否真的读懂它的分水岭。

7.2 逐条局限

局限 具体表现 应对
单中心 全部来自首尔一家专科动物医院 结论外推到社区诊所前必须加限定
便利抽样 按可得性纳入,非常规全量 不应用来估计兽医人群的麻醉并发症率
无动物标识 一动物多病例无法识别 划分数据集时按病例随机会造成泄漏
多文件病例 部分病例拆段 时长统计与事件时间轴需先合并
时间戳平移 统一到 2000-01-01 合成时间 只能做相对时序,不能做季节或年份分析
轨道异质 逐文件配置不同 每个任务都要先算可用子集
设备偏移 三类时钟未验证同步 秒级因果分析需先估偏移
无标注 事件与结局皆无 只能做描述与无监督,不能做监督预测

其中「按病例随机划分是否会泄漏」值得单独说一句:官方明确写了少数动物贡献了多个病例,且未提供动物级标识,因此在数据划分时无法避免同一动物跨训练集与测试集。这不是研究者的疏忽,是数据本身的结构限制,正确做法是在论文里声明该限制,而不是假装已经去重。

7.3 与人类术中数据的六点差异

这是这份兽医数据不可替代的理由,也是跨物种迁移被过度宣传的地方。差异远不止「参数范围略有不同」这么轻——把六点逐一摊开,才能看清哪一部分能借用、哪一部分必须重做。

差异维度 人类术中数据 这份兽医数据
生理基线 心率、血压阈值有成熟共识 犬猫各有区间,人用阈值不适用
体型跨度 成年人相对集中 4.5 千克中位数,袖带与置管方式随之变
麻醉方案 静脉为主、方案标准化程度高 吸入为主(七氟烷占绝大多数)
监护配置 三件套几乎标配 有创波形与无创数值覆盖率差三倍
数据治理 有事件登记、有结局字段 两者皆无
时钟体系 Vital Recorder 同步有实践共识 三类设备时钟未验证

第一点决定的是标签能否自动生成。人的低血压阈值被写进了无数监护系统的报警逻辑,因此很多人类数据集可以靠阈值回推事件;犬猫没有同等地位的共识阈值,回推得到的「事件」在不同文献里口径不一,拿来当监督信号等于把文献分歧固化成标签。

第二点决定的是测量误差的量级。袖带宽度与肢体周径的比例直接决定示波法读数偏差,4.5 千克的猫与 40 千克的犬用的根本不是同一种 cuff,同一套校准曲线不可能同时成立。这份数据里无创血压只覆盖 55 例,很大程度上就是小体型动物上袖带不可靠导致的临床选择。

第三点决定的是药代与药效的时间尺度。吸入麻醉的深度调整以呼吸周期为单位,静脉麻醉以输注泵的设定为单位,两者在信号上留下的痕迹(一个是阶跃式的气体浓度变化,一个是缓慢的输注曲线)完全不同,用人类静脉麻醉的时序先验去解读这份数据,会系统性地错判调整时刻。

第四点决定的是任务可行性。覆盖率差三倍意味着「心电-血压耦合」这类任务在人类数据上是全量可用,在这里只能在子集上做,且子集本身是有偏的(能上有创监护的多是高 ASA 手术)。

第五点决定的是评估范式。人类数据可以做成完整的「信号到结局」链路评估,这份数据只能做链路的前半段;任何声称端到端效果的论文,都需要说明后半段用的是外部标签还是自建标签。

第六点决定的是因果推断的可行性。三类设备时钟未验证同步,意味着「血压下降 → 心率上升」的秒级因果链条无法从数据本身确立,只能作为假设提出。

一句总结:工具链可迁移,阈值不可迁移,标注体系完全不可迁移。任何「用犬猫数据预训练、再微调到人类」的方案,能迁移的只有信号的形态统计(例如 QRS 的时频结构),不能迁移的是所有与临床判断相关的部分。

7.4 跨物种迁移的三个真实陷阱

模板化的说法是「先在大规模动物数据上预训练,再小样本微调到人类」。这个叙事有三处会在实操中塌陷。

第一处是伪标签泄漏。如果预训练阶段用了基于人类阈值生成的伪标签(比如把犬的血压按人的 65 毫米汞柱切成正常/异常),那么模型学到的其实是人的阈值函数,而不是犬的生理;微调到人类时表现好,反映的是这个泄漏,不是跨物种迁移。

第二处是设备指纹。这份数据全部来自 Philips Infinity 与 MedibusX 的组合,人类 VitalDB 也是同一体系——这意味着在两者之间做迁移,测到的「迁移成功」里有多少来自生理共性、有多少来自设备共性,无法分离。要做干净的实验,必须引入第三方设备的数据做对照,而目前兽医侧没有。

第三处是任务定义漂移。同一个任务名在两侧的标签定义不同:「低血压检出」在人类指平均动脉压低于某个共识值,在犬猫指平均动脉压低于麻醉医师当时的判断。名字相同、真值来源不同,跨数据集比较就失去意义。

7.5 外部验证矩阵

验证方式 是否可行 说明
与人类 VitalDB 做通道级对照 可行 同一工具链、同格式,但需按物种分开归一
与犬猪心功能库做心脏信号对照 有限可行 片段时长短,仅能做形态学小样本比对
与兽医电子病历做转归关联 不可行 无共同标识符
用人类模型直接推理 不建议 输出无法映射到兽医临床阈值
用兽医模型推理人类数据 不建议 反向同样不成立

7.6 值得留意的两个正向特性

局限说够了,也要指出它做对的地方,否则评估会偏成一边。

第一个正向特性是原样发布的勇气。绝大多数公开生理数据集都会在发布前做一轮清洗,理由通常是「提升可用性」。清洗的代价是不可逆:一旦滤波或插补写进了发布版本,后来者就无法再研究「原始信号长什么样」。这份数据选择保留原始形态,等于把清洗的权力交还给使用者——这是长期价值,短期会显得难用。

第二个正向特性是状态语义的诚实。轨道清单把「不存在」「为空」与「存在但不可用」分开记录,这个区分在多数数据集里是没有的。正因为有这个字段,做可用子集统计时才有据可依,不必靠猜。

§8 版本与生态

8.1 版本节奏

v1.0.0 是首个公开版本,发布说明把它与「早期未公开的提交」区分开来:相比那一版,正式版扩大了队列、补充了临床元数据、写清了采集方法、加了文件与轨道清单与使用文档。这个修订方向说明作者关心的不是「再收几百例」,而是「让已有记录能被正确使用」。

对一个没有标注的数据集而言,文档就是它的主要价值增量。轨道清单与状态三分类这两个补充,比多几十例病例更能决定它是否可用。

8.2 生态位

它站在三个生态的交汇处:

生态 它扮演的角色
PhysioNet 波形库 首批兽医术中监护数据,打破「全人类」的物种单一性
VitalDB 工具链 证明 .vital 容器可以跨物种复用,且不需要改动格式
兽医临床信息学 提供目前规模最大的公开术中多参数时序集

这个位置有稀缺性,也有脆弱性。稀缺来自「第一次」;脆弱来自「唯一」——如果后续没有第二个独立中心的同类发布,所有基于它的跨中心结论都无从验证。

8.3 与 VitalDB 的技术血缘

文件格式、采集硬件、同步软件全部沿用 VitalDB 体系:SNUADC 是开源的八通道采集卡,Vital Recorder 是同步写入工具,Python 库负责读取。这套工具链原本为人类手术室设计,被直接搬到兽医手术室,没有做格式层改造。

血缘带来的好处是零学习成本(会读 VitalDB 就会读它);带来的风险是研究者的默会假设也会一起搬过来——包括「同步足够好」「轨道名可以硬编码」「缺失等于未监测」这些在人类场景里被反复验证过、在兽医场景里尚未被验证的前提。

8.4 为何能持续

一份没有标注、单中心、无经费支持的临床数据,靠什么活下去?答案在发布说明里:它来自常规诊疗的副产品。

记录行为本来就是临床流程的一部分(麻醉必须监护、监护仪本来就在记录),作者做的是二次利用与脱敏,不是为研究额外采集。这意味着边际成本极低:新增病例只需要继续录、继续脱敏,不需要重新招募、不需要额外伦理审查(机构已判定为常规记录的二次使用)。低边际成本是它能持续扩版的真正原因,也是它没有标注的原因——加标注就需要一笔研究经费,而加记录不需要。

这个逻辑有一个必须承认的软肋:作者明确写了本项目没有获得任何专项资助。没有资助意味着扩版与维护依赖个人意愿,版本节奏不可预期。

§9 使用指引

9.1 三种角色的路径

角色 第一步 第二步 不要做
数据工程师 下载 ZIP,跑通 read_vital_example.py 批量落盘成 Parquet,附轨道状态表 直接塞进 WFDB 流水线
临床研究者 读 clinical_metadata 与 track_inventory 先定义可用子集,再谈分布 用人用阈值直接推不良事件
模型开发者 选定单任务(如节律形态分类) 用动物级不可知的前提下声明划分限制 把它当低血压预测基准

9.2 一个先做、再谈方法的检查

在跑任何模型之前,有一件事必须做:报告动物级去重后的可行规模。下面的脚本用体重与手术类别的组合做粗略的重复线索筛查,只给出「可疑候选」,不给出确定结论——因为没有动物标识,任何去重都是推断。

#-- 用体重-年龄-ASA-手术类别四元组找出可能同一动物的重复病例
import pandas as pd

m = pd.read_csv("clinical_metadata.csv")
key = ["weight", "age_months", "asa", "procedure_category"]

#-- 只保留四元组完全一致的组,并列出组内 case_id
dup = (m.groupby(key)["case_id"]
        .agg(list)
        .reset_index()
        .query("case_id.str.len() > 1"))

print(f"可疑重复组 {len(dup)} 组,涉及病例 {dup['case_id'].str.len().sum()} 例")
print(dup.head())

这段的产出不是「真实动物数」,而是一个下界估计与一张需要人工核对的清单:体重精确到小数点后一位恰好相同、年龄月数相同、ASA 与手术类别也相同,三者同时成立的概率在真实队列里不高,但也不是零。把这张清单写进方法学,比声称「按动物划分」更诚实。

9.3 最小可用流程

#-- 最小流程:筛出「ECG + 有创血压波形」双全的病例,并报告可用规模
import pandas as pd

inv = pd.read_csv("track_inventory.csv")
ok = inv[inv["status"].astype(str).str.lower().eq("present")]

want = {"ECG_II", "ART"}
per_file = ok.groupby("file_name")["track_name"].apply(set)
both = per_file[per_file.map(lambda s: want.issubset(s))]

man = pd.read_csv("record_manifest.csv")
cases = man[man["file_name"].isin(both.index)]["case_id"].nunique()

print(f"双通道文件 {len(both)} 个,覆盖病例 {cases} 例(占 226 例)")

这段代码不产生任何模型结论,只回答一个工程问题:想做心电-血压耦合分析,手上有多少病例真正可行。先跑它,再谈方法。

9.4 在 AI 流程里的位置

它适合放在流程的最上游:作为原始信号源,经过转换层(.vital 到数组)与质控层(伪迹标记、可用区间切分),进入特征提取或无监督预训练。不适合放在下游的评估位,因为没有标签可供评估。

跨物种迁移实验里,它更适合当「目标域」而不是「源域」:先用人类数据训练,再用这份数据测退化幅度,能直接暴露模型对物种与设备的敏感性。反过来用它预训练、再迁移到人类,收益来源不明——可能来自信号形态,也可能只是来自「多了一批数据」,而后者在人类数据足够时是负收益。

§10 AI 使用声明

项目 内容
数据性质 常规临床麻醉监护的回顾性二次利用,非研究设计采集
推荐用途 描述性分析、信号质量研究、跨物种外部验证、无监督预训练
不建议用途 直接临床诊断、低血压或不良事件预测、跨物种阈值平移
伦理 机构判定为不涉及动物伦理委员会正式审查;已移除全部直接标识符
引用 Cha, J., & Lee, H. (2026). PhysioNet. doi:10.13026/wvfp-p831
许可 PhysioNet 开放获取;再分发前核实具体授权条款
版本 v1.0.0
状态 公开、免申请、单中心、无事件标注

常见误读(避坑清单)

常见说法 实际 证据
「这是 VitalDB 的兽医版,字段一一对应」 轨道名沿用,但覆盖率差别极大,麻醉机数据只覆盖少数病例 track_inventory.csv 逐文件统计
「226 例就是 226 只动物」 病例数不等于动物数,同一动物可贡献多个病例且无动物 ID 官方局限说明
「369 小时可以直接当训练时长」 记录跨度不等于可用时长,空字段与伪迹未扣除 manifest 的 duration 字段定义
「有 ECG 就能做心律失常标注」 无节律标注,且缺少放大导联,部分节律不可判 官方通道清单
「用了人的低血压阈值就能生成标签」 犬猫血压正常区间与人不同,阈值法得到的是伪事件 物种生理基线差异
「.vital 与 WFDB 可以互转无损」 官方未提供转换,需专用库读取,转换需自建 发布说明明确不含 WFDB
「缺失麻醉机数据说明没用麻醉机」 缺失只说明未接入采集,与是否使用无关 track_inventory 的状态语义
「可以和人类 VitalDB 混在一起训练」 可混,但不做物种归一混训出的模型可能只学会区分物种 队列构成差异
「单中心数据也能量化兽医并发症率」 便利样本不能估计人群率 抽样方式
「猫的样本足够做猫的独立结论」 分层后每格个位数,置信区间极宽 病例构成

FAQ

Q1:它和 VitalDB 是什么关系?
同一团队体系、同一文件格式、同一采集硬件,采集对象换成犬与猫。工具链完全通用,但数据内容、覆盖率与标注情况都不同,不能视为同一数据库的物种扩展。

Q2:为什么没有 WFDB?
作者选择原样发布,不做任何处理,包括格式转换。代价是通用 WFDB 工具不能直读,需要走 VitalDB 的 Python 库。

Q3:能不能用来训练低血压预警模型?
不能直接训练。没有血压事件标签,「低血压」只能靠阈值推导,而阈值在犬猫身上没有公认标准,推导出的标签不构成真值。

Q4:数据可以商用吗?
PhysioNet 页面标为开放获取,但未另标 CC 或 ODC 许可。商用或再分发前应向 PhysioNet 与数据提供方确认具体条款。

Q5:犬和猫应该分开建模还是合并?
建议分开评估、合并谨慎。合并时至少要加入物种与体重作为协变量,并单独报告猫子群的性能。

Q6:时间戳全部是 2000 年,还能做什么?
所有相对时序都保留,可以做序列建模与事件先后分析;不能做涉及绝对日期的工作,例如季节性、年份趋势或与外部登记的按日对齐。

Q7:一例数据可能出现在多个文件里怎么办?
先按 case_id 合并,再按记录跨度拼接,注意接缝处可能存在缺口,不要把缺口当连续。

Q8:可以做多模态吗?
可以,但「多模态」在这里只指同一场景下的不同传感器(波形、数值、麻醉机),不包含影像、文本或组学。

Q9:为什么猫的数量这么少还要单独提?
因为猫在体重、麻醉反应与血压测量误差上与犬差异明显,把它当作同质样本会稀释这些问题,而不是解决它们。

Q10:VitalDB 的学习资料能直接套用吗?
读取层面可以,研究设计层面不行。VitalDB 的教程默认的同步质量、轨道覆盖与标注可得性,在这份数据上都不成立。

术语表

术语 含义
.vital VitalDB 自定义二进制容器,多轨道按各自采样率共存,附内部索引
SNUADC VitalDB 体系的开源八通道采集卡,用于高分辨率波形
MedibusX 麻醉机数据接口,提供通气、吸入药与气体参数
呼末二氧化碳 呼气末二氧化碳浓度,反映通气有效性与代谢
MAC 最低肺泡有效浓度,衡量吸入麻醉药强度的相对单位
ASA 分级 术前身体状况分级,1 为健康,5 为濒死
PLETH 脉搏波体积描记信号,常用于推导血氧与灌注
ART 有创动脉压波形,经动脉置管获得
袖带示波法 无创血压测量方法,通过袖带充放气估计血压
食管温 经食管探头测得的核心体温
轨道 一条独立的时间序列通道,对应一个信号或参数
采样率 每秒采集的样本数;本数据波形 500 Hz、数值约 1 Hz
重采样间隔 提取时指定的输出间隔,不等于原生采样率
控制性降压 通过药物有意降低血压,与不良事件低血压不同
诱导 从清醒到可插管的麻醉起始阶段
插管 置入气管导管以维持通气
拔管 撤除气管导管,麻醉转复苏
伪迹 非生理来源的信号畸变,如电刀干扰与断连
便利样本 按可得性而非随机抽样纳入的样本
外部验证 用与训练分布不同的数据检验模型表现
领域偏移 训练与目标数据在分布或设备上的系统性差异
去标识化 移除直接标识符以降低再识别风险
数据划分泄漏 相关样本同时进入训练与测试,虚高评估结果
代理指标 与目标概念相关但不等于其真值的替代量
二次利用 将常规诊疗中产生的数据用于研究

附录 A 通道与设备

轨道 类型 单位 采样率 来源设备 覆盖
ECG_II 波形 mV 500 Hz Infinity M540 + SNUADC 226
ART 波形 mmHg 500 Hz 动脉置管 + SNUADC 192
PLETH 波形 归一化 500 Hz Infinity M540 部分
呼气末 CO2 波形 波形 mmHg 视设备 MedibusX 52
气道压波形 波形 cmH2O 视设备 MedibusX 52
HR 数值 次/分 约 1 Hz Infinity M540 226
SpO2 数值 % 约 1 Hz Infinity M540 226
脉率 数值 次/分 约 1 Hz Infinity M540 226
食管温 数值 ℃ 约 1 Hz Infinity M540 225
ART 数值 数值 mmHg 约 1 Hz Infinity M540 121
无创血压 数值 mmHg 约 1 Hz Infinity M540 55
吸入药浓度 数值 % 约 1 Hz MedibusX 52
MAC 数值 无量纲 约 1 Hz MedibusX 52
潮气量 数值 mL 约 1 Hz MedibusX 52
呼吸率 数值 次/分 约 1 Hz MedibusX 52

附录 B 文件与时间轴

文件或目录 内容 注意
vital/ 全部 .vital 原始记录 未转 WFDB,需专用库
clinical_metadata.csv 病例级临床变量 case_id 随机分配
record_manifest.csv 文件级清单 含分段序号与时长
track_inventory.csv 文件 × 轨道清单 状态三分类是关键字段
data_dictionary.csv 变量字典 缺失填法以此为准
breed_summary.csv 品种统计 用于体重与品种关联
procedure_glossary.csv 手术词表 中英对照,便于归类
read_vital_example.py 读取示例 演示轨道名与间隔参数

时间轴的读法:原始绝对时间为保护隐私已全部移除,统一平移到 2000 年 1 月 1 日的合成参考时间。文件内保留的是相对偏移,可用于序列建模;跨文件拼接时接缝处可能有缺口,需按 manifest 的分段序号确认先后。

附录 C 术语翻译对照

中文 英文 备注
兽医麻醉 veterinary anesthesia 非 veterinary anaesthesia 拼写,PhysioNet 用美式
生命体征 vital signs 特指连续监护参数,不含实验室指标
呼末二氧化碳 end-tidal CO2 / ETCO2 数值与波形在不同轨道
最低肺泡浓度 minimum alveolar concentration 与临床监测的 MAC 值同源
有创动脉压 invasive arterial pressure 波形与数值分开存
袖带示波法 oscillometric method 无创血压的常用方法
食管温度 esophageal temperature 近似核心体温
身体状况分级 ASA physical status 1–5 级
分段记录 split recording 文件名后缀 -1、-2
轨道清单 track inventory 逐文件逐轨道
不可用 present-but-unusable 有数据但不能用
缺失 absent / empty 两种缺失语义不同

附录 D 常见误读 FAQ 补充

Q:为什么有些病例的血压同时有波形与数值,有些只有波形?
因为波形来自独立采集通道,数值来自监护仪输出,两条路是否同时打开取决于现场配置。只查数值轨会丢掉大量有创血压病例。

Q:麻醉机数据缺失还能推断通气吗?
只有呼末二氧化碳能直接说明通气有效性,而它来自麻醉机通道。缺失时只能靠血氧与呼吸率的间接变化推测,可靠性明显下降。

Q:能用来做心电图算法吗?
形态学层面的算法可以,但要注意犬猫的 QRS 宽度、心率范围与人类不同,且本数据只有单一导联,复杂节律判读受限。

Q:与公开的兽医电子病历数据能用同一套评估吗?
不能。电子病历给的是诊断与转归,本数据给的是术中连续信号,两者的「正确答案」定义完全不同。

Q:作者是麻醉科医师吗?
团队中包含从事麻醉学与疼痛管理的兽医。这一点影响数据采集质量,但不影响它没有标注这一事实。

附录 E 许可与引用

官方引用格式:

Cha, J., & Lee, H. (2026). A Veterinary Vital Sign Time-Series Database
Collected During General Anesthesia (version 1.0.0). PhysioNet.
RRID:SCR_007345. https://doi.org/10.13026/wvfp-p831

许可与使用要点:页面标为公开可访问、无需申请;正文未另写 CC 或 ODC 许可名称,涉及再分发、商用或二次发布衍生数据时应向 PhysioNet 与数据提供方确认。数据已移除全部直接标识符;机构认定该用途为常规临床记录的二次利用,未做额外动物干预。

引用时应同时交代三件事:版本号(v1.0.0)、是否经自行质控与筛选(原始包无质控)、以及是否使用了自己推导的事件时间。缺了前一项,后来者无法复现;缺了后两项,结论会被误读为数据集自身提供了这些。

编辑说明

核验时间 2026-10-29。核验方式:读取 PhysioNet 数据集页、v1.0.0 下载页与发布说明,交叉核对 DOI、作者、规模、通道覆盖、许可表述与文件清单;未下载 633.7 MB 全量包做逐文件复算。规模数字均按官方口径转述,其中物种分布、体重与年龄分位数、通道覆盖计数取自数据集页正文,未做独立审计。未覆盖内容:逐轨道观测数核对、伪迹比例的定量估计、动物级去重的可能规模。站内互链 rid 均已查库确认存在。


相关数据集导航

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

  • charisdb — 共享标签:生理信号 / 心电信号 / 时序数据 / 重症监护
  • pics — 共享标签:生理信号 / 心电信号 / 时序数据 / 重症监护
  • fantasia — 共享标签:生理信号 / 心电信号 / 时序数据 / 队列研究
  • mimic-iv-waveform-legacy — 共享标签:生理信号 / 时序数据 / 重症监护
  • mmgdb — 共享标签:生理信号 / 时序数据 / 队列研究
  • cinc-2015 — 共享标签:生理信号 / 心电信号 / 时序数据 / 重症监护
  • mover — 共享标签:生理信号 / 心电信号 / 时序数据 / 重症监护
  • mimic-iv-ext-ecg-glucose — 共享标签:生理信号 / 心电信号 / 时序数据 / 重症监护
  • sicdb — 共享标签:生理信号 / 时序数据 / 重症监护
  • vtac — 共享标签:生理信号 / 心电信号 / 重症监护

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

返回 AI-Ready 数据集