一文搞懂临床预测模型评价👍姐妹好强!

[新月R]当我们建立好预测模型后,如何评价我们的模型好坏呢?

[新月R]当我们建立了很多不同的模型,如何评价不同模型之间的优劣呢?

今天给大家系统介绍一下令人头疼的预测模型的评价。

[流汗R]内容来自于JAMA上面的一篇文章:Discrimination and Calibration of Clinical Prediction Models: Users’ Guides to the Medical Literature。

这篇文章详细介绍了模型评价的主要内容以及各个指标的含义及临床意义,非常推荐感兴趣的小伙伴去阅读原文。

评价模型的标准

评价一个模型的好坏可以从区分度(Discrimination)校准度(Calibration)两个方面进行。

🔹 区分度

区分度指的是一个模型能正确把人群分为患者/非患者,或者正确区分个体是处于低风险、还是处于高风险,或者正确预测患者是存活,还是死亡等的能力。

但是一个模型只具有良好的区分度是不够的,因为临床是很复杂的,并不是只要正确分类就行了。对于不同的患者,可能他们都处于高风险组,但是对于 50% 的风险和 80% 的风险,我们的处理是不一样的!

这就引出了校准度的概念,校准度指的是结合实际发生的概率和模型预测出的概率之间的一致性。所以校准度又叫一致性拟合优度(goodness of fit),校准度体现了一个模型对绝对风险预测的准确性


具有良好区分度的模型,校准度不一定很好

比如,一个模型把 A、B 两个患者(实际上就是低风险)都分为低风险组,并且 B 的风险是 A 的 3 倍,我们可以说这个模型的区分度很好,因为分类的很准!然后这个模型预测 A 的风险是 1%,B 的风险是 3%,但实际上 A 的风险是 10%,B 的风险是 30%!你看,这个模型的校准度就很差(世纪概率和预测概率相差很大)。如果使用这样的模型预测出来的结果来处理病人的话,可能就会碰到很多问题。

区分度和校准度虽然都有不足,但是一般来说,具有较差区分度的模型,其校准度也不会很好。当一个模型区分度和校准度都很差的时候,我们可以优先从提高模型区分度的角度继续。


区分度的评价

我们可以使用 ROC 曲线C-Statistic 评价。二分类变量的 AUC(曲线下面积)C-Statistic 越接近 1,模型的区分度越好。一般认为,AUC 或 C-Statistic 在 0.6 以下是低区分度,在 0.6~0.75 之间是中区分度,高于 0.75 是高区分度

ROC 线的横坐标是 1-特异度,纵坐标是 灵敏度,所以指标刚好是相反的,一个大另一个就小,所以一般我们会找一个阈值,使得曲线下面积最大。但如果考虑到临床,这种时候有时是不受的,比如,在患者有某些高危疾病(比如心梗、肺栓塞等)的风险时,我们应该采取更激进的措施进行预防,这时我们就需要更高的灵敏度,因为不想漏诊。

ROC 和 C-Statistic 也存在明显的局限性,比如在模型中新增一个预测变量可能对于预后非常重要,但是反应在 ROC 和 C-Statistic 上却变化不大,特别是在 ROC 和 C-Statistic 已经很高的时候。


校准度的评价

目前校准度的评价最好的方式还是使用 Calibration curve(Calibration plot)。通过图形可以非常直观地看到预测概率和真实概率的关系

校准度的评价可以在很多水平进行,比如,从整体角度,或者从不同的组进行等。

假如 100 个人有 20 个人发生了结局事件,那么真实概率就是 20%,我们的模型会对每个人都计算出一个概率,如果某个个体(比如 0.5),我们就认为这个人会发生结局事件,小于 0.5 就认为不会发生结局事件,那么这 100 个人每个人都得到一个概率,把 100 个人的概率加起来再除以 100,就得到模型预测的平均概率,这个概率就是从整体角度评价的。

假如把 100 个人按照预测概率大小排序,然后分成 10 组,每组 10 人,在每组内计算模型平均概率,画图与真实概率(比如一组 10 人有 3 个人发生结局事件,那么这一组的真实概率就是 30%)比较,然后把真实概率作为横坐标,预测概率作为纵坐标,就可以画出 Calibration curve,这就是从不同组的角度评价的(这是一种多参数做法)。

校准度还可以用 Hosmer-Lemeshow 检验(H-L 检验) 进行检验,若得出的 P 值小于 0.05,那说明模型的预测值和真实值之间有差异,实际上 Calibration curve 就是 Hosmer-Lemeshow 检验的结果可视化,但是也仅仅是说明有差异而已,并不能量化差异的大小。

Leave a Reply

Your email address will not be published. Required fields are marked *