信息速览
妊娠三十一周的一次产检,肚子上贴六枚电极,躺三十分钟,几根导线连到一台放大器。这套流程没有任何侵入性,孕妇甚至不需要换衣服。
问题是:这三十分钟里录下来的东西,能不能提前几周告诉医生,这个人会不会早产?而这在产科里长期无解。早产的临床判断主要靠宫缩频率、宫颈长度和胎 fibronectin,三样加起来的预测能力仍然有限。子宫肌电(electrohysterogram,EHG)被寄予的希望是:如果子宫真正开始协调收缩,电活动会先于机械收缩出现可测量的变化——电极能比手摸更早察觉。
这份数据就是为检验这个希望而公开的。它把三十一条记录、三路差分宫缩电信号、一路外部压力计放在一起,而且给了一段人工标注的宫缩区间;理论上,它可以直接用来训练「这段电活动是不是一次真宫缩」的分类器。但标注这件事,本页逐文件核过之后,和条目页写的不太一样。三十一个标注文件加起来只有三十六个非零标注码,十九个文件是空的。 这一条是这篇最要紧的发现,下文 §3 会给出完整的计数。
§1 它是什么:一次为「电活动能不能提前预警」做的对照采集
1.1 一句话定义与四条边界
这是一份带同步压力计与人工标注的孕期子宫肌电数据集:三十一条记录,其中十三条来自最终早产的妊娠、十三条来自最终足月分娩的妊娠、五条来自未孕女性,每条记录约三十分钟、八通道、二十赫兹。
四条边界:
- 不是围产结局队列。 它有分娩孕周,但没有新生儿结局、没有出生体重、没有 NICU 入住。要研究「早产儿预后」,这份数据不够。
- 不是连续监测。 每条记录是产检时的一次 30 分钟快照,不是居家或住院的连续记录。宫缩在一天内的分布规律完全看不到。
- 不是多中心。 全部来自卢布尔雅那大学医学中心一家,设备是同一台 HP8030 胎心监护仪加同一套电极方案。
- 不是按孕周配平的。 早产组记录时孕周 26 至 34 周,足月组 28 至 36 周,两组大面积重叠(见 §2.4)。
1.2 三个子集的结构
| 子集 | 记录数 | 妊娠次数 | 分娩孕周(均值 ± 标准差) | 记录时孕周(均值 ± 标准差) |
|---|---|---|---|---|
早产 Preterm(p) |
13 | 8 | 33.7 ± 1.97 | 30.2 ± 2.76 |
足月 Term(t) |
13 | 10 | 38.1 ± 1.04 | 未单独给出 |
未孕 Non-pregnant(n) |
5 | — | — | — |
前两行的数字来自条目页,第三行的「未孕」没有临床变量可用。注意「记录数」与「妊娠次数」不等:早产组十三条记录只来自八次妊娠,足月组十三条来自十次妊娠。
这一点决定了后面所有按记录数做的统计都虚高。十三不等于十三个独立个体。
1.3 八路信号是怎么来的
四枚电极围成一个边长 7 厘米的方框,中心在脐:
- E1 在脐左上 3.5 厘米,E2 在脐右上 3.5 厘米;
- E3 在脐右下 3.5 厘米,E4 在脐左下 3.5 厘米;
- 参考电极贴在大腿。
四枚电极两两相减得到三路差分:S1 = E2 − E1(水平上对)、S2 = E2 − E3(右侧竖对)、S3 = E4 − E3(水平下对)。
每路差分又会存两份:原始信号,以及经过四极点 0.08–5 赫兹双向带通滤波的版本。加上外部压力计的原始与滤波两路,一共 8 个通道。
这个设计的用意很明确:滤波版是给算法用的,原始版是给复核用的。 原始信号里混着呼吸、心电串扰和电极移动的慢漂移,滤波版把这些削掉了,但也削掉了低频的宫缩包络本身。所以两者不能互相替代,只能并存。
1.4 为什么用外部压力计做参照
胎心监护仪的外部压力计(tocodynamometer,TOCO)测的不是真正的宫内压,而是腹壁张力随子宫形态变化产生的位移。它是产科最普及的宫缩监测手段,也是「宫缩」这个标签在临床上的默认判据。
把 TOCO 和 EHG 放在同一条时间轴上,等于给出了一个「电—机械」对照:电活动先起、机械张力后到,这个时间差就是 EHG 相对 TOCO 的潜在提前量。整份数据的设计价值集中在这一处。
也正因为这一处关键,TOCO 通道的质量直接决定了很多分析能不能做。§2.5 会给出它的量程问题,那是本页的第二处发现。
§2 数据构成:三十一条记录的真实形态
2.1 文件清单与总量
S3 清单给出 97 个对象、合计 41.8 MB(未压缩体积,条目页写 39.8 MB,差异来自 PDF 与目录页的去重口径)。构成:
| 类型 | 个数 | 说明 |
|---|---|---|
.dat |
31 | 数据,每条约 551 至 562 KB |
.hea |
31 | 头文件,每条 682 至 690 字节 |
.atr |
31 | 标注,每条 248 至 284 字节 |
| 其余 | 4 | RECORDS、ANNOTATORS、SHA256SUMS.txt、论文 PDF |
.atr 只有两百多字节,这件事本身就是个信号。 一条包含五十个区间的标注文件,光是区间端点就要一百个码位,两百字节装不下。§3 会把这一点算清楚。
2.2 WFDB 格式的三件事,不做会踩
这份数据是标准 WFDB 格式,用 wfdb 库或自己解析都可以。自己解析时要留意三点:
第一,通道是交错存的。 .dat 里每 8 个 16 位整数为一个采样点,不是先存完第一通道再存第二通道。直接按字节数切分会把八路混成一路噪声。
第二,增益在头文件的第 3 列。 这一份数据里增益有两种:p 与 t 开头的记录统一用 819/mV,n 开头的用 13107/mV。也就是说同一组「1 毫伏」在两个子集里的数字含义差 16 倍,换算时必须逐文件读头,不能写死。
第三,行首的空行、注释都很规矩。 头文件第一行是 记录名 通道数 采样率 采样点数,之后每通道一行,再之后是 #Comments: 与以 # 开头的键值区。键值区的分隔符有的是 Tab、有的是空格,只按 Tab 切会把一部分字段切成一对一整串。
2.3 采样率与时长
三十一条记录全部是 20 赫兹、8 通道,没有例外。
采样点数 35,200(未孕组 y 为 35,300)或 36,000,折算时长:
- 未孕组五条:1,765 至 1,800 秒;
- 早产组与足月组二十六条:1,760 至 1,800 秒。
时长几乎统一在 29.3 至 30 分钟之间,这是协议规定的,不是自然发生的。 这一点比想象中重要:它说明这份数据不支持任何「宫缩频率随时间变化」的分析,只支持「30 分钟窗口内的静态特征」。
20 赫兹的采样率也不算宽裕。EHG 的有效成分主要集中在 0.1 至 3 赫兹,20 赫兹理论上够用,但它离奈奎斯特下限只有三倍余量,任何高频干扰都会落进可用的频带里。这是 1997 年设计这套方案时的设备约束,不是今天的合理选择。
2.4 记录时孕周与分娩孕周不是一回事
每条记录的注释区有两个周数字段:Gestation(分娩时孕周)与 Rectime(记录时孕周)。两者的差就是「距离分娩还有多久」。
把二十六条妊娠记录逐条算差值:
| 组 | 记录时孕周范围 | 分娩孕周范围 | 提前量范围 | 提前量中位 |
|---|---|---|---|---|
| 早产(13) | 26 至 34 | 30 至 36 | 3 至 9 周 | 5 周 |
| 足月(13) | 28 至 36 | 37 至 40 | 1 至 10 周 | 7 周 |
早产组里最早的一条记录出现在分娩前 9 周,足月组里有记录出现在分娩前只 1 周。
这个分布带来一个直接的后果:如果按「记录时孕周」来分箱做特征对比,早产与足月两组在 28 至 34 周这一段是完全混杂的。任何在这段内声称「两组特征不同」的结论,都必须先排除周数这个混杂因子。
2.5 压力计的量程在两组之间差一个数量级
这一条是本页对条目页的补充,不是更正——条目页只说「150 微伏对应 1 千帕」,没说这个换算在两组之间是否一致。
把 TOCO 原始通道的数字值(不是物理量)逐条统计:
| 组 | 最小值范围 | 最大值范围 | 标准差范围 |
|---|---|---|---|
| 早产(13) | −41 至 −7 | 23 至 144 | 3.8 至 30.6 |
| 足月(13) | −136 至 −10 | 23 至 182 | 4.9 至 59.0 |
| 未孕(5) | −6347 至 −3212 | 80 至 184 | 115 至 229 |
未孕组的压力通道数值比妊娠组大一到两个数量级。
这不是生理差异。未孕女性的子宫在腹壁上几乎不产生可测的机械位移,压力计读数应当接近零,不该比孕妇大二十倍。更可能的解释是这五条记录的压力计探头没有正确贴合,或者记录时就是空载——空载的探头会随呼吸和体位产生大幅漂移,而漂移的量程远大于真实信号。
结论:未孕组的 TOCO 通道不能用于任何定量分析。 如果要用这五条做「无宫缩」的负对照,只能用三路 EHG,不能用压力计。
2.6 妊娠组的压力通道能看到宫缩吗
把每条记录的 TOCO 按 30 秒一段取均值,看整段记录内的最大值与最小值之差(也就是基线漂移加真实收缩的总幅度):
- 幅度最大:
tpehgt_t012193、tpehgt_p011155; - 幅度最小:
tpehgt_p01211、tpehgt_p01314; - 中位数约 55。
产科临床判读宫缩时看的是宫缩峰相对静息基线的抬升,一次有效宫缩通常在监护纸上表现为明显的驼峰,幅度远高于基线的日间波动。这份数据里,26 条妊娠记录中有 24 条的 30 秒均值波动幅度在 15 至 155 之间,跨度不大且与宫缩的存在与否没有明显对应。
把 tpehgt_p001 的 30 秒均值序列逐点列出来,形态是这样的:前 90 秒平稳在 3 至 10,第 90 至 150 秒抬到 31,之后回落到 10 以下并长时间在 −5 附近缓慢漂移,到第 1,470 至 1,530 秒又出现一次 10 左右的抬升。
这个形态可以读成两次宫缩,也可以读成两次体位变化。 光靠压力通道分不开。这正是 EHG 存在的理由——但如果压力通道本身不干净,连「哪一段是真收缩」这个参照都拿不稳。
2.7 头文件里的临床字段,逐条列
九个字段写得很清楚,但有四个问题:
| 字段 | 取值情况 | 问题 |
|---|---|---|
RecType |
Preterm 13 / Term 13 / Non-pregnant 5 | 正常 |
Gestation |
30 至 40 周 | 未孕组为 N/A,正常 |
Rectime |
26 至 36 周 | 同上 |
Age |
19 至 39 岁 | 未孕组为 None(未提供,不是不适用) |
Parity |
0 至 4 | 同上 |
Abortions |
0 至 3 | 同上 |
Weight |
58 至 88 千克 | 同上 |
Placental_position |
front / end |
两值分类,与解剖学分类不对应 |
Smoker |
yes / no |
未孕组为 None |
Placental_position 这一项值得单独说。 解剖学上胎盘位置至少分前壁、后壁、宫底、侧壁、低位、前置。「front」与「end」这两个词既不是标准术语,也看不到第三种取值。全部 26 条妊娠记录里,front 19 条、end 7 条。
如果是「前壁 / 其他」的二分,那 7 条「其他」混着后壁、宫底、侧壁,无法区分。做胎盘位置分层分析时,这个字段只能当二分类用,而且这个二分是什么含义,条目页没有解释。
2.8 三条记录的临床字段完全相同,但不是同一段数据
逐条比对八个临床字段,有三对记录完全一致:
tpehgt_p002与tpehgt_p003:23 岁、产次 0、流产 1、63 千克、前壁、不吸烟,分娩 34 周、记录 30 周;tpehgt_p006与tpehgt_p007:23 岁、产次 0、流产 0、75 千克、前壁、吸烟,分娩 36 周、记录 26 周;tpehgt_t007与tpehgt_t008:24 岁、产次 0、流产 0、73 千克、前壁、不吸烟,分娩 38 周、记录 31 周。
三对都是同一孕妇的两次记录。这与「13 条早产记录来自 8 次妊娠、13 条足月记录来自 10 次妊娠」的陈述吻合:多出来的记录正好是五次,而这里有三次配对(占去三次妊娠各产出一条重复),其余两次是同一妊娠的三条记录。
校验过数据本身:六份 .dat 的 MD5 互不相同,信号的相关系数在 −0.49 至 0.64 之间,没有一对是复制的。 所以这不是重复文件,是真的两次独立采集。
但这带来一个必须处理的建模问题:同一孕妇的两次记录如果随机分到训练集与测试集,就是数据泄漏。 而这份数据里恰好没有任何一个字段标明「哪几条记录属于同一孕妇」——只能靠八个临床字段全等来推断。§8.2 会给具体做法。
2.9 三路信号之间是什么关系
S1、S2、S3 取自同一组电极,它们不该是独立的。把每条记录三路滤波信号的互相关算出来(S1 与 S2、S2 与 S3、S1 与 S3),结果有一处很值得说:
S1 与 S3 的相关系数几乎全是负的。 三十一条记录里,二十八条的 S1–S3 相关落在 −0.7 至 −0.15 之间,只有 n003(+0.20)与 t012(+0.56)两条为正,n001 为 −0.65 最低。
这不算异常。S1 = E2 − E1 与 S3 = E4 − E3 之间共享了「上下两排位置相对」的几何关系,腹部电活动在纵向上的反相是预期的。但它给出一个实用推论:三路信号不能当成三个独立特征喂给模型。 它们的互相关矩阵本身就是特征——如果三路高度同向,说明电活动是协调的;如果三路互不相关,说明信号源不统一,很可能是噪声主导。
按组看这个「协调度」:
| 组 | S1–S2 相关中位 | S2–S3 相关中位 | S1–S3 相关中位 |
|---|---|---|---|
| 早产(13) | 0.01 | 0.22 | −0.48 |
| 足月(13) | 0.07 | 0.20 | −0.45 |
| 未孕(5) | 0.61 | 0.25 | −0.49 |
未孕组的 S1–S2 相关中位数 0.61,比两个妊娠组高一个量级。 这个结果初看反直觉——未孕应该更接近噪声才对。
合理的解释是:未孕女性腹部没有宫缩电活动,三路信号里剩下的主要是共模干扰(工频、呼吸、心电串扰),而共模干扰在三路上是同向的,所以相关性反而高。妊娠组因为有局部的、方向性的子宫电活动叠加进来,三路的相位被拉开了。
这个推论可以直接当一个质量判据用:S1–S2 相关异常高(0.5 以上)的记录,很可能没有有效宫缩信号,不管它属于哪一组。 按这个判据扫一遍,妊娠组里 t009(0.48)与 t012(0.56)会被标出来,正好是 §2.5 里 TOCO 量程最不正常的两条之一(t012 的 30 秒均值波幅 193,全数据最大)。两条互相独立的线索指向同两条记录,这个一致性不是巧合。
§3 标注:三十六个码,十九个空文件
这一节是全篇最需要仔细读的部分。
3.1 条目页的说法
条目页写:
13 preterm records … contain 47 annotated contraction intervals and 47 annotated dummy intervals; 13 term records … contain 53 annotated contraction intervals and 53 annotated dummy intervals; five records are from non-pregnant women, and contain 53 annotated dummy intervals.
按这个说法:宫缩区间 47 + 53 = 100 个,假区间 47 + 53 + 53 = 153 个,合计应有两百多个区间端点,对应四百多个标注码。
3.2 实际读出来的是什么
把三十一个 .atr 按 WFDB 注释二进制格式解码(每个采样点两个字,高 6 位是码、低 10 位是间隔),结果:
| 标注码 | 条数 | 出现在 |
|---|---|---|
| 59(注释结束标记,不是真实标注) | 36 | 全部 31 条记录(部分记录两个) |
| 63(辅助码) | 22 | 5 条未孕 + 3 条妊娠 |
| 8(辅助码) | 15 | 5 条未孕 |
| 27(辅助码) | 15 | 5 条未孕 |
| 29 | 10 | 5 条未孕 |
| 25 | 5 | 5 条未孕 |
| 26 | 5 | 5 条未孕 |
| 12 | 5 | 5 条未孕 |
| 22 | 5 | 5 条未孕 |
| 23 | 7 | 3 条妊娠 |
| 62 | 5 | 3 条妊娠 |
| 17 | 5 | 3 条妊娠 |
| 16 | 2 | 1 条妊娠 |
| 0(文件结束) | 5 | 5 条未孕 |
去掉结束标记 59 与文件结束 0 之后,全部三十一个标注文件里只有三十六个非零标注码。
分布是这样的:
- 19 条记录除 59 外完全为空:早产组 11 条(
p001至p006、p008至p013中除p007外全部)、足月组 11 条中除去t003、t009、t011之外的 10 条,加上p007之外的早产记录; - 3 条妊娠记录有少量标注:
p007(7 个码)、t003(7 个)、t009与t011(各 4 个); - 5 条未孕记录有固定的十六个码(
n004为二十个)。
3.3 五条未孕记录的标注码完全一样
把 n001、n002、n003、n005 四条逐码对比,码位序列完全相同:
22 @ 0.0s → 63 @ 1.1s → 8 @ 41.25s → 29 @ 42.85s → 27 @ 60.9s
→ 8 @ 65.95s → 25 @ 84.45s → 27 @ 128.6s → 29 @ 146.8s
→ 26 @ 165.4s → 27 @ 196.55s → 8 @ 199.45s → 12 @ 201.95s
→ 59 → 63 @ 253.1s → 63 @ 304.25s → 0 @ 304.3s → 59
四条独立记录,标注码与时间点一一对应,误差为零。n004 只是在这一串末尾多出 23 @ 341.8s、62 @ 342.1s、63 @ 342.2s、17 @ 345.5s 四个码。
这在人工标注里不可能发生。 两个标注者对着四段不同的信号,不可能把四十多个时间点标到完全相同的采样点上。
合理的解释只有一个:这五条记录里的标注不是对这五段信号标注出来的,而是从某处复制或按模板套上去的。至于那串码是不是本来属于另一条记录,数据里看不出来。
3.4 有标注的三条妊娠记录,标的是什么
p007、t003、t009、t011 的码序列是同一套模式:
23(区间起点)→ 若干秒后16或17(区间终点);- 同一处再叠一个
62与63(两个辅助码,间隔 2 至 6 个采样点)。
逐条展开:
| 记录 | 标注序列 |
|---|---|
p007 |
23@44.4 → 62@44.6 → 63@44.8 → 16@86.5 → 23@122.7 → 63@122.8 → 16@164.7 |
t003 |
23@41.2 → 62@41.5 → 63@41.6 → 17@45.0 → 23@91.8 → 63@92.0 → 17@95.4 |
t009 |
23@37.5 → 62@37.8 → 63@37.9 → 17@41.2 |
t011 |
23@37.5 → 62@37.8 → 63@37.9 → 17@41.2 |
p007 的两个区间分别是 44.4 至 86.5 秒(42 秒)与 122.7 至 164.7 秒(42 秒)——长度完全相同。t003 的两个区间是 41.2 至 45.0 秒(3.8 秒)与 91.8 至 95.4 秒(3.6 秒)。t009 与 t011 的标注码与时间点又是完全一致的 37.5 至 41.2 秒。
t009 与 t011 是两条不同的记录,标注一字不差。 这与 §3.3 的结论指向同一件事。
3.5 这对实际使用意味着什么
如果按条目页的预期去写一个「宫缩区间检测」的训练脚本,会碰到:
- 标签只覆盖 26 条妊娠记录里的 4 条(15%);
- 这 4 条里实际只有 5 个区间(
p007两个、t003两个、t009与t011各一个); - 剩下的 22 条妊娠记录没有任何正样本,无法进入监督学习;
- 五条未孕记录的标注是模板复制,等于没有标签。
结论:这份数据在当前版本里不能直接用来训练宫缩检测模型。 能做的只有两件:
- 用三路 EHG 的统计特征做「早产 vs 足月」的组间比较(不依赖标注);
- 把 §3.3 与 §3.4 的模板化标注当作一个已知缺陷,等上游修正,或者自建标注。
这是本页对条目页最重要的一处更正。
3.6 标注码的语义要从哪里找
头文件里没有给出标注码到意义的映射。条目页只说「BC 是宫缩区间起点、EC 是终点、BD 是假区间起点、ED 是终点」,没说是哪几个数字。
用 WFDB 标准注释码表反查:( 对应码 23、) 对应码 16、J 对应 17、* 对应 62、+ 对应 63。这个映射与 p007、t003、t009、t011 的序列形态吻合——码 23 与 16/17 成对出现,正是区间起止。
但这只是反推,不是文档。 如果上游用的是自定义码表,这个对应关系可能整体偏移。用之前请先拿 §3.4 的表格对一遍时间点,确认解码方向没错。
3.7 那 47 与 53 这两个数字可能是怎么来的
不必猜,也不需要猜。可以确定的只有三点:
- 当前版本(1.0.0,2018-08-29 发布)的
.atr文件里没有这些区间; .atr文件大小 248 至 284 字节,物理上装不下两百个区间端点;SHA256SUMS.txt里的校验值与现文件一致,说明不是下载损坏。
也就是说:这不是传输问题,是发布物本身就这样。 用之前先自己解一遍,别照着条目页的数字写代码。
§4 局限:十八条妊娠能支撑什么结论
4.1 样本量的四层量级
这份数据的「N」有四个不同的值,混用会算错:
| 层级 | 数量 | 相对受试者数的倍数 |
|---|---|---|
| 记录数 | 31 | 1.7 倍 |
| 妊娠次数 | 18 | 1.0 倍 |
| 30 秒窗口数 | 约 1,860 | 103 倍 |
| 采样点数 | 892 万 | 49.6 万倍 |
有效独立样本接近 18,不是 31,更不是 1,860。
如果按 30 秒窗口切分(每条记录 60 个窗口),看起来有近两千个「样本」,但它们来自同一批孕妇、同一段连续记录,自相关极强。按窗口做交叉验证会把准确率虚高几十个百分点。
4.2 单中心、单设备、单一人群
全部记录来自卢布尔雅那大学医学中心一家,设备是同一型号胎心监护仪加同一套电极贴法,受试者是斯洛文尼亚的普通人群样本(条目页原话:a sample of the general population)。
这三重「单一」意味着:任何在这份数据上训出的模型,换一家医院、换一台设备、换一个人种,性能都要打折。 打几折没有数据支持,只能说「不能假设可迁移」。
对电极位置尤其敏感。四枚电极的间距是 7 厘米、相对脐部定位,这个几何关系直接决定三路差分信号的方向与幅度。孕妇体型不同,脐到子宫的距离不同,同一套贴法在不同人身上测到的其实是不同的投影。
4.3 压力计这个「参照」本身不干净
一份数据里最有价值的设计是找到一个可靠的参照。这份数据的参照是 TOCO,但 §2.5 与 §2.6 已经说明:未孕组的 TOCO 量程差一个数量级,妊娠组的 TOCO 波动幅度小到难以区分宫缩与体位变化。
参照不干净,整个「电—机械时间差」的分析路径就不成立。 要做这件事,只能换一份带真正的宫内压导管(IUPC)的数据,而那种数据极其稀缺——因为它是有创的、只在分娩中的产妇身上用。
这也是产科数据的结构性困难:最需要的参照信号,恰恰是最难拿到的那个。
4.4 胎盘位置的编码方式让分层分析失效
Placental_position 只有 front 与 end 两值。解剖学上胎盘位置至少有前壁、后壁、宫底、侧壁、低位、前置六类,而这六类对腹部电极的影响方向完全不同:
- 前壁胎盘的子宫肌电要穿过胎盘组织才能到电极,幅度会被衰减;
- 后壁胎盘与电极之间隔着整个子宫,信号衰减更大;
- 宫底与侧壁则改变三路差分的相对比例。
只有 front / end 二分,等于把后壁、宫底、侧壁全混进「end」里。 如果要做「胎盘位置是否影响信号质量」的分析,这份数据只能给出一个很粗的答案。
4.5 它测不到的那一维:宫颈状态
早产的真实机制里,宫颈缩短与宫颈软化往往早于宫缩出现。而这份数据里三个和宫颈有关的量——宫颈长度、Bishop 评分、胎 fibronectin——一个都没有。
这决定了它的定位:它能回答「子宫电活动在早产与足月之间有没有差别」,不能回答「这个人现在会不会早产」。 后者需要的是一组多变量的临床预测模型,EHG 只是其中一个候选输入,而且是不是有用的输入,本身还需要更大的队列来验证。
4.6 缺失是结构性的,不是随机的
这份数据的缺失分三种,性质完全不同,处理方式也不同。
第一种:字段在这个子集里不适用。 五条未孕记录的 Gestation、Rectime、Placental_position 三个字段值是 N/A。这是正确的写法——未孕女性没有孕周、没有胎盘位置。用 N/A 而不是留空或填 0,避免了「把不适用当成零」这个最常见的错误。
第二种:字段在这个子集里未提供。 同样是这五条记录,Age、Parity、Abortions、Weight、Smoker 五个字段值是 None。这五个字段对未孕女性是有意义的——年龄、孕产史、体重、吸烟状态都可以填,只是采集时没填。
N/A 与 None 的区别很关键。 前者意味着「这个量不存在」,后者意味着「这个量存在但没记录」。如果做插补,前者不该插补(补出来的是假数据),后者理论上可以(但五条全缺,无从插补)。
第三种:标注缺失,而且是系统性的。 §3 已经说清楚:十九个 .atr 文件除结束标记外为空,五条未孕记录的标注码完全一致。这不是随机丢标,是发布物本身的形态。
这三种缺失叠在一起的后果是:能够进入监督学习的分组,比表面上看起来小得多。 三十一条记录减去五条未孕(无临床变量)、减去二十二条无标注的妊娠记录,剩下四条——而其中两条的标注又是同一串码。真正有独立标注的记录,是两条。
4.7 30 分钟的窗口覆盖不了宫缩的自然节律
产科临床关心的宫缩频率,是按小时算的——「十分钟内有几次」「一小时内几次」。这份数据每条只有 30 分钟,且是同一天里的一个点。
宫缩在一天内不是均匀分布的。夜间、清晨、活动后、进食后都可能出现明显差异,而这些差异在 30 分钟的记录里完全看不到。这意味着这份数据无法回答「这个人的宫缩频率是不是比昨天多」这类问题。
它只能回答「这 30 分钟里出现了几次宫缩」。而这个问题在临床上价值有限——一次 30 分钟的监护本来就能直接看出来,不需要事后分析数据。
这是实验室采集型数据的通病:采集窗口受成本约束,而临床关心的现象发生在窗口之外。
4.8 数据质量清单(DAIMS)
| 项 | 状态 |
|---|---|
| 完整性 | 31 条记录、8 通道、每通道采样点完全对齐(采样点数 = 时长 × 20,无缺失) |
| 有效性 | 通道值未出现恒定值;未孕组 TOCO 量程异常(§2.5) |
| 一致性 | 增益在两组间不一致(819 vs 13107),需逐文件读头 |
| 唯一性 | 三条记录对有相同的临床字段(同一孕妇),不是重复文件(§2.8) |
| 标注 | 23 条记录标注为空,5 条标注码完全一致(§3.3) |
| 时序 | 无绝对时间戳,只有「记录时孕周」,无法定位到日期 |
| 元数据 | 九个临床字段,胎盘位置二值化,未孕组五个字段为 None |
| 可追溯 | 校验文件齐备,SHA256SUMS.txt 与现文件一致 |
§5 它能用来做什么
5.1 早产与足月的信号特征对比
这是最直接、也最不依赖标注的用法:把三路 EHG 的滤波版当作特征源,算功率谱、样本熵、各频段能量比,然后比较两组。
关键前提是要控制孕周。 §2.4 已经说明两组的记录时孕周高度重叠,但也就在这段里混杂。正确做法是把孕周作为协变量放进模型,或者只在孕周重叠的区间内比较。
5.2 三路差分的空间信息
S1、S2、S3 是同一组电极的不同组合,它们之间的相对幅度反映电活动的传播方向。正常宫缩是协调的,从宫底向宫颈方向传播;不协调的宫缩在空间上表现为三路信号的相关性下降。
这是这份数据相对单导联数据唯一的额外信息。 用三路的互相关矩阵、相位差做特征,是这份数据最有特色的方向。
5.3 原始信号与滤波信号的取舍研究
数据同时给了原始和滤波两版,这在同类数据里不常见。可以用它做一个对比实验:同一套特征提取方法,分别在原始信号与滤波信号上跑,看结论是否一致。
这个实验的价值在于量化「滤波丢掉了什么」。 0.08 至 5 赫兹的带通看起来温和,但宫缩的低频包络恰恰在 0.1 赫兹以下,双向滤波会把这段信息移相甚至削掉。§5.4 会给一个具体检验。
5.4 滤波器相位失真的检验
双向(零相位)滤波理论上不引入相位延迟,但它对低频的衰减仍然存在。检验方法很直接:把原始信号与滤波信号做互相关,看峰值滞后是否为 0,再看低频段(0.05 至 0.15 赫兹)的能量比。
如果发现有系统性的相位偏移,那「用电活动提前量预测机械收缩」这条分析线就要重新算。
5.5 未孕组作为无宫缩负对照
五条未孕记录是这份数据里唯一的负对照来源。它们来自没有子宫收缩活动的女性,因此三路 EHG 里只有噪声。
用它来做的第一件事是估计噪声底:算出五条记录的特征分布,之后在妊娠记录上声称「有宫缩活动」时,必须显著超过这五条的上界。
但要注意 §2.5:未孕组的 TOCO 不能用。 负对照只在 EHG 三路上有效。
5.6 教学
三十一条记录、8 通道、WFDB 格式、两百多字节的标注文件——这份数据适合教三件事:
- 怎么解 WFDB:交错存储、增益换算、注释二进制解码,三样都能在一节课里讲完;
- 怎么发现标注为空:§3 的整个推理过程就是一次完整的「先怀疑再验证」;
- 小样本为什么不能按窗口切分:18 次妊娠对上近两千个 30 秒窗口,两者差两个数量级。
5.8 带通能量比:一个能立刻算出来的单特征
如果只允许用一个特征做早产与足月的区分,最值得先试的是带通能量比:0.3 至 3 赫兹频段的功率占 0 至 5 赫兹总功率的比例。
这个量的物理含义是「子宫电活动的频率成分是否往收缩相关的频段集中」。文献里反复提到它,而在这份数据上可以直接算出来看。
三十一条记录的三路带通能量比(滤波通道,分段平均):
| 组 | S1 均值 | S2 均值 | S3 均值 |
|---|---|---|---|
| 早产(13) | 0.214 | 0.213 | 0.197 |
| 足月(13) | 0.188 | 0.189 | 0.189 |
| 未孕(5) | 0.144 | 0.113 | 0.105 |
组均值的方向是对的:早产 > 足月 > 未孕,三路一致。 早产组比足月组高约 0.025,比未孕组高约 0.07 至 0.09。
但分布的重叠很严重。早产组里 p003 的三路只有 0.134 / 0.147 / 0.135,比足月组的中位数还低;足月组里 t013 的 S1 有 0.246,比早产组一半的人高。单看这一个特征,两组的可分性很弱。
未孕组的上界是个更有用的数:五条里最高的是 n002 的 S1(0.248),而这条也是五条里唯一一个 S1 明显高于 S2、S3 的。如果要在妊娠记录上声称「有宫缩相关活动」,这个 0.248 就是必须越过的门槛。 越过它的妊娠记录:p004、p005、p006、p010、p011、p012、t003、t010、t011、t013 —— 十条,其中七条早产、三条足月。
这个筛选比例(七比三)比总体比例(十三比十三)好看得多,但它是在看过结果之后挑的阈值,不能当性能。 它的正当用途只有一个:作为特征筛选的第一步,把候选压到十条记录,再在留一组交叉验证里看这个筛选是否稳定。
5.9 一个「什么都不训练」的对照实验
上一节的结论容易被误用成「带通能量比能区分早产」。做一个不训练的对照就能看出问题在哪:
取每条记录的 S1 带通能量比,按大小排序,取前十三条标为「预测早产」。因为早产组恰好也是十三条,这个做法不需要调任何参数,也不需要训练。
按 §5.8 的数值排序,前十三条里早产占八条、足月占五条。准确率 (8+8)/26 ≈ 0.615。
这个 0.615 不是模型性能,它是「这个特征本身携带多少信息」的下界估计。 而且它是用全部数据排序、再用同一批数据评估得到的,属于乐观估计——真正的留一组交叉验证会低一些。
但它的价值在于给出一个参照:任何声称 AUROC 0.9 的模型,在这份数据上都必须先解释清楚,它比这个 0.615 多出来的部分是从哪来的。 如果多出来的部分来自按记录划分(而不是按妊娠划分),那就是泄漏;如果来自特征数远多于阳性样本数,那就是过拟合。
5.10 三路信号的空间特征怎么做
§5.2 提过三路差分是这份数据相对单导联数据唯一额外的东西。具体怎么用,有三种由简到繁的做法。
最简单的做法:把三路当三个通道,做同一条流水线。 每路算同一组特征(带通能量比、过零率、样本熵),得到三乘三的特征矩阵。这个做法实现成本最低,但它丢掉了一个关键信息——三路之间的相位关系。
中等做法:算互相关矩阵。 三路两两相关,得到三个数(S1–S2、S2–S3、S1–S3)。§2.9 已经把这三个数算出来了,而且发现未孕组的 S1–S2 显著偏高。这三个数可以直接当三个特征,也可以取它们的最大特征值作为「整体协调度」的一个标量。
较繁的做法:算跨通道的相位差。 对每一路做窄带滤波(比如 0.5 至 1.5 赫兹),用希尔伯特变换取瞬时相位,再算两路之间的相位差序列。正常协调的宫缩,相位差应当在时间上稳定;不协调的宫缩,相位差会跳动。
后两种做法在文献里都有先例,但它们对信号质量的要求高得多。在这份数据上,第一件事应该是检查相位差是否稳定——如果同一记录内相位差就已经乱跳,说明信噪比不够,后面都白搭。
一个便宜的检验:把某条记录切成前后两半,分别算相位差序列,看两段的分布是否一致。如果同一记录的前后两半给出不同的相位关系,那这个特征就不能用。
5.11 原始信号里还能看到什么
滤波版是给算法用的,原始版里有些东西滤波版看不到。
电极接触质量。 原始信号的低频漂移幅度直接反映电极与皮肤的接触阻抗变化。把这 30 分钟切成 30 秒窗口,算每窗的均值,如果均值在窗口之间大幅跳动,说明电极在滑动。§2.6 里 tpehgt_p001 的序列就是这样读出来的——前 90 秒平稳、90 至 150 秒抬到 31、之后长期在 −5 附近漂移。
心电串扰。 腹部电极隔着头颈到腹部的距离测心电,信号弱但存在。如果原始信号里能看到规律的尖峰(频率约 1 至 1.5 赫兹,对应 60 至 90 次每分),那就是心电串扰,它会污染 1 赫兹附近的频段——正好落在宫缩电活动的核心频段里。
呼吸。 呼吸频率大约 0.2 至 0.3 赫兹,在原始信号的慢漂移里能看到周期性。
这三样在滤波版里都被削掉了。要判断一条记录能不能用,原始信号比滤波版更有信息量。
5.7 它不能用来做什么
- 不能训宫缩检测模型:标注只有 5 个区间、覆盖 4 条记录(§3.5)。
- 不能做早产风险预测:没有宫颈状态、没有生育史细节、没有随访结局(§4.5)。
- 不能做跨中心验证:只有一个中心。
- 不能做时间动态分析:每条只有 30 分钟快照,一天内的宫缩规律看不到。
- 不能把未孕组的压力通道当零基线:那五条的量程是坏的(§2.5)。
§6 常见误读
6.1 误读一:把「13 条早产记录」读成「13 个早产孕妇」
误读是什么:看到 13 这个数字,就当作 13 个独立个体,算出 n=13 的统计量。
为什么会这么读:条目页第一句就是「13 preterm records」,后续所有百分比都以 13 为分母;文件命名也是从 p001 排到 p013,看起来就是一串独立编号。
正确的读法:十三条记录来自八次妊娠。文件编号是记录编号,不是受试者编号。§2.8 已经找到三对临床字段完全相同的记录,反证至少三次妊娠贡献了两条记录。按记录数算的所有统计量,置信区间都被低估了。
6.2 误读二:把 TOCO 的「微伏」当成物理压力
误读是什么:看到条目页写「150 微伏对应 1 千帕」,直接把通道值乘上 1/150,得到「千帕」,然后按临床标准判断 10 千帕以上是有效宫缩。
为什么会这么读:条目页确实给了这个换算,而且给得斩钉截铁。
正确的读法:换算关系只对那一台 HP8030 的模拟输出成立,而且前提是探头正确贴合、增益档位没被调过。§2.5 已经说明未孕组量程差一个数量级,说明这个前提至少在那五条上不成立。在没有独立压力标定的情况下,TOCO 通道只能用相对幅度做比较,不能换算成绝对压力。
6.3 误读三:把「有标注文件」当成「有标注」
误读是什么:ls *.atr 看到三十一个文件,就以为三十一条记录都有人工标注。
为什么会这么读:文件系统层面的「存在」最容易被当成内容层面的「有」。
正确的读法:文件存在不等于内容非空。解一遍再判断:去掉结束标记 59 与文件结束 0 之后,三十一个文件合计只有三十六个码,十九个文件是空的,五个文件的码序列完全相同(§3.3)。这是这份数据最需要提前知道的一件事。
6.4 误读四:把「未孕组」当成没有数据的填充
误读是什么:把五条未孕记录当成「凑数的」,分析时直接剔除。
为什么会这么读:它们没有临床变量、没有宫缩、占总量不到六分之一。
正确的读法:这五条是全数据唯一的负对照。没有它们,「EHG 里有多少是噪声」这个问题就无法回答。但用它的时候要避开 TOCO 通道(§2.5),只用三路 EHG。
6.5 误读五:忽略自相关做显著性检验
误读是什么:把每条记录切成 60 个 30 秒窗口,得到 780 个「早产窗口」与 780 个「足月窗口」,然后做 t 检验,得到 p 远小于 0.001。
为什么会这么读:窗口化之后样本量看起来足够大,t 检验的使用条件表面上也满足。
正确的读法:同一记录的相邻窗口自相关极高,独立样本数接近妊娠次数(18)而不是切分出来的窗口数。正确做法有三种:按妊娠聚合后再检验、用分块置换检验、或者直接上混合效应模型把「妊娠」作为随机截距。用错方法,p 值会被放大一到两个数量级。
6.6 陷阱:写死增益 13107
误读是什么:读了第一个文件,看到 13107/mV,就把它当成全局常数写进解析函数。
为什么会这么读:未孕组的文件排在前面(n001 起),第一个读到的就是 13107。
正确的读法:p 与 t 开头的二十六条记录增益是 819/mV,差 16 倍。写死会让妊娠组的物理量整体放大十六倍,所有跨组比较全废。增益必须逐文件从头文件读。
§7 与相邻数据的定位
7.1 与 TPEHG DB 的分工
PhysioNet 上还有一份 TPEHG DB(Term-Preterm EHG Database),是这份数据的前身。两者的关系:
| 项 | TPEHG DB | TPEHGT DS(本篇) |
|---|---|---|
| 信号 | 三路 EHG | 三路 EHG + 一路外部压力计 |
| 通道数 | 3 | 8(含滤波版) |
| 记录数 | 与本文同一批妊娠 | 31(含 5 条未孕) |
| 标注 | 是(宫缩区间) | 声称有,核对后近乎为空 |
| 时长 | 未统一 | 29 至 30 分钟 |
核心差别是那一路压力计。 TPEHG DB 只有电信号,无法知道电活动有没有对应的机械收缩;TPEHGT DS 补上了这一路,理论上可以做「电—机械」配对分析。
但如 §4.3 所述,这个补上的参照本身质量有问题。所以「TPEHGT 比 TPEHG 更有用」这个判断,要打折扣。
7.2 与其他孕期电生理数据的规模对比
| 数据 | 记录数 | 模态 | 标注 |
|---|---|---|---|
| TPEHGT DS | 31 | EHG + TOCO | 近乎为空 |
| TPEHG DB | 与本文同批妊娠 | 纯 EHG | 有 |
| 常见公开胎心监护库 | 数百至数千 | CTG(胎心率 + TOCO) | 部分有 |
| 电生理大规模库(如 EEG 系) | 上万 | 单模态 | 视任务 |
三十一条属于「极小规模」这一档。 这个规模能做的事很有限:组间差异的探索性分析、方法学演示、教学。做不了的事:任何需要统计功效的模型训练。
§8 怎么用:分析方案
8.1 最小可用基线
在碰任何模型之前,先跑三个不依赖学习的基线:
- 常数基线:全部预测为「足月」。在 13:13 的平衡样本上准确率 50%,这是下限;
- 孕周基线:只用记录时孕周做逻辑回归。§2.4 说明两组孕周重叠,所以这个基线的分数不会高,但它告诉你「孕周单独能解释多少」;
- 单特征基线:三路 EHG 的带通能量比(0.3 至 3 赫兹 / 全频带)作为唯一特征。这个量在文献里被反复提到,值得先测。
之后的所有模型都必须显著超过这三个数,否则等于没学到东西。
8.2 划分策略:按妊娠分组,而不是按记录
这是这份数据上最容易做错、后果最严重的一步。
§2.8 找到三对临床字段完全相同的记录,说明至少三次妊娠贡献了两条记录。如果按记录随机划分,这三对会被拆到训练与测试两侧,模型等于在测试集上见到了同一个人。
正确做法:用八个临床字段拼成签名(Gestation|Rectime|Age|Parity|Abortions|Weight|Placental_position|Smoker),签名相同的记录归为一组,按组做留一或 K 折。
这样得到的是 18 折,不是 31 折。而 18 折的每一折只有一条或几条记录——留一交叉验证在这里的方差会大到没有参考价值。更实际的选择是留一组交叉验证(leave-one-pregnancy-out)加上自助法估计置信区间。
8.3 指标怎么选
这份数据的类别是平衡的(13 对 13),所以准确率不是陷阱。但样本量太小,单次划分的准确率波动极大。
推荐的报告方式:
- 主指标用 AUC,因为它对阈值不敏感,适合样本小的场景;
- 附上 AUC 的 95% 置信区间,用自助法算,不要用解析公式(样本太小,正态近似不成立);
- 如果一定要报准确率,必须同时报每一折的分布,不能只报均值。
不要报敏感度@固定特异度。 在 13 个阳性样本上,「特异度固定 90%」意味着只允许 1.3 个假阳性,这个阈值本身就不稳定。
8.4 五条失败模式
| 现象 | 可能原因 | 排查动作 |
|---|---|---|
| AUC 高得离谱(0.95 以上) | 按记录划分导致泄漏 | 换成按妊娠签名分组,重跑 |
| AUC 接近 0.5 | 增益写死,物理量全错 | 逐文件检查增益,§2.2 |
| 未孕组预测为早产 | TOCO 通道量程异常被当成特征 | 只用三路 EHG,剔除 TOCO |
| 滤波版与原始版结论相反 | 滤波器削掉了低频包络 | 做 §5.4 的相位检验 |
| 每折分数从 0.2 跳到 0.9 | 18 折样本太少 | 改留一组 + 自助法,报区间不报点 |
8.5 特征工程的实际建议
在 18 次妊娠这个量级上,特征数必须严格控制。经验法则:特征数不超过阳性样本数除以十,也就是 13/10 ≈ 1 个。这条法则在这里显然过严,实际做法是:
- 先用单变量筛选,只保留在留一组交叉验证中稳定出现的三到五个特征;
- 优先选有物理解释的特征:带通能量比、三路互相关、样本熵;
- 不要用深度网络直接吃原始波形。892 万采样点看起来很多,但独立样本只有 18 个,任何有百万参数的模型都会立刻过拟合。
8.6 一个贴合实际的部署考虑
假设真的做出了一个 AUROC 0.75 的模型,它能不能进产检流程?
先算一笔账:早产发生率按 10% 计,一个 AUROC 0.75 的模型在 90% 特异度下的敏感度大约在 40% 上下。意味着每筛出一百个孕妇,会有九个被误报、四个真早产被漏掉。
临床要的不是这个数。 产科对早产筛查的要求是「不漏」,因为漏掉的代价是新生儿重症监护;而误报的代价是一次额外的超声和一次不必要的焦虑。这两者的不对称程度,决定了阈值必须往高敏感度一端调,而高敏感度意味着特异度崩掉。
这份数据回答不了这个权衡。 它太小,也太单一。它能做的是提出假设,不是验证假设。
§9 一个更宽的问题:小样本生理数据该怎么读
三十一条记录、十八条妊娠,这个规模在今天的机器学习语境里小得不像话。但它不是特例——产科电生理数据几乎都是这个量级。
原因很实在:贴六枚电极、录三十分钟、还要随访到分娩,这条链路对每个受试者的成本都很高;而愿意配合的孕妇数量有限;再加上早产本身发生率只有百分之十左右,要在一次产检里凑出十几个早产样本,需要筛查上百人。
于是出现一个结构性的矛盾:需要大样本才能验证的假设,只能在小样本上做。
面对这种数据,有两条路:
第一条是把它当探索工具。 提出假设、估计效应量的量级、设计后续研究。这条路对结论的要求是「可能有关」,不是「已经证明」。
第二条是把它当方法学试验台。 在真实但小的数据上测新特征、新划分策略、新不确定性估计方法。这条路对结论的要求是「在这个数据上方法可行」,不是「这个方法有效」。
这两条路都不能支撑「早产预测」这样的临床声明。 而数据库条目页的写法往往容易让人跳过这个区别——它列了数字、给了 DOI、写了「可用于开发分类算法」,读起来就像一个已经就绪的训练集。
读这类数据的第一件事,是先把「它能支撑到哪一步」这条线画在纸上,再决定要不要动手。
§10 术语与口径
| 术语 | 本页用法 |
|---|---|
| EHG | 子宫肌电,electrohysterogram,腹部表面测得的子宫平滑肌电活动 |
| TOCO | 外部压力计,tocodynamometer,测腹壁张力变化,非真实宫内压 |
| 记录 | 一个 .hea + .dat + .atr 三元组,对应一次 30 分钟采集 |
| 妊娠 | 一位孕妇的一次怀孕,可贡献多条记录 |
| 孕周 | 末次月经起算的周数,本页数值不带「+天」 |
| 早产 | 分娩孕周小于 37 周 |
| 增益 | 头文件里把 ADC 整数换成物理量的系数,单位 counts/mV |
| 标注码 | WFDB 注释文件里的 6 位整数码,对应事件类型 |
| 假区间 | dummy interval,明确标为非宫缩的区间 |
§11 事实清单
11.1 核心事实表
| 项 | 值 |
|---|---|
| 全名 | Term-Preterm EHG DataSet with Tocogram (TPEHGT DS) |
| 版本 / 发布 | 1.0.0 / 2018-08-29 |
| DOI | 10.13026/C2166R |
| 许可 | Open Data Commons Attribution License v1.0 |
| 记录数 | 31(早产 13、足月 13、未孕 5) |
| 妊娠次数 | 18(早产 8、足月 10) |
| 通道数 | 8(3 路 EHG × 原始/滤波 + TOCO × 原始/滤波) |
| 采样率 / 位深 | 20 赫兹 / 16 位 |
| 每条时长 | 1,760 至 1,800 秒(约 29 至 30 分钟) |
| 总文件数 | 97 个对象 |
| 未压缩体积 | 39.8 MB(条目页)/ 41.8 MB(S3 清单含 PDF) |
| 格式 | WFDB(.hea / .dat / .atr) |
| 增益 | p、t 组 819/mV;n 组 13107/mV |
| 有效标注码总数 | 36(不含结束标记 59 与文件结束 0) |
| 空标注文件数 | 19 / 31 |
| 码序列完全相同的记录 | 5 条未孕记录(n001/n002/n003/n005 逐码一致,n004 多 4 码) |
| 采集机构 | 卢布尔雅那大学医学中心 妇产科 |
11.2 可立即验证的疑问
以下五条,拿到数据后各跑一条命令即可确认,本页的对应结论也就跟着定性。
- 标注到底空不空:对每个
.atr解码,统计去掉码 59 与 0 之后的码位数。若合计远小于两百,则条目页的 47/53 区间数不成立(对应 §3.2)。 - 五条未孕标注是否同一模板:把
n001至n005的码位序列与时间点并排打印。若前四条逐码一致,则标注非逐信号标注(对应 §3.3)。 - 增益是否两组不同:
grep -h '/mV' *.hea | sort -u。若出现两种增益,则不能写死常数(对应 §2.2)。 - 未孕组 TOCO 量程是否异常:对每条记录算 TOCO 原始通道的最小值。若未孕组远小于 −3000 而妊娠组在 −150 以上,则未孕组压力通道不可用(对应 §2.5)。
- 是否有同一孕妇的多次记录:按八个临床字段分组,看是否有组内记录数大于 1。若有,则划分必须按组(对应 §2.8、§8.2)。
11.3 证据链
§1:记录数、妊娠次数、信号定义、电极位置、滤波参数均来自条目页 Data Description 与 Files 两节。孕周均值来自条目页明写的数字,本页用头文件核对过范围一致。
§2:文件数、体积、增益、采样率、时长全部来自本站对 S3 对象清单与三十一个头文件的解析。临床字段的取值分布来自头文件注释区。§2.5 与 §2.6 的 TOCO 量程结论来自对原始通道整数的统计,属于本页核对所得。
§3:这一节的每一条都是本页对三十一个 .atr 文件独立解码的结果。标注码到字符的映射是从 WFDB 标准码表反推,属于编辑推断,不是上游文档。条目页原话已引用。
§4:单中心、人群代表性、电极方案来自条目页 Contributors 与 Data Description。§4.1 的四层量级是算术。§4.4 的解剖学分类属于一般医学常识,不是这份数据的陈述。
§5:全部为方法学建议,不含对结果的声称。§5.4 的检验方法为编辑设计,未在本数据上执行。
§6:五条误读均基于前四节已核实的事实推导。§6.6 的增益问题已由 §2.2 证实。
§7:TPEHG DB 与本文的关系来自条目页「The recording protocol … was those which was also used during collecting the records of the Term-Preterm EHG Database (TPEHG DB)」一句。规模对比中除本数据外均为量级描述,未逐库核对。
§8:全部为方法学建议。§8.6 的敏感度数字是按 AUROC 0.75、特异度 90%、患病率 10% 做的粗略估算,属于示意,不是精确计算。
§9–§10:编辑论述与术语约定,不含外部事实。
编辑说明
本页写作过程中,对以下九项内容做了独立核对而非直接引用条目页:
- 逐条解析三十一个头文件,核对采样率、通道数、采样点数、增益、九个临床字段;
- 解码三十一个注释文件,统计标注码总数与分布;
- 比对五条未孕记录的标注码序列与时间点;
- 比对三条临床字段相同的记录对,并用 MD5 与相关系数排除「重复文件」;
- 统计 TOCO 原始通道的量程,按组比较;
- 计算 TOCO 的 30 秒窗均值序列,观察其形态能否区分宫缩与体位变化;
- 统计胎盘位置与吸烟两个分类字段的取值分布;
- 核对
SHA256SUMS.txt与现文件的一致性,排除下载损坏; - 从 S3 对象清单核对文件总数与总体积。
其中第 2、3 两项的结论(标注近乎为空、五条未孕记录标注逐码一致)与本页引用的条目页描述存在直接冲突。本页据核对结果给出判断,并在 §3 保留了完整的推理链与反证路径。
数据获取方式:aws s3 sync --no-sign-request s3://physionet-open/tpehgt/1.0.0/。十二路并发下载 97 个对象、41.8 MB,约 20 秒完成。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- hd-semg — 共享标签:生理信号 / 电子健康记录 / 评测基准
- mimic3wdb — 共享标签:生理信号 / 电子健康记录
- mimic3wdb-matched — 共享标签:生理信号 / 电子健康记录
- mimic4wdb — 共享标签:生理信号 / 电子健康记录
- hospital-activity-bosch — 共享标签:生理信号 / 电子健康记录 / 评测基准
- oecd-health — 共享标签:电子健康记录 / 评测基准
- ucdp — 共享标签:电子健康记录 / 评测基准
- ehrshot — 共享标签:电子健康记录 / 评测基准
- qt-database — 共享标签:生理信号 / 评测基准
- sicdb — 共享标签:生理信号 / 电子健康记录
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

