跳到正文
普贤 · 社医卫管

PREDICTION MODELS · A PRACTICAL READING GUIDE

机器学习预测,
先把流程走对。

面向社医卫管与健康研究的简明教程
读懂数据处理、模型比较、性能评价与解释。

本页以二分类预测为主:例如“未来 30 天是否再入院”。预测回答谁更可能出现结局;变量重要性不能直接回答改变某个因素会产生什么效果。

START HERE

先明确“在什么时候预测什么”,
再选择模型和评价方法。

示例:使用出院时已经掌握的信息,预测出院后 30 天的非计划再入院。随访结束后才能获得的检查结果、诊断更新等信息,不能放回预测时点使用。

下面是方法学习与示意,不展示个人记录、真实个体预测或未经验证的模型性能。

THE WORKFLOW

照着六步,建立完整思路

定义预测任务

写清研究人群、使用场景、预测时点、结局和时间窗;变量必须在实际预测时能够取得。

设计验证方案

按患者、机构或时间合理分组,避免同一人的记录落入两边。结合样本量选择重采样与验证方案,不机械套用固定比例。

处理数据与特征

缺失处理、编码、标准化、变量筛选和重采样都纳入训练流程;每个验证折的处理规则只能在对应训练折中学习。

比较合适的模型

先建立逻辑回归等基线,再比较与问题匹配的树模型或其他方法。候选模型尽量使用相同的验证划分。

评价并解释结果

同时看区分度、校准与决策价值,报告不确定性;再用 SHAP 或 LIME 理解预测如何形成。

锁定与进一步验证

选模、调参和阈值确定后,再进行预定的最终评估。不同机构或时间的数据验证,有助于了解适用范围。

KEEP VALIDATION INDEPENDENT

防止数据泄漏,记住这张流程图

以开发数据内部交叉验证、另有独立测试数据为例。测试数据不参与模型选择。

开发数据 → 内部交叉验证每一折:训练部分学习处理规则与模型 → 在该折验证部分评价。插补 · 标准化 · 特征选择 · 调参
如使用 SMOTE,只在训练部分实施。
完成选择后,用开发数据重拟合并锁定整套流程。
独立测试数据使用已锁定的处理规则与模型。不重新筛变量,不重新调参,不用测试表现选择阈值。用于预定的最终评价;它不自动等同于外部验证。

先在全部数据上插补、筛变量或做 SMOTE,再划分训练和测试,会让测试信息提前进入建模过程。只划分了数据,并不意味着已经避免泄漏。

MODEL FAMILIES

模型怎么选?先看特点

算法数量不是研究质量指标。选择应结合数据量、变量结构、目标、可解释性和计算成本。

模型适合关注什么建模时的重点
逻辑回归 / LASSO / 弹性网建立可解释的基线;通过惩罚约束模型复杂度。连续变量的函数形式、惩罚参数与尺度;LASSO 不是所有模型必经的筛选步骤。
决策树 / 随机森林非线性关系与变量之间的交互。树深、叶节点和抽样设置;检查过拟合及概率校准。
XGBoost / LightGBM / CatBoost以梯度提升构建集成模型。学习率、复杂度、正则化及早停;只能在开发流程内调优。
支持向量机 / KNN不同决策边界或基于相似性的分类。变量尺度、核或邻居数;分类分数与经过校准的概率需要区分。
朴素贝叶斯 / 神经网络按数据结构选择概率模型或更灵活的映射。核对假设、样本支持和训练稳定性;不能预设它们必然更好。

READ THE RESULTS

一张 ROC 图,还不够

区分度

ROC-AUC

看模型能否把发生结局的人排在风险更高的位置。AUC 高,不表示预测概率已经准确。

少数类识别

PR 曲线 / AP

关注查准率与召回率。阳性比例会影响结果,比较时需说明评价人群与具体计算指标。

概率是否可靠

校准曲线 / Brier

比较预测概率与实际发生频率。Brier 衡量概率预测的平方误差,但不能单独替代校准检查。

给定阈值

敏感度 / 特异度

同时报告阈值、混淆矩阵和阳性预测值。阈值要结合漏判与误判代价,在开发阶段确定。

决策价值

决策曲线 DCA

在有意义的阈值范围比较净获益,并与全部干预、全部不干预等策略比较。

不确定性

区间与验证

报告置信区间及验证设计。点估计略高不一定更稳定;内部表现不能代替外部适用性检验。

CALIBRATION · ILLUSTRATION

“预测 20% 风险”意味着什么?

在一群被模型预测为约 20% 风险的人中,如果实际约 20% 发生结局,说明这一概率区间的校准较好。

右图仅为概念示意,未使用实际研究数据。虚线是理想的一致关系;实线表示一种可能的偏离。

校准曲线示意横轴为预测概率,纵轴为实际发生比例。理想校准是从左下到右上的对角线。011预测概率实际发生比例虚线:理想校准

EXPLAIN THE MODEL

SHAP 与 LIME:解释预测如何形成

SHAP

可以查看总体特征贡献,也可以解释单次预测相对于基准的变化。先明确解释的是概率、对数几率还是其他模型输出,并说明背景样本与计算设置。

LIME

在某个样本附近构建局部近似模型。解释依赖扰动方式和邻域设置,需要关注稳定性;局部解释不等于全局规律。

“某个变量贡献较大”只说明模型在这一解释设置下如何使用它,不证明它是病因,也不能直接推出干预效果。

COMMON QUESTIONS

容易混淆的六件事

一定要先做单因素筛选,再进入机器学习吗?

不应把单因素显著性当作普遍的准入规则。结合预测时的可获得性、已有知识和建模策略确定候选变量;任何数据驱动筛选都需要放在训练或重采样内部。

连续变量要不要标准化?

支持向量机、KNN 和带惩罚的模型等往往需要关注尺度。树模型通常不依赖标准化。需要标准化时,仅使用当前训练部分的参数处理其他部分。

阳性样本少,就一定要 SMOTE 吗?

不一定。先关注样本量、事件数、评价指标和模型策略。若使用重采样,只在训练折内实施,验证和测试应保留目标人群的分布,并检查概率校准。

测试集得分最高的模型,就是最终模型吗?

若用测试结果挑模型,测试集就参与了选择。应在开发数据内选模,再在未参与选择的数据上进行预定的最终评价。

做成 Shiny 或 Streamlit 网页,就能用于决策了吗?

网页只是展示方式。应保留完整的预处理与模型版本,检查输入单位和取值范围;研究演示不能自动转成临床或政策决策工具。

费用、随访时间等结局也能直接套用吗?

连续费用通常需要回归评价,例如 MAE、RMSE;有删失的事件时间需要合适的生存分析。不能为方便而把未观察到结局的人全部视为阴性。

REPORTING

结果写作,至少回答这些问题

  1. 谁被纳入?在哪个时间点预测什么结局?
  2. 样本、事件、缺失情况以及数据划分如何处理?
  3. 预处理、筛变量、调参和选模是否都处于开发流程内?
  4. 在什么数据上评价?区分度、校准和不确定性分别如何?
  5. 解释结果适用于什么人群与情境?仍有哪些验证工作?

按 TRIPOD 及适用的 AI 扩展核对报告项目,并结合研究设计评价偏倚与适用性。表格和图形数量不替代完整、透明的研究报告。

PRIMARY REFERENCES

继续阅读:原始方法与官方指南

正文为方法整理与解读。算法细节、报告条目和软件实现请回到相应原文或官方文档。