临床数据建模前要想清楚的8件事

图释:临床医生做预测模型前,先过这 8 关
这张图想表达一个核心信息:不是看到数据库里有很多数据,就马上开始建预测模型。
在真正建模之前,临床研究者需要先判断:这个模型是否有临床必要性、是否有明确使用人群、是否有足够可靠的数据、是否已有现成模型可验证或更新、事件数是否足够、预测变量是否在真实临床中可获得,以及后续能否完成严格验证。
简单说,预测模型研究不是从“我有什么数据”开始,而是从:
“临床上是否真的需要预测?”
“这个预测能不能帮助医生做决定?”
“这个模型未来给谁用、什么时候用、怎么用?”
开始。
图中的 8 个步骤可以理解为一个“建模前闸门检查”:
-
先判断是否真的需要预测。
如果预测结果不会改变临床决策,也许更适合做描述性研究、解释性研究或因果研究,而不是硬做模型。 -
明确模型给谁用。
“肿瘤患者”“住院患者”“糖尿病患者”通常太宽泛。更好的说法是“新启动系统治疗的实体瘤患者”“准备出院的急性心衰患者”等。 -
确认数据库里真的有目标患者和关键数据。
数据库很大,不代表正好有你需要的人群、时间点、预测变量、结局和随访信息。 -
先查有没有现成模型。
如果已有成熟模型,优先考虑外部验证、模型更新或模型比较,而不是马上重新开发一个。 -
看事件数是否足够。
预测模型不是只看总样本量,更要看“发生了结局事件的人”够不够多。比如预测 VTE,真正关键的是 VTE 事件数,而不是肿瘤患者总数。 -
确认预测变量在真实临床中常规可得。
如果变量只存在于某个研究项目中,或者未来临床医生根本拿不到,那么模型即使表现好,也很难推广。 -
不能只追求 AUC,还要做好验证。
好模型不仅要能区分高低风险,还要预测得准、能在外部人群中稳定表现,并且要妥善处理缺失值和结局定义问题。 -
最后再把研究问题写成一句清楚的话。
一个好的预测模型研究问题应该包含:明确人群、预测时间点、可获得数据、结局、时间窗,以及模型服务的临床决策。
这张图的重点不是让医生觉得“做模型很复杂”,而是帮助医生在开始前少走弯路。只要按顺序问完这些问题,研究题目会更清楚,模型会更可信,文章也更容易写得专业。
图中专业名词解释
1. 预测模型
预测模型(prediction model) 是用患者已有信息来估计某个疾病、事件或结局发生概率的工具。
例如:
用出院前的 BNP、肌酐、血压、用药和既往住院史,预测心衰患者 30 天内再入院风险。
预测模型的目标不是解释“为什么一定发生”,而是帮助判断:
谁的风险更高?
谁需要更密切随访?
谁可能需要提前干预?
2. 风险预测
风险预测(risk prediction) 是预测某个未来事件发生的概率。
例如:
- 未来 30 天是否再入院;
- 未来 90 天是否发生 VTE;
- 未来 1 年是否发生 CKD 进展;
- 术后 30 天是否发生感染。
风险预测通常要明确两个东西:
从什么时候开始预测?
预测多长时间内的风险?
3. 目标人群
目标人群(target population) 是这个模型未来真正想服务的人群。
例如:
不够清楚:
肿瘤患者。
更清楚:
新启动系统治疗的实体瘤患者。
不够清楚:
心衰患者。
更清楚:
因急性心衰住院、即将出院的成人患者。
目标人群越清楚,模型越容易设计,也越容易被临床理解和使用。
4. Time zero
Time zero 可以理解为研究的“起跑线”或“预测起点”。
例如:
如果你要预测心衰患者出院后 30 天再入院,那么 time zero 通常是:
出院当天。
如果你要预测新启动化疗患者未来 90 天 VTE 风险,那么 time zero 可以是:
系统治疗开始日。
Time zero 很重要,因为它决定了哪些变量可以用,哪些变量不能用。
原则是:
只能使用 time zero 之前或当时已经能获得的数据。
不能使用结局发生之后才出现的信息。
5. 预测变量
预测变量(predictor) 是模型用来预测结局的信息。
例如:
- 年龄;
- 性别;
- 血压;
- BNP;
- 肌酐;
- HbA1c;
- 癌症分期;
- 既往 VTE;
- 治疗前血小板;
- 治疗前 D-dimer。
但预测变量不一定是病因。
例如年龄可以预测很多疾病风险,但年龄本身不是医生可以干预的治疗靶点。
6. 结局
结局(outcome) 是你想预测的事件。
例如:
- 死亡;
- 再入院;
- VTE;
- AKI;
- 术后感染;
- 治疗失败;
- CKD 进展;
- 抑郁复发。
结局不能写得太模糊。
比如“预后不好”就不够清楚。更好的写法是:
30 天全因再入院;
90 天症状性 VTE;
72 小时内 AKI;
28 天死亡;
6 个月治疗中断。
7. 事件数
事件数(number of events) 指的是发生了研究结局的人数。
例如,你有 10,000 名肿瘤患者,但只有 45 人发生 VTE,那么 VTE 事件数就是 45。
预测模型最怕的是:
总样本量看起来很大,但真正发生结局的人很少。
因为模型需要从“发生结局的人”和“没有发生结局的人”之间学习差异。如果事件数太少,模型容易不稳定,也容易过拟合。
8. AUC
AUC(Area Under the Curve) 是评价预测模型区分能力的常用指标。
大白话说,AUC 衡量的是:
模型能不能把高风险患者和低风险患者区分开。
AUC 越高,区分能力通常越好。
但 AUC 不是全部。
一个模型 AUC 看起来不错,也可能存在问题:
- 预测概率不准;
- 外部医院表现差;
- 变量在真实临床中拿不到;
- 结局定义不可靠;
- 只在开发数据中表现好。
所以,不能只看 AUC。
9. 校准
校准(calibration) 是看模型预测的概率准不准。
例如,模型说一组患者的 VTE 风险是 10%。
如果真实发生率也接近 10%,说明校准好。
如果真实发生率只有 2% 或高达 25%,说明模型虽然可能能区分高低风险,但概率不准。
临床使用时,校准非常重要。
因为医生不仅想知道谁风险更高,还想知道:
风险到底大概是多少?
10. 外部验证
外部验证(external validation) 是把模型拿到另一个不同数据集、不同医院、不同时间段或不同人群中测试。
例如:
- 在 A 医院开发模型;
- 到 B 医院验证;
- 或者用 2018–2021 年数据开发;
- 用 2022–2024 年数据验证。
外部验证能帮助判断模型是否真的有推广价值。
如果模型只在本院本时期表现好,换个地方就失效,那么临床价值有限。
11. 缺失值
缺失值(missing data) 是指某些患者没有某个变量记录。
例如:
- 有些患者没有 D-dimer;
- 有些患者没有 BNP;
- 有些患者没有随访结局;
- 有些患者没有完整分期信息。
在 EHR 数据中,缺失值很常见,而且很多时候不是随机缺失。
例如,医生怀疑 VTE 时才会开 D-dimer,所以“没有 D-dimer”本身也可能反映医生认为风险低。
因此,缺失值不能简单忽略,需要在研究设计和分析中说明如何处理。
12. 结局定义
结局定义(outcome definition) 是说明你如何判断患者是否发生了结局。
例如,VTE 可以有不同定义方式:
- 仅 ICD 诊断码;
- 影像确认;
- ICD 诊断码 + 抗凝治疗;
- 影像报告 + 医嘱 + 病程记录综合判断。
结局定义越清楚,研究越可信。
如果结局定义不可靠,模型再复杂也可能是在学习错误标签。
13. 现成模型
现成模型(existing prediction model) 是文献中已经开发过的模型或评分工具。
例如:
- Khorana score 用于癌症相关 VTE 风险;
- CHA₂DS₂-VASc 用于房颤卒中风险;
- HAS-BLED 用于出血风险;
- SOFA / APACHE 用于 ICU 病情严重程度和预后评估;
- Framingham risk score 用于心血管风险。
如果已有模型存在,新的研究不一定要“从零开发”。
更有价值的方向可能是:
- 外部验证;
- 本地人群更新;
- 加入新变量后比较增量价值;
- 评估模型在某个亚组中是否失准。
14. 模型更新
模型更新(model updating) 是在已有模型基础上,根据新地区、新人群或新数据进行调整。
例如:
一个国外模型在中国患者中校准不好,研究者可以用本地数据重新校准截距、系数,或加入少量新变量。
模型更新通常比“完全重新开发一个模型”更稳,也更容易说明学术价值。
15. 泛化
泛化(generalizability / transportability) 是指模型能不能从一个场景推广到另一个场景。
例如:
- 从本院推广到其他医院;
- 从三级医院推广到基层医院;
- 从西方人群推广到亚洲人群;
- 从临床试验人群推广到真实世界患者。
如果模型用了很多本院特有变量、流程变量或研究项目专有变量,泛化能力通常会比较差。
16. TRIPOD
TRIPOD(Transparent Reporting of a multivariable prediction model for Individual Prognosis Or Diagnosis) 是预测模型研究的报告规范。
大白话说,TRIPOD 会提醒你写清楚:
- 模型给谁用;
- 预测什么;
- 变量怎么定义;
- 数据怎么来;
- 缺失怎么处理;
- 模型怎么建;
- 验证怎么做;
- 校准怎么样;
- 最终模型怎么报告。
它不是用来“增加负担”的,而是帮你把文章写得更完整、更专业。
可以放在图下方的短版图注
图:临床医生开展预测模型研究前的 8 步检查。
这张图将预测模型开发前的关键判断转化为临床医生容易理解的流程:先确认预测是否真的能帮助临床决策,再明确目标人群、数据可用性、现有模型、事件数、预测变量可获得性和验证方案。只有这些问题基本清楚后,才进入正式模型开发或模型验证。这样可以避免“有数据就建模”的常见误区,使真实世界预测模型研究更稳健、更有临床价值,也更容易形成清晰的研究问题。