← 实验记录
进行中2026年6月25日
Exp020 · 胎儿出生体重回归模型三方案对比
回归模型MoEBlending特征工程外部验证出生体重预测
实验目标
在原有方案B(MoE 两阶段路由)的基础上,从两个方向探索改进空间:
- Claude方案:完全重新设计,摆脱原方案框架,采用样本加权代替路由分流
- 方案C:保留方案B路由结构,叠加新工程特征,验证特征增强是否带来收益
数据设置
- 训练集:
dataset.csv,约 1570 例,巨大儿 14.2% - 外部验证集:
Val_data_clear.csv,157 例,巨大儿 7 例(4.5%) - 目标变量:出生体重 BW(克)
方案说明
方案B — MoE 两阶段路由(基准)
- Stage 1(路由器):LGB + XGB + CatBoost Stacking,预测值 P80(≈3641g)为 HIGH zone 边界
- Stage 2(专家):HIGH zone 用 1:1:1 平衡采样训练 CatBoost;NORMAL zone 维持三模型集成
- 外部验证 R²=0.713,MAE=156g
Claude方案 — 样本加权集成(重新设计)
摒弃路由分流,改用全局样本加权 + OOF 反比集成:
- 巨大儿样本权重 ×1.5,低体重样本权重 ×2.0
- LGB + XGB + CatBoost 三模型,以 OOF-MAE 反比作为融合权重
- 附加分位数回归输出预测区间(q10/q50/q90)
方案C — 增强特征 MoE(特征扩展实验)
保留方案B的 P80 路由结构,在特征层面全面扩充:
- 新增 FH×AC(宫高×胎儿腹围)、三种 EFW 公式(Hadlock/Shepard/Campbell)
- 衍生 EFW_Spread(公式间离散度)、GWG_Rate(孕期增重速率)等
- Stage 2 特征从 13 个扩展至 36 个
实验结果
| 指标 | 方案B | Claude方案 | 方案C |
|---|---|---|---|
| 内部Test MAE | — | 245.76g | 245.75g |
| 内部Test R² | — | 0.5196 | 0.5172 |
| HIGH区域 Bias | -189g | — | -373g |
| 外部验证 MAE | 156g | 154.74g | 168.92g |
| 外部验证 R² | 0.713 | 0.7169 | 0.6765 |
注:方案B内部测试指标来自原始ipynb运行结果,与Claude方案/方案C采用相同数据分割
关键发现
方案C为何劣于方案B: Stage 2 HIGH zone 采用 1:1:1 平衡采样,训练集规模本身有限。将特征从 13 个增至 36 个后,参数空间远超样本量,导致严重过拟合。HIGH zone Bias 从 -189g 恶化至 -373g 即为直接体现。结论:在小样本 Stage 2 上堆叠特征适得其反,改善 HIGH zone 的正确路径是扩充训练数据而非增加特征。
外部验证优于内部测试的原因: 外部集巨大儿占比仅 4.5%(vs 训练集 14.2%),几乎没有高难度的巨大儿边界样本,导致整体误差偏小,R² 偏高。这是分布偏移带来的系统性偏乐观,并非模型真实泛化能力的体现。
FH×AC 特征的稳健重要性: 宫高×胎儿腹围在 Claude 方案和方案C中均排名第一,与分类模型中 FH 排名第一的结论高度吻合,印证了该组合特征的临床预测价值。
Hadlock/Shepard EFW 公式注意事项:
- Hadlock 公式输入单位为 cm(原始数据为 mm,需 ÷10)
- Shepard 公式输出单位为 kg(需 ×1000 转为克)
最终选定方案
方案B 在 HIGH zone 表现和外部验证综合表现上最优,维持现状。
后续改善方向:扩充 HIGH zone(巨大儿)训练样本,而非继续在特征工程上做文章。
代码文件
| 文件 | 说明 |
|---|---|
方案B.ipynb | 原始 MoE 两阶段路由,当前最优 |
Claude_回归模型方案.py | 样本加权集成,外部验证与方案B持平 |
方案C_增强特征MoE.py | 增强特征实验,结果劣于方案B |
代码仓库:Hospital-Project