一文看懂临床预测模型必会四图:ROC、校准曲线、DCA曲线与列线
在临床预测模型的研究中,构建模型只是第一步。如何证明你的模型能不能“分得清”、“准不准”、“有多准”以及“好不好用”,才是决定论文能否发表在核心期刊的关键。在预测模型研究中,最常见的四类图形包括:
-
ROC 曲线:评价模型的区分能力
-
校准曲线:评价模型预测概率的准确性
-
DCA 决策曲线:评价模型的临床应用价值与净获益
-
列线图:构建个体化预测工具,实现可视化评分与风险计算
今天,我们就来深度拆解预测模型评估中的四大可视化图形:ROC曲线、校准曲线、DCA决策曲线、列线图。
一、ROC曲线
ROC曲线(受试者工作特征曲线)是评估模型区分度最直观的工具。它回答的是:模型能不能准确区分出“患病者”和“健康者”。
1、ROC曲线简介
ROC曲线示例图如下:
-
X轴横坐标为1-特异性(假阳性率):指本来未患病的人被诊断为阳性,即在阴性人群中检测为阳性的概率,希望该值越低越好;
-
Y轴纵坐标为敏感度(真阳性率):指实际中患病的人被诊断为阳性的,即在阳性人群中检测出阳性的概率,希望该值越高越好。
理论上,若一项诊断试验具有完美的判别能力,其ROC曲线应经过坐标图左上角,此时敏感度与特异性均达到100%。而当ROC曲线接近对角线时,则表明该试验的判别能力接近随机水平,无法有效区分患病与未患病个体。因此,在ROC曲线分析中,曲线越接近左上角,通常意味着模型的区分能力越强,诊断效能越高。
2、AUC值
ROC曲线的核心指标是曲线下面积AUC,用于评估预测准确性和诊断试验价值。AUC越大,预测效果越好;AUC越小,则预测效果较差。其取值范围为0.5至1,对应的判断标准如下:
-
AUC=0.5:说明完全无预测诊断价值,预测准确率和猜测效果一样;
-
0.5<AUC<0.7:预测诊断价值很低,此种情况相对较常见;
-
0.7≤AUC<0.9:预测诊断价值高,此种情况较常见;
-
AUC≥0.9:说明预测诊断价值高,此种情况较好;
-
AUC=1,是完美预测没有瑕疵,绝大多数情况下,不存在完美的预测诊断。
3、SPSSAU软件绘制
将数据上传至SPSSAU平台,在【可视化】模块选择【ROC曲线】,将变量拖拽至右侧对应分析框中,可选择勾选是否需要“Delong对比”和“联合诊断”结果,操作如下图:
点击“开始分析”按钮,即可得到ROC曲线相关结果,如下图:
更多关于ROC曲线的知识与案例解读可点击查看下方帮助手册:ROC曲线
二、校准曲线
如果ROC负责“分得清”,那校准曲线就负责“估得准”。它评估的是模型预测的患病概率与实际发生概率的一致性。即模型预测的30%风险,实际上是不是真的有30%的人发病?
1、校准曲线简介
校准曲线示例图如下:
-
X轴横坐标为模型预测概率:将样本按预测风险分成若干组,每组的平均预测概率。
-
Y轴纵坐标为实际发生概率:每组中实际发生结局的比例。
2、校准曲线解读
校准曲线图中那条倾斜 45° 的虚线,代表预测概率与实际发生概率完全一致(例如:模型预测风险为 50%,实际真的有 50% 的人发病)。
-
评判标准:曲线越靠近这条虚线,模型的校准能力越强。
-
如果在虚线下方:代表模型高估了风险(模型预言 40%,实际只有 30% 发病)。
-
如果在虚线上方:代表模型低估了风险(模型预言 20%,实际有 30% 发病)。
分析上图表现:本图中的蓝色实线在左半段稍低于虚线,右半段非常贴合,说明模型整体校准度良好,但在低风险区间有轻微的高估。
3、SPSSAU软件操作
校准回归通常是在二元logit回归和Cox回归之后使用它,二元Logit回归后,将预测概率值和真实的01二分类值进行绘制校准曲线,Cox回归时,将预测的风险函数值与真实的01生存状态值进行绘制校准曲线。
例如SPSSAU【二元logit】回归时,勾选“保存残差和预测值”,操作如下图:
得到预测值之后,进行校准曲线分析。在【实验/医学研究】模块,选择【校准曲线】,将真实值和预测概率值分别拖拽至右侧对应分析框中,操作如下图:
点击“开始分析”按钮,即可得到校准曲线结果:
更多关于校准曲线的知识与案例解读可点击查看下方帮助手册:校准曲线
三、DCA决策曲线
ROC和校准曲线只解决了数学上的准确性,而DCA决策曲线分析解决了临床获益问题。它回答的是:医生根据这个模型做决策,患者得到的“净获益”是否比盲目治疗更好?
1、DCA曲线简介
DCA曲线描述的是临床决策的“性价比”。
-
阈值:指临床干预的临界点(如:风险达到多少时开始手术)。
-
获益值:指扣除误诊损失后的净收益。
将不同“底线”与其对应的“收益”连成线,就成了 DCA。通过分析这条线,研究者能科学判断模型在多大的风险范围内具有实用价值,从而辅助决策。
DCA曲线示例图如下:
-
X轴横坐标为阈值概率:
代表临床医生或患者对干预措施(如手术、化疗)的心理接受底线。如果你认为某个病有10%的可能性是恶性的就愿意动手术,那你的阈值就是0.1。它反映了对风险的承受能力。
-
Y轴纵坐标为净获益:
代表使用模型进行医疗干预后,患者得到的“实际好处”。它综合考虑了“找对人的收益”减去“找错人的损失”。数值越高,代表这个模型带来的临床价值越大。
很多人被DCA决策曲线分析的定义绕晕,其实说白了特别简单:它就是帮医生算一笔账——如果你把 “要不要干预 / 动手” 的阈值设在X,这个模型能帮你多赚到多少 “净收益” Y。把所有可能的阈值 X 和对应的净收益Y连起来,画成一条曲线,就是DCA曲线。它直接决定了你的预测模型,在临床上到底有没有用、值不值得用。
2、DCA曲线解读
在DCA图中,系统会自动生成两条极端情况下的基准线,作为衡量模型的参照线。
-
Treat None全不干预基准线(图中绿色虚线):
假设对所有患者都不进行任何干预(比如都不动手术)。因为没有任何投入也没有任何收益,所以其净获益永远为 0。它是所有预测模型的底线。如果模型曲线低于这条线,说明用模型还不如直接“撒手不管”。
-
Treat All全干预基准线(图中蓝色虚线):
假设对所有患者都进行干预(比如不论风险高低,全部拉去动手术)。这条线通常从左上角向右下角剧烈倾斜。随着阈值概率提高,全干预方案的净获益会迅速下降,甚至变成负数。它代表了传统医疗中“宁可错杀一千,不可放过一个”的极端做法。它展示了盲目过度医疗带来的巨大损失。
在解读 DCA 时,重点看模型线是否显著高于基准线。只要实线在虚线上方,就意味着这个模型在临床实践中是有“盈利”的,能够帮医生在减少不必要干预的同时,不漏掉真正的病人。
3、SPSSAU软件操作
在【实验/医学研究】模块,选择【DCA曲线】,将真实值和预测概率值分别拖拽至右侧对应分析框中,操作如下图:
点击“开始分析”即可得到DCA曲线结果,如下图:
更多关于DCA曲线的知识与案例解读可点击查看下方帮助手册:DCA曲线
四、列线图
列线图是一张把复杂的统计模型(比如 Logistic 回归或 Cox 回归)变成一张“可视化评分卡”的图。
1、列线图简介
列线图将模型中的各个影响因素(如年龄、性别等)分别画成带刻度的横线,并给每个因素赋分,只需要根据实际情况在图上打分、求和,就能一眼看出最终结果发生的概率。列线图示例如下:
-
Points单项得分:
这是全图的“标尺”。列线图会将每个影响因素(如性别、年龄)对结果的影响大小,统一换算为0-100分。线段越长,代表该变量对最终结果的影响权重越大。
-
变量轴:
图中展示了“药物组别”、“性别”、“年龄”等预测指标。找到某位患者的具体情况(例如:选择“传统治疗”)。垂直向上投影到第一行的 Points 轴上,读出该项的得分(约 98 分)。依次读出所有变量的得分。
-
Total Points总得分
代表所有变量得分相加后的累计总分。它衡量了患者整体的风险程度。分值越高,说明患者面临的负面结局(如死亡或发病)风险越大。
-
Linear Predictor线性预测值
这是统计学模型(如 Cox 或 Logistic 回归)输出的原始预测值。通常作为中间计算步骤,在实际临床应用中较少直接使用,主要用于展示模型的数学逻辑。
-
预测结局 (10 weeks survival)
这是列线图最核心的“预言”结果。将 Total Points 计算出的总分,垂直向下投影到此行。如果一位患者的总分为 100 分,向下对应到的生存概率约为 0.78 (78%)。这意味着该患者在 10 周后的生存概率预计为 78%。
2、SPSSAU软件操作
SPSSAU中进行列线图时,其共支持二元Logit回归和Cox回归两类模型,并且均支持放入定类或者定量数据,在【实验/医学研究】模块,选择【列线图】,操作如下图:
点击“开始分析”按钮,即可得到列线图分析结果,如下图:
针对以上列线图的解读,首先计算出各项X因素的得分,比如某个病人,使用传统治疗方式并且是女性并且50以下,那么分别对应的分值Points分别是:100、2左右和42左右,那么3项Points加和的Total
Points为144分左右,其对应的‘10
weeks
survival’大约为0.69左右,也即意味着10周的生存率为69%左右。
更多关于列线图的知识与案例解读可点击查看下方帮助手册:列线图