本文摘自:比较两个疾病模型的预测能力(医咖会是个不错的学习平台)
分类模型不仅可以用AUC进行评价,还可以使用NRI对模型准确性进行比较。尤其是在多分类问题中,AUC可能不够方便或直观,此时NRI的价值就突显出来了。另外,有时候两个模型的AUC没有统计学差异,但是NRI却可以检验出统计学差异(2008年发表在Stat Med杂志上的文章《Evaluating the added predictive ability of a new marker: from area under the ROC curve to reclassification and beyond》是一个典型例子)。更为客观的模型评价可以结合AUC和NRI综合分析。
相对于AUC,NRI更关注在某个设定的切点处,两个模型把研究对象进行正确分类的数量上的变化。简单的说,首先旧模型会把研究对象分类为患者和非患者,然后在旧模型的基础上引入新的指标构成新模型,新模型会把研究对象再重新分类成患者和非患者。
此时比较新、旧模型对于研究人群的分类变化,就会发现有一部分研究对象,原本在旧模型中被错分,但在新模型中得到了纠正,分入了正确的分组,同样也有一部分研究对象,原本在旧模型中分类正确,但在新模型中却被错分,因此研究对象的分类在新、旧模型中会发生一定的变化,我们利用这种重新分类的现象,来计算净重新分类指数NRI。
那么如何计算NRI值呢,方法其实也很简单。首先我们将研究对象按照真实的患病情况分为两组,即患者组和非患者组,然后分别在这两个分组下,根据新、旧模型的预测分类结果,整理成两个2×2的表格,如下表所示。
我们主要关注被重新分类的研究对象,从表中可以看出,在患者组(总数为N1),新模型分类正确而旧模型分类错误的有B1个人,新模型分类错误而旧模型分类正确的有C1个人,那么新模型相对于旧模型来说,正确分类提高的比例为(B1-C1) / N1,即对角线以上的比例-对角线以下的比例。
同理,在非患者组(总数为N2),新模型分类正确而旧模型分类错误的有C2个人,新模型分类错误而旧模型分类正确的有B2个人,那么新模型相对于旧模型正确分类提高的比例为(C2-B2) / N2,即对角线以下的比例-对角线以上的比例。
最后,综合患者组和非患者组的结果,新模型与旧模型相比,净重新分类指数NRI= (B1-C1) / N1+(C2-B2) / N2
若NRI>0,则为正改善,说明新模型比旧模型的预测能力有所改善;若NRI<0,则为负改善,新模型预测能力下降;若NRI=0,则认为新模型没有改善。我们可以通过计算Z统计量,来判断NRI与0相比是否具有统计学显著性,统计量Z近似服从正态分布,公式如下:
进一步将NRI的公式推导可以得出:
NRI =(灵敏度new - 灵敏度old)+(特异度new - 特异度old)=(灵敏度new + 特异度new)-(灵敏度old + 特异度old)
问题就转化为我们熟悉的灵敏度和特异度这两个指标了。
如果灵敏度new >灵敏度old,特异度new >特异度old,此时可认为新模型优于旧模型,相当于这里的NRI >0;
如果灵敏度new <灵敏度old,特异度new < 特异度old,此时可认为新模型劣于旧模型,相当于这里的NRI <0;
如果新模型和旧模型的灵敏度和特异度具有差异,但方向不一致时,就需要用到约登指数(灵敏度+特异度-1)来进行判断,而此时NRI就相当于新模型和旧模型的约登指数的差值,因此NRI在比较两个模型预测能力时更具有综合性。
NRI可分为Absolute NRI(绝对NRI)和Additive NRI(相加NRI),详情请参考JAMA上的一篇文献:《Discrimination and Calibration of Clinical Prediction Models》,本文大致介绍一下。我们常说的NRI其实就是Additive NRI,即Additive NRI= (B1-C1) / N1+(C2-B2) / N2;而Absolute NRI= (B1-C1 + C2-B2) / (N1+N2)。
相加NRI的值可以从2~-2,即新模型完全分类正确时为2,反之为-2;绝对NRI的值从1~-1。相加NRI的主要局限性就是没有考虑发生与不发生时间的两拨人在总体中的分布情况。绝对NRI以总体为分母,则回避了这个局限。相加较为常用,但应结合具体场景选择。
NRI最早用于分类模型,而对于生存数据,需要先将其转化成分类数据,但这样会产生数据的信息损失。因此之后(2011年前后)有人将其扩展到了生存数据中,但是需要事先确定好评估的时间节点和风险概率的界值。
NRI的扩展,参考R包:nricens
NRI的扩展,参考文献:
Extensions of net reclassification improvement calculations to measure usefulness of new biomarkers
Several methods to assess improvement in risk prediction models: Extension to survival analysis
NRI还可分为Categorical NRI 和 Continuous NRI,我们平时一般计算的是Categorical NRI,就是事先确定好cutoff值,将风险分类;而Continuous NRI会计算各个风险分层的分类改善情况,因此不需要事先给定cutoff值。一般来说首选计算Categorical NRI。
《Discrimination and Calibration of Clinical Prediction Models》的中文解读可参考:如何判断一个诊断模型的好坏
NRI的R语言实现可参考:NRI的R语言计算 及 净重新分类指数(NRI)的计算原理与方法
NRI计算的工具包(首选nricens包):
包的名称 | 下载地址 | 分类资料 | 生存资料 | 分类NRI | 连续NRI |
---|---|---|---|---|---|
Hmisc | CRAN | improveProb | 不支持 | 不支持 | 支持 |
nricens | CRAN | nribin | nricens | 支持 | 支持 |
PredictABEL | CRAN | reclassification | 不支持 | 支持 | 支持 |
survNRI | github | survNRI | 支持 | 不支持 | 不支持 |
参考资料:比较两个疾病模型的预测能力