5.3 KiB
assessment_only 与 all 实验及分析方案
1. 实验目的
补充现有四级 extra-information 证据链:
disease_only:疾病事件、相对患病时间和 sex;无 CHECKUP、无 extra-info token。smoking_alcohol_bmi:疾病史、sex、CHECKUP、smoking/alcohol/BMI。assessment_only:疾病史、sex、CHECKUP、65项常规体格、肺功能、血液、尿液和生化指标。all:疾病史、sex、CHECKUP、全部265项体检和暴露信息。
目标是区分:
- 疾病史本身能够提供多少未来疾病信息;
- 常规体检在疾病史之外增加多少信息;
- 生活方式、社会经济、心理和环境暴露在完整体检之外增加多少信息;
- 额外信息对疾病预测和死亡预测是否具有不同作用。
2. 固定模型
所有新增实验固定为:
TrajMixer
+ all_future
+ relative
+ Weibull
+ timed disease history
+ sex
仅改变 extra_info_types_file:
extra_info_types_assessment_only.txtextra_info_types_all.txt
每种配置运行 seed 42、43、44。
3. A6000 48GB 设置
| 配置 | Batch size | 原因 |
|---|---|---|
| assessment_only | 256 | 最多65个 extra-info token,48GB余量充足 |
| all | 128 | 最多265个 extra-info token,relative RBF attention 显存随总序列长度平方增长 |
当前训练代码为 FP32/TF32,并未使用 AMP。若 all batch=128 在极端长序列 batch 上出现 CUDA OOM,降为64,不自动重试,避免同一配置产生多个不完整 run。
batch size 是 all 与其他模型之间的潜在训练差异。代码会按 batch size 自动缩放学习率,但最终报告仍需明确记录该差异。若 all 的结果处于模型选择临界区,再补 seed 42 的 batch-size sensitivity,而不是预先扩大实验矩阵。
4. 主要比较
4.1 常规体检的增量价值
assessment_only − disease_only
回答常规器官功能检测指标在疾病序列之外提供多少信息。
4.2 全部信息相对常规体检
all − assessment_only
回答生活方式、社会经济、心理和环境暴露是否在常规体检之后仍有增量价值。这是新增实验中最干净的主要比较,因为两组都保留 CHECKUP,Landmark 和随访边界应一致。
4.3 全体检相对紧凑变量集
assessment_only − smoking_alcohol_bmi
回答65项常规体检是否优于紧凑的 smoking/alcohol/BMI 输入。
4.4 全部信息相对紧凑变量集
all − smoking_alcohol_bmi
衡量从当前最终模型扩展到全部 extra information 的最大增益。
4.5 既有比较
保留:
smoking_alcohol_bmi − disease_only
与新增结果共同形成完整的信息增量路径。
5. 评估指标
疾病和死亡分开分析。
判别能力
- Landmark AUC;
- 各 horizon AUC;
- disease cell win rate;
- 三个 seed 的均值、标准差和方向一致性。
概率与似然质量
- IPCW Brier;
- 固定时点 IPCW NLL;
- 连续时间 point-process NLL;
- Expected/Observed ratio;
- calibration-in-the-large;
- calibration slope;
- 校准曲线。
复杂度与稳定性
- 参数量;
- 每个 epoch 运行时间;
- 峰值显存;
- 三个 seed 的性能波动;
- 缺失值较多的 extra-info 类型是否造成训练不稳定。
6. 配对和汇总方法
- replicate unit 为 seed;
- 按相同
seed × label_code × sex × horizon配对; - 每个比较使用三个 seed 共同存在的 cell;
- 先在 seed 内汇总,再计算三个 seed 的均值和样本标准差;
- AUC 越高越好;
- Brier、NLL及绝对校准偏差越低越好;
- 不以单个 seed 或单个 horizon 决定模型。
7. disease_only 比较的评估限制
disease_only 按设计删除 CHECKUP,其他三组保留 CHECKUP。当前评估实现会使两类模型的随访终点和 n_at_risk 略有差异。
因此:
assessment_only、smoking_alcohol_bmi、all三者之间可以直接比较;- 它们与
disease_only的比较应使用固定的原始随访终点、Landmark 和 censoring; - 在共享风险集评估完成前,不能把与
disease_only的全部差异严格归因于 extra-info 数值。
8. 决策规则
- 如果
assessment_only已达到all的绝大部分性能,并且校准更稳定,优先选择assessment_only,因为它与器官功能重建目标一致且解释更清楚。 - 如果
all在疾病和死亡 AUC、Brier、NLL上均稳定优于assessment_only,则将all作为性能上限模型,但不直接作为器官负担教师模型。 - 如果
all只提高 AUC而恶化 Brier/NLL或 seed 波动明显,不升级最终模型。 - disease-only Timed 仍是生成纯疾病来源器官负担分数的教师模型;assessment/all 实验用于界定疾病史遗漏的信息,而不是改变该分数的纯疾病定义。
9. 运行与后续评估
训练:
bash train_extra_info_assessment_all_multiseed_linux.sh --gpus 0
多GPU:
bash train_extra_info_assessment_all_multiseed_linux.sh --gpus 0,1,2
训练完成后,现有扫描脚本分别生成 AUC 和 calibration/Brier/NLL。合并分析时,将新增 assessment_only 和 all 两个配置纳入主 Timed 表,不纳入 disease-history Ordered/Set 专表。