DCA曲线(Decision Curve) 是一种评估预测模型的可视化方法,当前研究中多数情况下会使用ROC曲线并且计算AUC面积来衡量模型的诊断情况,也或者使用HL拟合优度检验或者校准曲线等分析模型预测准确度等,但ROC曲线等未能有效地考虑到临床决策对患者获益的程度情况,因而此时可使用DCA曲线进行分析,DCA曲线可对风险和获益情况进行综合评估,以判断临床决策是否可行,通俗地讲即DCA曲线可帮忙临床医生判断临床决策是否会‘利大于弊’。
DCA曲线中有一个‘阈值’专业名称(Threshold Value, 简写T),其是指临床决策者(比如医生)在某个点(风险概率值为多大时)时进行医疗决策的切分点,由不同‘阈值’时的“获益值”组合形成的曲线则称作DCA曲线,临床医生需要在最适合的‘阈值’时进行决策,那么通过DCA曲线可找到通过最优‘阈值’辅助临床医生做决定。此处“获益值”的计算涉及较多公式,接下来会具体说明。
首先涉及样本量,即数据行数,使用字母n表示,阈值使用字母T值表示。接着按照金标准及模型预测值(按某阈值时)将数据划分,划分后得到四个数字,如下表格:
金标准(阳) | 金标准(阴) | |
---|---|---|
预测值(阳性) | TP | FP |
预测值(阴性) | FN | TN |
TP表示金标准为阳性且预测值也为阳性时,类似地,FN表示金标准为阳性且预测值为阴性时,FP和TN的意义类似不再赘述。接着可计算得到TP率(tp_rate),其为TP/n,类似地还可计算FP率(fp_rate),其为FP/n。接着可计算获益值(net benefit),其计算公式如下:
上式理解上,其表示阳性时进行干预带来收益,减去阴性误判时带来的损失(此时需乘上阈值)。当然,我们也可分别计算阳性组(或者阴性组)时的获益值(net benefit treated),阳性组时其计算公式如下:
类似地,还可计算出阴性组时获益值,其计算公式如下:
除此之外,DCA曲线中还包括‘Treat All’,其意义为无论如何均进行治疗干预决策,其计算公式如下:
Treat all表示如何均治疗决策,那么还有一种情况即无论如何均不治疗干预决策,此种情况的获益值固定为0,使用treat none表示。计算得到各个指标数据后,将横坐标作为‘阈值’T,并且分别计算得到不同‘阈值’时的net benefit,treat all,treat none(无论如何为0)进行绘制曲线,即可得到DCA曲线。
当前有一份50个样本数据并且构建过1次二元Logit回归(并且得到其模型预测值),以及构建了两次Cox回归(并且分别得到2次模型的预测风险函数值),真实值即金标准数据,如下图所示:
DCA曲线的计算并不复杂,但需要理解其实际的意义,尤其是对‘阈值’的理解,其表示在预测概率为某个值时,临床开始进行决策干预(比如做手术)时的临界点,不同‘阈值’时得到不同的‘收益值’,将不同‘阈值’与‘收益值’一并绘制的曲线即称为DCA曲线。研究者可对DCA曲线进行分析,查看不同‘阈值’时对应的收益值高低,做出科学的临床决策。
本例子中操作截图如下,将3个预测值放入‘预测概率值’框中,便于将3条DCA曲线放在一张图中更直接对比和查看,操作如下图所示。
当前有3个预测值,SPSSAU会循环输出3个预测概率值对应的DCA曲线,并且会将3个DCA曲线全部绘制在一个图里面便于对比使用等。
从上图可以看到,随着阈值的加大,即从0开始的时候干预,此时‘获益’最大,但实务中不可能在阈值为0时进行干预,反倒从图中可以看到大约在0.6时,获益值有着相对小幅度的上升,可能阈值在0.6时进行干预较为适合(0.5时通常为阳性和阴性的分界点),与此同时,Treat all呈现出逐渐下降趋势,并且在约0.49的时候获益为0。
上图上可以看到,随着阈值提高,获益值不断地减少,并且并没有非常明显的‘价值点’,即某阈值时获益值较大,在0.5 附近时获益值接近为0。此种情况是由于模型预测准确度非常低所致,类似还有下图也表现出同样的效果。
上图并无明显的价值,其是因为模型预测很差导致,在阈值为0.5时,获益值为负数。
上图展示3个预测值时DCA曲线的合并图,需要注意的是,获益值的计算上是可以出现负数,而且可能为较大的负数值,正如上图所示,为更好地查阅图形,建议可设置坐标值的纵轴,比如上图可设置最小值为-2,最大值为2,然后得到更适合的图形,否则可能由于某个数据非常小,导致其余的线条相对大小无可视化效果,正如上图treat all非常小导致另外3条曲线看上去完全平行为0。
DCA曲线分析涉及以下几个关键点,分别如下:
DCA曲线的解读上,建议先理解其计算公式,然后再查阅,尤其是阈值的理解,并且treat值,treat all和treat none这三个指标的计算原理情况,具体查阅本文档前述公式。