信息速览
运动生理学里有一个反直觉的现象:随着强度上升,心率变异性不是缓慢下降,而是塌陷。安静时逐搏间期有几十毫秒的起伏,到了最大强度,间期几乎变成一条直线——心脏像是在用固定节拍器打点。
这个塌陷本身是有信息的。塌得多快、在哪个强度开始塌、塌到多低,都与心肺适能相关。过去二十年里,有一批研究试图把"心率变异性的下降速率"做成一个适能指标。但这类研究长期受限于数据——递增负荷测试的数据很难公开,因为它涉及运动队、涉及未成年人、涉及能识别到个人的成绩信息。
这份数据集把这道门打开了一条缝:十八名少年运动员,五万两千个心搏,每次心搏都带 RR 间期、耗氧量和当时功率;而它只有 1.6 MB,一个手机流量包就能下完,也小得不像一份"数据集"——但正因为它小,它干净、结构简单、可以在一小时内完全吃透。§2.4 会讲我从数据里核出来的几处问题,这些条目页没提,却会直接影响分析。
§1 它是什么:一次踩到力竭的单车测试
1.1 一句话定义与四条边界
这是一份运动生理数据集:18 名少年运动员在电子自行车功率计上完成一次递增负荷测试(graded exercise test,GET),全程逐搏记录 RR 间期、耗氧量(VO2)与机械功率,另有一个单独的文件记录每人的年龄、体重、身高、两级通气阈功率与运动专项。
四条边界先摆出来。
第一,全部是少年运动员,没有对照。 18 人,年龄 12 到 18 岁(中位 15 岁),专项是击剑(10 人)、皮划艇(6 人)、铁人三项(2 人)。没有非运动员对照,没有成年人,没有老年人,没有患者。
第二,只有三个专项,且都不是纯耐力项目。 击剑是间歇性无氧为主,皮划艇(sprint kayak,短距离)也是,铁人三项才有明显的有氧成分。这个构成决定了 VO2max 的分布窄——从数据看,最大功率在 140 到 335 瓦之间,中间值集中在 200 左右。
第三,测试在热带气候下进行。 条目页在 Usage Notes 里专门提醒:受试者暴露于热带气候,因为研究地点是法属西印度群岛。热带环境对心血管反应的影响是实实在在的——同样的绝对强度,在湿热环境下的心率更高、血浆容量分布不同。拿这份数据建立的心率模型,搬到温带要重新验证。
第四,不提供原始心电。 只有 RR 间期。这意味着你没法自己重新做 R 波检测、没法看波形形态、没法验证 RR 提取的准确性。
1.2 测试协议长什么样
条目页的 Methods 写得相当具体,值得完整复述,因为这决定了数据的时序结构。
预热:3 分钟,50 瓦。
递增:功率每分钟增加 15 瓦,直到力竭。
结束:力竭后受试者仍坐在车上,继续记录恢复期的心肺参数。
按这个协议,一个最大功率 300 瓦的受试者,从 50 瓦加到 300 瓦需要 (300−50)/15 ≈ 17 分钟。加上 3 分钟预热,测试本体约 20 分钟。这个估算与数据吻合——最大功率 305 瓦的受试者(ID 3、ID 4),其测试跨度分别是 1586 秒与 1550 秒,减去恢复期后与 20 分钟量级一致。
阈值的判定:用 Wasserman 法从呼吸数据算通气阈 1 与 2。最大有氧功率取测试最后完成那一级的机械功率。HRmax 与 VO2max 取五口气呼吸平均的最大值。
测试前的控制:温度、湿度、光照都做了标准化。受试者被要求测试前 24 小时不饮酒、不摄入咖啡因、不做剧烈运动。
测试时机:赛季末、非比赛期,由运动医学医生监督,开始踩车前做了完整医学筛查。
这套协议在运动生理学里是标准做法。值得注意的细节是"每分钟递增 15 瓦"——这个斜率偏缓(常见的斜坡方案是每分钟 20 到 30 瓦),意味着测试时长更长,每一级有更充分的时间达到稳态。这对心率变异性的分析是好事:每级内的数据更接近稳态,减少瞬态干扰。
1.3 三个专项为什么重要
18 人的专项分布:击剑 10、皮划艇 6、铁人三项 2。
这个分布极不均衡——击剑占了一半以上。这不是抽样偏差,而是招募现实:CREPS(地区体育教育中心)的击剑队人数多。
对分析的影响有三层。
第一层,专项是混杂因素。 击剑运动员的训练以爆发、敏捷、间歇为主,有氧能力不是他们的强项;皮划艇短距离也是如此;铁人三项才是有氧主导。这意味着 VO2max 与通气阈的差异,有相当一部分来自专项,不是个体差异。
第二层,样本量不支持分层。 铁人三项只有 2 人。想按专项做亚组分析,这个组太小。
第三层,年龄与专项可能混淆。 从数据看,击剑组年龄 14 到 17 岁,皮划艇组 13 到 18 岁,铁人三项组 12 岁。年龄最小两个(ID 17、18)恰好是铁人三项。这意味着"专项效应"与"年龄效应"在这份数据里分不开。
1.4 两个文件的分工
subject-info.csv 是宽表:18 行,每行一名受试者,七列(ID、年龄、体重、身高、P_vt1、P_vt2、专项)。
test_measure.csv 是长表:五万余行,每行一次心搏,五列(ID、time、RR、VO2、power)。
两个文件通过 ID 关联。这是一对多的关系:subject-info 的每一行,对应 test_measure 里的两三千行。
这个结构很干净。分析时的标准操作是:先读 subject-info 当"受试者表",再按 ID 分组聚合 test_measure 得到"每人的特征",两者合并。
1.5 它不适合回答什么
不适合研究儿童与成人的差异。 只有少年,没有成人对照。
不适合建立通用的心率变异性参考值。 18 个运动员,不是人群样本。
不适合研究热带气候的影响。 没有温带对照,无法分离气候效应。
不适合研究恢复期动力学。 虽然记录了恢复期,但数据里没有标记"何时停止踩车",恢复期的起点需要自己推断(§2.4 会说这个推断有多难)。
不适合做临床筛查工具的开发。 受试者全是健康运动员。
1.6 与相邻数据的定位
与标准运动生理数据库:大多数递增负荷测试的数据不公开(属于运动队资产或临床记录)。公开的多是综述性的汇总统计,不是逐搏原始数据。
与心率变异性研究数据:多数 HRV 数据是安静状态下的短时记录(5 分钟)或 24 小时动态心电图。递增负荷下的逐搏 HRV 数据很少,因为采集条件复杂。
与可穿戴设备数据:消费级设备能测心率,但很少有同步的功率与气体代谢。这份数据的三者同步是它的核心价值。
这份数据的定位很清楚:它是"小规模、高质量、特定场景"的补充材料,不是通用基准。
1.7 版本与许可
版本 1.0.0,发布于 2022 年 6 月 30 日。只有一个版本。
DOI 有两个:10.13026/2qs3-kh43(v1.0.0)与 10.13026/x1f6-1q24(最新版)。因为只有一个版本,两者实际指向同一份内容。
许可是 Open Data Commons Attribution License v1.0,要求署名。
访问统计:345 次浏览(当前版本 = 全部版本)。
总未压缩体积 1.6 MB,压缩包 439.3 KB。
§2 数据构成:两个 CSV 与五万行逐搏记录
2.1 目录里有什么
五个文件,全部平铺。
LICENSE.txt,19.9 KB,ODC-By 条款原文。
SHA256SUMS.txt,342 字节——按每行约 100 字节算,正好三到四行,对应三个数据文件。
medical_screening_questionnaire.pdf,113.8 KB。这是医学筛查问卷,条目页在 Methods 里提到过。它是理解"受试者被如何筛选"的一手材料,值得一读。
subject-info.csv,590 字节。
test_measure.csv,1.5 MB(1,588,131 字节)。
2.2 subject-info.csv 的实际内容
18 行数据加 1 行表头,七列。
列名小写,有两处不一致:age、Weight、Height 三个列名首字母大小写混用(age 小写,Weight 与 Height 大写)。这是个细节,但在写脚本按列名取值时会踩到。
我把全部 18 行读出来了,几个值得注意的点:
年龄只有整数。 从 12 到 18,没有小数。但条目页 Abstract 写的是 15.2 ± 2 岁——这是个均值与标准差,说明实际可能有月份精度,只是在文件里取整了。
体重与身高都是精确到小数点后一位或整数。 最轻 39.7 公斤(ID 18),最重 89.9 公斤(ID 3)。这个跨度对 12 到 18 岁的少年来说是合理的。
两级通气阈功率跨度很大。 P_vt1 从 50 瓦(ID 1、ID 9)到 215 瓦(ID 4);P_vt2 从 108 瓦(ID 7)到 300 瓦(ID 3)。ID 3 的通气阈 2 达到 300 瓦,这个水平在少年里相当高。
专项字段是小写英文。 fencing、kayak、triathlon。
2.3 test_measure.csv 的实际结构
五万两千零六十二条数据行加 1 行表头,与条目页说的总行数一致。
五列:ID、time、RR、VO2、power。
ID 是整数,1 到 18。
time 是距测试起点的秒数,保留三位小数。这里有个关键点:time 可以为负。我统计了一下,负值共四千余行,最小值 −219.87 秒。负值对应的是测试正式开始前的记录——受试者已经在车上、心电已经在采,但递增还没开始。
RR 是心搏间期,毫秒,整数。
VO2 是耗氧量,数值形式的小数——但单位有问题(§2.4 详述)。
power 是功率,瓦,整数。
2.4 我从数据里核出来的三处问题
这一节是本页最要紧的部分。条目页给出的描述基本准确,但有三处细节不一致,会直接影响分析。
问题一:RR 列有千余个空值,集中在两个人身上。
五万两千余行里,RR 列为空的有 1,148 行,占 2.2%,且全部来自两名受试者:ID 11 有 712 个,ID 17 有 436 个。
更关键的是,这些空值不是散布的,而是各为一段连续区间。ID 11 的空值在 time 从 880.2 秒到 1149.9 秒之间,连续 712 行,中间没有断点。ID 17 的情况类似。
这意味着什么?最可能的解释是这段时间内 R 波检测失效——可能是信号质量问题、可能是电极松动、可能是运动伪迹严重到检不出 R 波。无论哪种,这 712 行与 436 行都是"心率数据缺失"的区间。
条目页完全没提这件事。如果你直接按行做统计,会把这两个人的有效样本量算多。
问题二:RR 列有 5 个异常长间期。
RR 的正常范围是 250 到 2000 毫秒(对应心率 30 到 240 次每分钟)。数据里有 5 个值超过 2000 毫秒:5,308、16,872、16,712、6,548、30,500 毫秒。
30,500 毫秒是 30.5 秒——一个心搏间期 30 秒。这显然不是真实的心搏间期,而是漏检造成的多个心搏被合并成一个间期。
这 5 个值分散在 5 名受试者(ID 5、6、8、14、16)身上,每次只有一个,都出现在测试的早期(time 分别是 80.9、1028.9、581.3、−37.8、75.8 秒)。
处理建议:把 RR 大于 2000 毫秒的值标为缺失,或者用邻近值插补。不要直接当成有效数据算均值——一个 30 秒的间期能把整段的平均心率拉低。
问题三:VO2 列的单位与条目页不符。
条目页的变量表写:VO2 | Oxygen consumption, in mL/min。毫升每分钟。
但实际数据的范围是 0.069 到 4.577。如果单位真是毫升每分钟,那最高耗氧量是 4.6 毫升每分钟——一个人静息时每分钟也要消耗两三百毫升氧气。4.6 毫升每分钟在生理上不成立。
按升每分钟读才合理:4.577 升每分钟,即 4,577 毫升每分钟。对一名体重 60 到 80 公斤的少年运动员,这个 Vo2peak 折算成相对值是 55 到 75 毫升每公斤每分钟——正好落在训练有素的青少年运动员区间内。
所以实际单位是升每分钟,条目页标注的毫升每分钟是错的。这个错误不会让数据本身失效,但会让所有基于单位换算的计算错一千倍。
2.5 时间轴的三个区间
把所有受试者的 time 拼起来看,整个记录分成三段。
测试前(time 为负):受试者已在车上,心电在采,但还没开始踩。负值的绝对值从 160 秒到 220 秒不等,说明每个受试者的"上车到开始"间隔不同。
测试中(time 从 0 到最大功率对应时刻):踩车过程。
恢复期(力竭之后):仍在记录,但数据里没有标记。
这三段在 time 轴上是连续的,没有分隔。想区分,只能靠 power 列——测试中 power 单调递增(每分钟加 15 瓦),力竭后 power 掉到 0 或接近 0。
我看了 power 列的统计:power 等于 0 的行占 25.6%。这些行包括测试前的等待(power=0)与力竭后的恢复(power=0)。两者靠 time 的正负可以部分区分。
2.6 每个受试者记录了多少
每人行数从 2,000 到 3,854 不等,中位 2,749.5,四分位区间 2,408 到 3,605。
这个数字与条目页说的一致:2749 [2449, 3555]。条目页的四分位区间用的是 2449 与 3555,我用统计函数算的是 2408 与 3605。差异来自四分位数的计算方法(线性插值 vs 中位数法),量级一致,不算矛盾。
每人时长跨度(最大 time 减最小 time)从 947 秒到 1,673 秒,中位 1,223.7 秒——与条目页的 1223.7 [1081, 1560] 一致。
2.7 我核对了哪些、没核对哪些
核对过的:五文件的存在与大小;subject-info.csv 的全部 18 行内容;test_measure.csv 的实际行数;每人的行数与时间跨度;RR、VO2、power 三列的值域与分位数;RR 缺失的分布与连续性;RR 异常值的位置;power 等于 0 的行数。
没核对的:medical_screening_questionnaire.pdf 的内容。这是 PDF,条目页提到它是筛查问卷,但我没有解析其内容。
无法核对的:RR 提取的准确性。没有原始心电,无法验证每个 RR 值是否对应一次真实心搏。这是这份数据的一个结构性限制。
§3 访问:1.6 MB,一次下载
3.1 许可与门槛
ODC-By。要求署名,允许商用与派生。PhysioNet 归在 Open Access,无需审批。
3.2 引用
条目页给的是标准 PhysioNet 引用格式,含 DOI 与 RRID。此外条目页明确说这份数据被用于一篇关于运动中心率变异性的研究,那篇论文也应当引用(Mongin 等,关于心率变异性下降作为心肺适能指标的研究)。
具体来说,Usage Notes 提到:[14] 是使用该数据的研究,[15] 是 R 代码仓库(GitLab)。
引用时建议同时给:数据集 DOI、PhysioNet 页面、以及使用该数据的原始论文。
3.3 下载
1.6 MB。三种方式都可以。这个体量下,网页 ZIP 最方便。
注意 SHA256SUMS.txt 只有 342 字节,说明它只覆盖三个数据文件(subject-info.csv、test_measure.csv、medical_screening_questionnaire.pdf),LICENSE 与 SHA256SUMS 自身不覆盖。
3.4 一个实际的下载教训
我在核对这份数据时遇到一件值得记下来的事。
第一次下载 test_measure.csv,用默认的 curl 命令,得到 262 KB。行数只有 8,763,远少于应有的量级。
第二次重下,得到 590 KB,19,605 行。
第三次加了 --http1.1 --retry 3 --retry-all-errors -C -,才拿全 1,588,131 字节、五万余行。
前两次是连接被中途截断,但 curl 没有报错退出——它只是下了一部分就停了。如果没有核对行数,直接拿 8,763 行的版本去分析,会得出"每人只有 2,000 行左右"的错误结论,而且文件看起来完全正常(CSV 格式完整,四名受试者的数据齐全)。
教训:下载完一定要核对文件大小与行数。这份数据有 SHA256SUMS.txt,但 342 字节的清单很容易被忽略。1.6 MB 的文件,本该一次下完,实际情况是三次才成功。
3.5 到手的实际形态
五个文件,解压到一个目录。
第一件事建议读 medical_screening_questionnaire.pdf。它是理解受试者筛选标准的一手材料——条目页只说了"医生做了完整医学筛查",问卷里的具体条目能告诉你筛掉了什么。
第二件事核对两个 CSV 的行数:subject-info 应 19 行(含表头),test_measure 应五万余行。
第三件事用一次快速检查确认单位:看 VO2 的最大值。如果大于 10,那就不是毫升每分钟(§2.4)。
§4 局限:十八个人,一个季节,一种气候
4.1 样本量的真实含义
十八人,五万余行。
这两个数字的差距是 2,892 倍。但独立信息量接近十八,不是五万零六十二。
原因很简单:同一个人在一次测试中的每一次心搏,都与前后心搏高度相关(这就是心率变异性的定义)。RR 间期不是独立样本,它们是同一个自主神经系统的连续输出。
有效的独立层次有三层:
受试者层:18 个。
测试层:18 次测试(每人一次)。
段层:如果把测试切成强度段(每分钟一级,约 15 到 20 段),得到 300 多个"受试者-强度"组合。这一层是很多分析的实际操作单位。
第三层的 300 多个也不是完全独立——同一受试者的不同强度段共享个体特征。
这决定了能做的统计:组水平的趋势分析可以,个体差异建模勉强,需要大样本的机器学习不行。
4.2 少年运动员不是"缩小版的成人"
这一条写在最前面,是因为它最容易被忽略。
18 名受试者年龄 12 到 18 岁,正处于青春期。青春期的心率调节有几个特殊性:
静息心率随年龄下降。 儿童的静息心率通常高于成人,青春期逐步降到成人水平。这意味着 12 岁与 18 岁的基线不同。
最大心率随年龄下降。 常用的 220 减年龄公式在青少年身上偏差更大。这份数据的 HRmax 可以自己算(从最小 RR 推),但要意识到它与年龄的关系不是线性的。
心率变异性的发育轨迹。 副交感神经的张力在青春期前达到峰值,之后逐渐下降。这意味着 HRV 的绝对值在 12 岁与 18 岁之间不可直接比较。
体型差异。 最轻 39.7 公斤(12 岁)与最重 89.9 公斤(16 岁)相差 2.26 倍。绝对耗氧量(升每分钟)不能跨人比较,必须归一化成相对值(毫升每公斤每分钟)。
这四条都不是这份数据的缺陷——它就是少年运动员的数据。但它们决定了任何结论都必须加上"在少年运动员中"这个限定。
4.3 热带气候这道不可分离的变量
研究地点是瓜德罗普,法属西印度群岛,热带海洋性气候。条目页在 Usage Notes 里专门提醒了这一点。
为什么这是个问题?
热环境下运动时,身体要同时应对两个负荷:肌肉产热与散热。散热靠皮肤血流增加,而皮肤血流与肌肉血流竞争同一套心输出量。结果是:同样的绝对功率,在热环境下心率更高、每搏输出量更低、VO2max 略低。
对心率变异性的影响更微妙。热环境下,交感神经的激活更早、更强,副交感撤退更快。这意味着 HRV 的下降曲线可能与温带环境不同。
条目页没有给任何环境参数——温度多少度、湿度多少、是空调房还是自然通风。只说"温度、湿度、光照都做了标准化",标准化在什么水平,没说。
这意味着:这份数据的结论有一层不可分离的"热带"背景。想把它用在温带人群,必须重新验证。而这份数据本身无法完成这个验证,因为没有温带对照。
4.4 测试协议带来的解释限制
每分钟递增 15 瓦,这个斜率在运动生理学里偏缓。
缓斜率的好处是每级时间长(60 秒),受试者有时间达到准稳态。对 HRV 分析有利,因为避免了快速变化带来的瞬态。
代价是总测试时间长(15 到 25 分钟),受试者容易疲劳、容易在后期因为非心血管原因(腿部酸、注意力)而终止。这意味着"最大功率"这个终点,可能不是纯粹的心血管极限。
另外,三分钟 50 瓦的预热对少年来说可能不够——成人常用更长的预热。如果预热不足,早期的 HRV 数据可能还带着"从静息到运动"的瞬态。
4.5 只有 RR,没有原始心电
这是结构性限制,影响三层。
第一层,无法验证 RR 提取的质量。 那批空值与 5 个异常长间期,是 RR 提取失败的症状。但没有原始心电,你无法判断失败的具体原因——是电极问题、运动伪迹、还是算法本身的边界。
第二层,无法换一套 R 波检测算法重做。 如果你的研究需要比较不同检测算法对 HRV 的影响,这份数据做不到。
第三层,无法获得波形形态信息。 QRS 宽度、T 波形态、ST 段变化——这些都不在数据里。而它们在运动中是会变的(比如 QRS 随心率增宽)。
4.6 恢复期没有标记
条目页说力竭后受试者继续坐着,继续记录内心肺参数。
但数据里没有"何时停止踩车"这个时刻。
想找这个时刻,只能靠推断:power 从正值掉到 0 的那个点。我看了数据,power 等于 0 的行占四分之一,包含测试前的等待与力竭后的恢复。
问题是:力竭的瞬间,受试者可能不会立刻停止踩踏——他可能继续蹬几下才意识到"可以停了"。而且功率计的读数有惯性,掉到 0 需要几秒。所以"power 首次为 0"这个时刻,与真实的力竭时刻之间有几秒到十几秒的偏差。
这个偏差对恢复期早期的分析(比如心率恢复的 30 秒、60 秒值)影响很大。而心率恢复恰恰是运动生理学里最常用的指标之一。
条目页没有提供任何辅助定位信息(没有标记文件、没有说明哪一秒结束)。这是一个实质性的缺口。
4.7 数据质量清单(DAIMS)
按数据与人工智能就绪度评估的二十四个常见维度,挑关键项过一遍。
完整性:两个 CSV 行数与条目页一致;三个数据文件有 SHA256SUMS 覆盖。但 RR 列有 2.2% 缺失(§2.4)。
一致性:subject-info 的列名大小写不统一(age 小写,Weight/Height 大写)。VO2 单位标注与实际不符(§2.4)。time 的负值约定未在条目页说明。
可追溯:有 DOI、有版本、有关联论文、有代码仓库(GitLab)。追溯链完整。
许可清晰度:ODC-By 明文给出,条款原文在包内。清晰。
文档充分度:条目页写得相当细——测试协议完整、设备型号带厂家产地、阈值计算方法点名、变量表逐列解释、甚至给了中位数与四分位。这在 PhysioNet 的小数据集里属于文档很好的。
不足的是:环境参数缺失、力竭时刻未标记、RR 缺失未提及、VO2 单位写错。
预处理透明度:给了 RR,没给预处理细节——R 波检测用了什么算法、异常间期如何处理、有没有做插值。透明度中等偏低。
标签质量:两级通气阈是按 Wasserman 法算的,方法明确。最大功率是直接测量。这两个标签可靠。
可复现性:有代码仓库(GitLab,用于那篇 HRV 论文)。可复现性好。
代表性:18 名少年运动员,三个专项,热带气候。对"热带少年运动员"有一定代表性,对其他人群没有。
隐私与伦理:伦理批号明确(瓜德罗普 CREPS 委员会与伦理委员会),有医学筛查与知情同意(含法定监护人同意)。未成年人数据已匿名化(只有编号)。
其余维度不做判断。
4.8 与相邻数据能做什么、不能做什么
与成人递增负荷数据比:能比趋势形状(HRV 怎么降),不能比绝对值。
与安静状态 HRV 数据比:能比"运动中的变化",不能比"基线水平"。安静状态 HRV 的参考值体系(时域、频域的正常范围)在运动状态下完全不适用。
与最大摄氧量数据库比:能比相对 VO2max 的分布,不能比绝对 VO2max。而且要注意单位问题(§2.4)。
与可穿戴设备数据比:能比"心率与功率的关系",不能比"日常活动模式"。这是实验室数据,不是自由生活数据。
§5 它能用来做什么
5.1 研究运动中心率变异性的下降曲线
这是这份数据的原始用途,也是最直接的用法。
具体问题:随着功率递增,RR 间期的变异(时域标准差、频域的高频功率)怎么变化?
经典发现是:变异随强度单调下降,在通气阈附近出现拐点或加速。这份数据能让你在 18 个人身上把这个曲线画出来,看形状是否一致、拐点位置是否与通气阈对应。
做法:把测试切成每分钟一段(对应一个功率级别),每段算 HRV 指标,画指标对功率的曲线。18 条曲线叠在一起,看个体差异。
5.2 验证"HRV 下降速率"这个指标
条目页的背景部分提到,这份数据的用途之一是"测试一个改进的 HRV 衰减时间方法能否预测心肺适能"。
这是个具体的假设:HRV 下降得快慢,与个人的有氧能力相关。
做法:对每个人拟合一条 HRV 随强度的衰减曲线,提取衰减速率参数,再与 VO2max(或最大功率)做相关分析。
18 个人做相关分析,能给出一个初步的相关系数。但这个系数的置信区间会很宽——18 个点的相关,随机波动就有 0.2 到 0.3。
5.3 研究 RR 间期的动态结构
除了"变异大小",RR 序列还有更细的结构:短时与长时的相关性、分形特性、非线性动力学特征。
运动中的这些结构会怎么变?从静息到最大强度,RR 序列从"复杂"走向"规则"(接近周期性的恒定速率)。这个"复杂性丧失"的过程,有文献认为比单纯的方差下降更能反映调节系统的状态。
做法:算样本熵、去趋势波动分析的标度指数、或者简单的自相关衰减时间。18 个人 × 15 个强度段,样本量够做趋势分析。
5.4 作为方法学测试床
1.6 MB,52,000 行,结构简单。这是一个很好的方法学测试材料。
可以测的问题:不同 HRV 计算方法的差异、不同分段策略的影响、缺失值处理方法的敏感性、异常值检测算法的效果。
特别是最后一条:这份数据有现成的千余个缺失值与 5 个异常值,正好可以拿来测试清洗流程。
5.5 做运动强度的自动分段
数据里 power 是直接测量的,所以"强度"这个标签是已知的。
但实践中,很多场景只能测心率,测不了功率(比如户外跑步)。能不能从心率反推强度?
这份数据提供了一个干净的训练集:已知功率,已知心率,可以做"心率到功率"的映射。
注意限制:这个映射高度个体化(与体能、体重、专项相关),而且在这份数据里,功率是递增的、心率是滞后的(心率响应有延迟)。要做得好,得考虑这个滞后。
5.6 它不能用来做什么
不能建立人群参考值(18 个运动员)。
不能外推到成人或患者(少年,健康)。
不能研究气候效应(无对照)。
不能研究恢复期动力学(力竭时刻未标记,§4.6)。
不能做心电波形分析(只有 RR,§4.5)。
5.7 用之前必须先做的三件事
第一,确认 VO2 的单位(§2.4)。看最大值,大于 10 就是升每分钟。
第二,检查 RR 缺失与异常(§2.4)。标出 ID 11 与 ID 17 的那两段,以及 5 个异常长间期。
第三,确定测试与恢复的分界。用 power 从正到 0 的时刻,但要意识到这个时刻比真实力竭晚几秒(§4.6)。
§6 常见误读
6.1 误读一:五万两千个样本
五万余行,很容易被当成五万余个独立观测。
实际是 18 个人。任何按行做统计检验的做法,都会把 p 值算得极小——因为自由度被严重高估。
正确的读法:先按受试者聚合,再在 18 个点上做检验;或者用混合效应模型,把受试者作为随机效应。
6.2 误读二:把 VO2 当毫升每分钟
条目页写的是 mL/min,实际是 L/min(§2.4)。
这个错误很隐蔽,因为数值看起来"就是个小数"。如果一个不熟悉运动生理的人看到 3.5,可能会想"3.5 毫升每分钟,太低了",然后去怀疑数据有问题。如果熟悉,会立刻意识到应该是 3.5 升每分钟。
后果:所有按毫升计算的衍生指标(每公斤耗氧量、氧脉搏)全部差一千倍。
6.3 误读三:把心率变异性下降当成"心脏变差了"
运动中心率变异性下降,是正常的生理反应,不是病理。
机制是:运动时交感激活、副交感撤退,窦房结受到的调制减少,所以 RR 间期变得更规则。
但在某些语境下,“变异性降低"被说成"自主神经功能受损”。这个联想在静息状态下有一定依据(低 HRV 与心血管风险相关),在运动状态下完全不成立。
正确的读法:运动中的 HRV 下降是"调节模式切换",不是"功能衰退"。
6.4 陷阱一:忽略 time 的负值
time 有四千余行是负的,对应测试开始前。
如果直接画"心率随时间变化",会看到一条从负时间就开始的曲线,前面一段平缓(预热前)、然后开始上升。这个平缓段的长度因人而异(从 160 到 220 秒),会污染早期的统计。
正确的做法:明确区分 time < 0(测试前)、0 到力竭(测试中)、之后(恢复期)三段。
6.5 陷阱二:直接对 RR 求平均算心率
平均心率不是"平均 RR 的倒数",而是"60,000 除以平均 RR"——这两者不一样。
数学上:如果 RR 序列是 [600, 600, 600],平均 RR 是 600,心率是 100。如果 RR 是 [500, 700],平均 RR 是 600,平均心率是 (120+85.7)/2 = 102.9,而 60,000/600 = 100。
差异来自调和平均与算术平均的区别。RR 间期的算术平均对应的是心动周期的平均时长,而平均心率是频率的平均,两者互为倒数但平均运算不可交换。
对短时数据这个差异很小(百分之一二),但对有早搏或长间歇的数据,差异会放大。
正确的做法:明确你要的是"平均心动周期时长"还是"平均心率"。前者用 RR 的算术平均,后者用瞬时心率的算术平均。
6.6 陷阱三:把 ID 11 与 ID 17 的缺失段当成"心率平稳"
ID 11 有一段 712 行的 RR 缺失,ID 17 有 436 行。
如果画心率曲线,这些缺失的段会断开。但如果用了某种插值(或者某些绘图库自动连接断点),会看起来像"心率平稳了一段时间"。
实际上那段时间发生了什么,数据里看不出来。可能信号质量差,也可能受试者在做别的动作。
正确的做法:在图上明确标出缺失段,不要让它看起来像数据。
6.7 陷阱四:拿最大功率当 VO2max
最大功率(瓦)与最大摄氧量(毫升每公斤每分钟)相关,但不是一回事。
最大功率取决于很多因素:肌肉量、专项训练、踩车技术、意志力。VO2max 更纯粹地反映心肺能力。
用最大功率代替 VO2max 做"适能"的代理,会引入大量非心肺的变异。这份数据两者都有(subject-info 只给了通气阈功率,没给 VO2max;但 test_measure 的 VO2 列可以算出峰值),所以没必要用代理。
6.8 陷阱五:忽略专项与年龄的混淆
如 §1.3 所说,年龄最小的两个受试者(12 岁)恰好是铁人三项,年龄最大的几个(18 岁)是皮划艇。
如果按专项分组比较,会得到"铁人三项组的表现最差"这种结论——但这个差异实际上是年龄造成的。
正确的做法:如果把专项作为变量,必须控制年龄。18 个人做这个控制,统计功效基本没了。所以更诚实的做法是不按专项分层,或者只做描述性呈现。
6.9 一个运动员的"正常"不是所有人的"正常"
这句话看起来是常识,但很实用。
这份数据里的所有值——静息心率、最大心率、HRV 水平、通气阈功率——都是训练有素的少年运动员的值。它们的分布与普通人群的分布有系统偏移。
把这份数据当作"正常参考范围"来用,会得出错误结论:一个健康但未训练的少年,可能被判断为"心率偏高、HRV 偏低"。
§7 与相邻数据的定位
7.1 与成人递增负荷数据的分工
成人数据多,但公开的少。如果能找到成年人的公开递增负荷数据,两者可以形成"年龄梯度"的对照。
这份数据的价值在于它填了少年这一段——而少年段的数据在公开生态里更稀缺。
7.2 与安静状态 HRV 数据的分工
安静状态 HRV 数据(5 分钟短时记录、24 小时动态心电图)数量多、参考值体系成熟。
这份数据的定位是"运动中的 HRV"。两者不能用同一套参考值,因为调节机制不同(安静时副交感主导,运动中交感主导)。
7.3 规模在整个生态里处于什么位置
按受试者数:18,很小。
按数据行数:五万余,中等。
按数据量:1.6 MB,极小。
按记录维度:RR、VO2、power 三者同步,很稀缺。
这是一个"小样本、高密度"的配置。优点是每个受试者的数据非常完整(每次心搏都有三维记录),缺点是受试者少。
7.4 与研究线的接续
运动中的 HRV 研究从上世纪九十年代开始,Tulppo 等人的逐搏分析方法是奠基性的(条目页的参考文献里有)。
这条线的进展一直受数据限制。NIFEA 这类公开数据的出现,让不同课题组能在同一份材料上比较方法。这份数据的意义大概也在这里。
7.5 适合谁用
适合:做运动中 HRV 分析的;做运动强度估计的;做少年运动员生理特征的;做信号处理方法学测试的。
不太适合:需要大样本的;需要临床对照的;需要原始波形的;需要恢复期精确分段的。
§8 怎么用:分析方案
8.1 最小可用基线
先做一件最简单的事:把 RR 转成瞬时心率(60000 除以 RR),按 time 画出来,18 个人叠在一张图上。
这一步不需要任何算法。你会立刻看到:曲线从 70 到 80 次起步,逐步上升到 190 到 200 次,然后在末端突然下降(恢复期)。
这个图能告诉你很多东西:测试时长、心率上升的斜率、个体差异、以及哪些人的曲线有异常(比如突然的跳变,对应 §2.4 的异常值)。
8.2 划分策略
三种划分,用途不同。
按受试者划分(留一受试者交叉验证):这是唯一正确的做法,如果要做预测模型。
按强度段划分:每人的每分钟一段,段内做聚合。这是分析 HRV 趋势的标准做法。
按时间划分:不适合。同一段连续时间内的 RR 高度自相关。
绝对不要按行随机划分。
8.3 指标怎么选
HRV 的指标分两类。
时域:RMSSD(相邻 RR 差值的均方根)、SDNN(全部 RR 的标准差)、pNN50(相邻差值超过 50 毫秒的比例)。运动中最常用 RMSSD,因为它对副交感活动敏感,计算简单。
频域:需要重采样与插值,因为 RR 序列是不等间隔的。LF(低频,0.04 到 0.15 赫兹)与 HF(高频,0.15 到 0.4 赫兹)。运动中 HF 会急剧下降,LF 的变化更复杂。
要注意:运动中 HRV 的绝对值很低(RMSSD 可能只有几毫秒),测量误差的相对影响被放大。
另一个可选指标:RR 序列的复杂度(样本熵、DFA 标度指数)。这类指标对"规则化"的过程更敏感。
8.4 基线与它的意义
要报一个"不用 HRV"的基线:只用功率与心率的关系,能不能预测适能?
如果能,那 HRV 的增量贡献就要打折扣。如果 HRV 能提供功率/心率之外的信息,那它的价值才成立。
这个基线常被忽略,但它决定了研究的意义。
8.5 过拟合的典型表现
18 个受试者,过拟合几乎是必然的。
表现一:交叉验证的折间方差极大。 18 折留一,如果各折的结果从 0.2 跳到 0.8,说明结果高度依赖特定个体。
表现二:加了特征反而变差。 说明特征在引入噪声。
表现三:在某几个受试者上完美,在其他上完全失败。 这是"记住了个体"的典型表现。
表现四:参数微调导致结论翻转。 比如 HRV 衰减速率的时间窗口从 30 秒改成 60 秒,“显著相关"变成"不相关”。这说明结论不稳定。
8.6 具体的数据处理建议
先处理 RR 缺失(§2.4)。ID 11 与 ID 17 的两段缺失,要么整段剔除,要么明确标注。
处理 RR 异常值。5 个超过 2000 毫秒的值,标为缺失或插补。不要直接算均值。
VO2 单位换算(§2.4)。如果你的分析用毫升,记得乘 1000。
区分测试前/测试中/恢复期(§2.5)。
不要重采样 RR 序列去做时域指标。时域指标(RMSSD、SDNN)直接算就行,重采样会引入插值误差。只有频域分析才需要重采样。
考虑归一化。跨受试者比较时,心率与 HRV 都需要归一化(比如除以本人的最大值),否则体型与年龄差异会主导。
8.7 五条失败模式
一,VO2 单位错(§6.2)。所有耗氧量指标差一千倍。
二,把五万余行当独立样本(§6.1)。p 值被严重低估。
三,忽略 time 的负值(§6.4)。早期统计被污染。
四,把缺失段当平稳段(§6.6)。曲线误读。
五,用算术平均 RR 的倒数当平均心率(§6.5)。在有异常值的段上偏差明显。
8.8 结果该怎么读
拿到一个 HRV 下降速率的估计,比如某个受试者每分钟下降 5 毫秒,可以写什么?
可以写:在这名受试者的递增负荷测试中,RMSSD 从静息时的某值下降到最大强度时的某值,平均下降速率为每分钟某毫秒。在 18 名受试者中,这一速率的中位数为某值,范围为某到某。
不可以写:这个速率可以用于评估适能水平。(需要与 VO2max 的相关分析,且 18 个点的相关不足以支撑个体水平的判断。)
不可以写:这个结果适用于一般青少年。(样本是运动员。)
不可以写:与文献报告的成人数据相比,青少年下降更快。(除非测试协议、强度分级、HRV 计算方法全部一致。)
8.9 与人工判读的比较
运动中的 HRV 分析没有"人工判读"这个环节。临床上判读递增负荷测试,看的是心电图变化、血压反应、症状,不是 HRV 指标。
所以这份数据上不存在"专家水平"的参照。
有一件事可以做:请运动生理学家看 HRV 曲线,判断"这条曲线像不像正常反应"。这是定性评估,但对判断异常值有帮助。
8.10 先错误分析再调模型
18 个人,每个人都可以单独看。
建议做法:先给每个人画一张图(心率、HRV、功率三条曲线叠在一起),逐张看。异常的人单独标记,弄清楚异常的原因——是数据问题(缺失、异常值),还是生理问题(提前终止、反应异常)。
这个步骤花的时间不多(18 张图),但能避免后面所有的错误归因。
§9 三条技术路线
9.1 逐段聚合加趋势拟合
最简单的一条路:把测试按每分钟切段,每段算 HRV 指标,然后对指标与功率(或相对强度)做回归。
优点:简单、可解释、每段的样本量足够(约 150 次心搏),符合生理直觉。
缺点:分段边界的选择影响结果(每分钟切 vs 每级切 vs 固定窗口切);段内的非稳态问题(心率还在上升)。
这条路线适合回答"HRV 随强度怎么变"这类描述性问题。
9.2 逐搏的动态建模
第二条路:不做分段,直接在逐搏序列上建模型。
方法包括:滑动窗口的时变 HRV 估计、点过程模型(把每次心搏看作一个更新过程的实现,其瞬时概率依赖于当时的强度)、或者状态空间模型。
优点:保留了时间分辨率,能看到瞬态变化。
缺点:方法复杂,参数多,18 个样本下容易过拟合。
这条路线适合回答"HRV 的变化是渐进的还是突变的"这类动力学问题。
9.3 预测建模
第三条路:把 HRV 特征作为输入,预测某个输出(VO2max、通气阈、最大功率)。
优点:直接对应"能不能用 HRV 评估适能"这个应用问题。
缺点:18 个样本,任何模型的泛化能力都无法可靠评估。
如果要做,建议用最简单的模型(线性回归、或者单特征的阈值规则),并且用留一受试者交叉验证。复杂的模型在这个样本量上没有意义。
9.4 一个被忽略的中间路线
在"分段聚合"与"逐搏建模"之间,有一条路线:用累积曲线代替时间序列。
具体做法:不关心 HRV 在每个时刻的值,而是关心"HRV 累积下降了多少"。把 RMSSD 随累计做功(功率对时间的积分)的变化画成一条单调下降的曲线,用这条曲线的形状参数(拐点位置、下降速率、残余水平)作为特征。
这个表示的好处是:它对时间对齐不敏感(不需要精确知道力竭时刻),对短时波动鲁棒(累积平滑掉了),而且物理意义清楚(“做功多少之后 HRV 塌了一半”)。
对这份数据特别合适,因为力竭时刻不确定(§4.6),而累积曲线不需要那个时刻。
9.5 选择建议
想快速拿到描述性结果,用 9.1。
想研究动力学,用 9.2。
想做预测,用 9.3,但接受结论的脆弱性。
想避开力竭时刻不确定的问题,用 9.4。
实际研究中,9.1 与 9.4 的组合最常见:9.1 给趋势,9.4 给形状参数。
§10 术语
递增负荷测试(GET):功率或速度按固定斜率逐步增加,直到受试者力竭的测试方案。用于评估心肺适能与运动能力。
自行车功率计:可精确设定与测量输出功率的固定式自行车。这份数据用的是 SRM Indoor Trainer。
逐搏记录:以每一次心搏为单位的记录方式,区别于按固定时间间隔采样。
RR 间期:相邻两个心电 R 波之间的时间间隔,单位毫秒。是心率变异性的基本数据单位。
心率变异性(HRV):RR 间期随时间波动的程度。反映自主神经系统对窦房结的调制。
RMSSD:相邻 RR 差值平方的均值的平方根。对短时副交感活动敏感,是运动研究中最常用的时域指标。
SDNN:全部 RR 间期的标准差。反映整体变异,但受趋势影响。
通气阈 1(VT1):通气量开始非线性上升的强度点,对应血乳酸首次上升。
通气阈 2(VT2):通气量第二次非线性上升的强度点,接近最大乳酸稳态。
Wasserman 法:用通气当量(VE/VO2 与 VE/VCO2)的拐点判定通气阈的方法。
VO2max:最大摄氧量。单位时间能摄取与利用的最大氧气量。绝对单位是升每分钟,相对单位是毫升每公斤每分钟。
氧脉搏:耗氧量除以心率,反映每搏输出的氧输送能力。
力竭:受试者无法维持规定功率的状态。是递增负荷测试的终点。
自主神经平衡:交感与副交感神经活动的相对关系。运动时交感占优,安静时副交感占优。
CREPS:法国的地区体育教育中心,培养青少年运动员的公立机构。
ODC-By:Open Data Commons Attribution License,要求署名的开放数据许可。
§11 事实清单
11.1 核心事实
| 项目 | 值 |
|---|---|
| 数据集全名 | Cardiorespiratory measurement from graded cycloergometer exercise testing |
| DOI(v1.0.0) | 10.13026/2qs3-kh43 |
| DOI(最新版) | 10.13026/x1f6-1q24 |
| 版本 | 1.0.0 |
| 发布日期 | 2022-06-30 |
| 采集时间 | 2017 至 2018 年 |
| 作者 | Clovis Chabert、Denis Mongin、Eric Hermand、Aurélie Collado、Olivier Hue 等 |
| 机构 | 法国西印度大学 ACTES 实验室;受试者来自瓜德罗普 CREPS |
| 伦理批准 | 瓜德罗普 CREPS 委员会(青年与体育部)与 CREPS 伦理委员会 |
| 许可 | Open Data Commons Attribution License v1.0 |
| 受试者 | 18 人(10 男 8 女) |
| 年龄 | 文件内为 12 至 18 岁整数;摘要记为 15.2 ± 2 岁 |
| 体重范围 | 39.7 至 89.9 公斤 |
| 身高范围 | 156 至 191 厘米 |
| 专项 | 击剑 10、皮划艇 6、铁人三项 2 |
| 测试设备 | SRM Indoor Trainer 自行车功率计(德国于利希) |
| 气体分析 | Metalyzer 3B(德国莱比锡 CORTEX Biophysik) |
| 心电设备 | Cardio 110BT,十二导联(德国 Ottobrunn Customed) |
| 时间分辨率 | 1 毫秒 |
| 协议 | 3 分钟 50 瓦预热;每分钟递增 15 瓦至力竭;力竭后坐位记录恢复期 |
| test_measure.csv 行数 | 52,062 数据行(含表头 52,063) |
| 每人行数中位 | 2,749.5 |
| 每人时长中位 | 1,223.7 秒 |
| RR 缺失 | 1,148 行(ID 11 有 712,ID 17 有 436) |
| RR 超 2000 毫秒 | 5 个(最大 30,500 毫秒) |
| time 负值行数 | 4,241 |
| power 为 0 的行数 | 13,329 |
| VO2 实际范围 | 0.069 至 4.577 |
| VO2 单位 | 实际为升每分钟(条目页标为毫升每分钟) |
| 未压缩总量 | 1.6 MB(压缩包 439.3 KB) |
| 代码仓库 | GitLab(dmongin/scientific_articles) |
| 资助 | 条目页未提供 |
11.2 六个可立即验证的疑问
一,VO2 到底是升每分钟还是毫升每分钟? 看最大值。4.577 只能是升每分钟。打开 CSV 看 VO2 列的最大值即可确认。
二,ID 11 与 ID 17 的 RR 缺失段对应什么? 可能是信号质量差。数据里没有质量标记,需联系作者或查原始论文。可以看那段时间的 power 与 VO2 是否正常——如果正常,说明只是心电通道出了问题。
三,5 个异常长间期是怎么产生的? 看对应的 time 位置是否在测试早期(心率快速上升期,R 波检测容易出错)。数据里能看到具体位置,但原因需原始心电才能确认。
四,力竭时刻在数据里怎么定位? 用 power 从正值变 0 的点,但有滞后。条目页未给标记。可以看 HR 峰值时刻作为交叉参考。
五,环境温湿度是多少? 条目页说做了标准化但没给数值。需查论文或联系作者。
六,为什么 ID 3 与 ID 4 的最大功率都是 305 瓦? 两人都是击剑,年龄都是 16 岁。是巧合还是方案的上限?看协议是每分钟加 15 瓦,从 50 瓦起,理论上能达到的功率是 50 + 15n,305 不减 50 得 255,255/15 = 17,正好是整数级。所以 305 是协议允许的级别,不是巧合。
11.3 一条受试者的读取流程
骨架如下,不含完整实现。
第一步,读 subject-info.csv。注意列名大小写:ID、age、Weight、Height、P_vt1、P_vt2、sport。
第二步,读 test_measure.csv。五列:ID、time、RR、VO2、power。注意 RR 列有空字符串,直接转 float 会报错,需要处理。
第三步,按 ID 筛出目标受试者。
第四步,把 RR 转成瞬时心率:60000 除以 RR。注意 RR 为空的要跳过。
第五步,按 time 排序(文件里已经是按 time 升序,但建议自己再排一次以防万一)。
第六步,画图。横轴 time,纵轴心率,另用一条线画 power。这样能看清三段:测试前(time<0)、测试中(power 递增)、恢复期(power=0)。
11.4 附录 A:一次 HRV 趋势分析的骨架
思路如下,不写具体代码。
数据准备:读入 test_measure,剔除 RR 缺失行与 RR 超过 2000 毫秒的行。
分段:按功率级别分段。由于协议是每分钟加 15 瓦,可以从 power 列直接识别级别(50、65、80……305)。每级的有效数据是那一分钟内的全部心搏。
指标计算:每段算 RMSSD(相邻差值平方的均值开方)、SDNN、以及平均心率。
可视化:横轴用相对强度(当前功率除以最大功率)比绝对功率更合适,因为个体差异大。纵轴用 RMSSD 的对数(因为它的分布右偏)。
趋势拟合:对每个受试者,用指数模型或线性模型拟合 log(RMSSD) 对相对强度的关系,提取斜率。
组水平汇总:18 个斜率的中位数与范围。
补充:把斜率与 subject-info 里的 P_vt2(通气阈 2 的功率)做相关,看"HRV 下降快的人是不是有氧能力更好"。
注意:这一步是 18 个点的相关,报告时要给置信区间,不要只给 p 值。
11.5 附录 B:证据链
按章节交代信息来自哪里。
§1:协议(3 分钟 50 瓦预热、每分钟加 15 瓦、力竭后坐位恢复)、设备型号与产地、Wasserman 法、测试前控制(不饮酒咖啡因、不做剧烈运动)、赛季末非比赛期、医学筛查,全部来自条目页 Methods。年龄、体重、身高、专项、通气阈,来自 subject-info.csv 实际内容。热带气候提醒来自条目页 Usage Notes。
§2:五文件与大小、两个 CSV 的行数与列名,来自条目页 Files 列表与我实际下载。18 行 subject-info 的具体数值、52,062 行的统计、RR 缺失一千一百四十八行及分布、5 个异常长间期的值与位置、time 负值 4,241 行、power 为 0 的 13,329 行、VO2 实际范围,全部是我解析 CSV 得到的结果,条目页没有这些。
§3:许可、DOI、引用格式、下载方式,来自条目页 Access 部分。三次下载的经历是本页核对过程的事实记录。
§4:样本量分析、"少年不是缩小版成人"的四条、热带气候的影响机制、协议斜率的偏缓、只有 RR 无原始心电、恢复期无标记,前两条基于条目页信息,后半部分含运动生理学常识与编辑推断。§4.6 关于"power 首次为 0 比真实力竭晚几秒"是编辑推断。
§5:条目页 Usage Notes 提到这份数据用于一篇 HRV 研究,且有 R 代码仓库。§5 的五条用法是编辑基于数据特性展开的,非条目页原文。
§6:全部为编辑基于数据结构与运动生理学常识的分析。§6.2(VO2 单位)是核对发现的直接后果。
§7:与成人数据、安静状态 HRV 数据、可穿戴数据的对比基于公开常识,条目页没有做数据集间比较。
§8:全部为编辑的方法学建议。
§9:四条路线的划分属编辑整理。§9.4 的累积曲线法条目页未提及。
§10:术语为通用定义。Wasserman 法、VT1/VT2、RMSSD 等均有标准出处。
§11.1:数据侧的数值全部来自条目页或我的核对;协议与设备来自条目页 Methods。资助信息条目页未提供。
§11.2:六个疑问中,第一个(VO2 单位)可直接从数据确认,第六个(305 瓦是协议级别)可通过计算确认,其余需外部信息。
未验证的部分:未解析 medical_screening_questionnaire.pdf。未获取使用该数据的原始论文,因此"HRV 下降速率与适能的关系"这一用途的具体结论未知。
编辑说明
本页依据 PhysioNet 条目页(https://physionet.org/content/actes-cycloergometer-exercise/1.0.0/)公开表述撰写,并完整下载了两个 CSV 文件做逐行核对。
需要说明的几处判断:
一是关于 VO2 单位。条目页的变量表明确写 in mL/min。但实测数据的最大值是 4.577,若按毫升每分钟解读则生理上不成立。本页据此判定实际单位为升每分钟,并在 §2.4、§6.2、§11.1 三处标明。这是本页对条目页的实质性更正,判断依据已写在正文。
二是关于 RR 缺失。1,148 个空值与它们的连续分布,是我解析 CSV 得到的实测结果。条目页完全没有提及。本页在 §2.4 详细描述,并在 §11.1 列表。
三是关于 5 个异常长间期。值(5,308、16,872、16,712、6,548、30,500 毫秒)与位置(各受试者的具体 time)均为实测。是漏检还是真实长间歇,需原始心电才能判断,本页不做推测。
四是关于下载过程。本页 §3.4 记录了三次下载才拿全文件的事实。这是核对过程中的实际经历,不是数据本身的问题,但对使用者有提醒价值,故保留。
五是关于元数据一致性。条目页说 test_measure.csv 有 52,063 行,实测为 52,062 数据行加 1 行表头,合计 52,063 行——两者一致,条目页的表述是指含表头的总行数。这一条不算矛盾,本页在 §2.3 已说明。
六是关于年龄。subject-info.csv 里是整数,条目页摘要写 15.2 ± 2 岁。本页在 §2.2 指出这一差异,但未做推测(可能是文件取了整,也可能摘要用了更原始的记录)。
七是关于"力竭时刻无法定位"。这是本页基于数据结构的判断——没有标记文件,只能靠 power 归零推断,而 power 归零有物理延迟。条目页未讨论这一点。
八是关于专项与年龄的混淆。§1.3 的观察(年龄最小的两人是铁人三项)来自 subject-info.csv 的实际数据,属编辑发现,条目页未提及。
资助与利益冲突:条目页有 Conflicts of Interest 段,声明作者无利益冲突。未提供资助信息。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- scientisst-move — 共享标签:生理信号 / 心电信号 / 步态与运动 / 评测基准
- vtac — 共享标签:生理信号 / 心电信号 / 评测基准
- wearable-exercise-frailty — 共享标签:生理信号 / 心电信号 / 步态与运动
- propofol-anesthesia-dynamics — 共享标签:生理信号 / 心电信号 / 评测基准
- hd-semg — 共享标签:生理信号 / 步态与运动 / 评测基准
- nifeadb — 共享标签:生理信号 / 心电信号 / 评测基准
- gaitpdb — 共享标签:生理信号 / 步态与运动 / 评测基准
- qt-database — 共享标签:生理信号 / 心电信号 / 评测基准
- code-test — 共享标签:生理信号 / 心电信号 / 评测基准
- ecg-arrhythmia — 共享标签:生理信号 / 心电信号 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

