R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解

7.评价预测模型——C指数,NRI,IDI计算 理解即为343人在新旧模型中被认为是低风险,21在新模型中为中风险,旧模型中为低风险,1人在新模型中高风险,旧模型中低风险,以此类推。在阴性组,预测阳性的概率比旧模型的小。在table3中,c1是原来模型没有预测对,新模型预测对的,同样的道理,b1是原来模型预测对,但新模型给预测错的,于是(c1 − b1)/N1便是疾病组或者event组增加的重分类的正确比。若IDI>0,则为正改善,说明新模型比旧模型的预测能力有所改善,若IDI<0,则为负改善,新模型预测能力下降,若IDI=0,则认为新模型没有改善。 阅读详情
AI摘要

本文介绍了在评估模型性能改进时,ROC曲线和AUC的传统方法可能不足,特别是在引入新变量时。文章重点讲解了综合判别改善指数(IDI)和净重分类指数(NRI),这两个指标用于量化新生物标志物对现有测试的附加价值,通过比较模型对个体分类的改变来评估模型增强效果。,

对于分类预测模型的表现评估我们最常见的指标就是ROC曲线,报告AUC。比如有两个模型,我们去比较下两个模型AUC的大小,进而得出两个模型表现的优劣。这个是我们常规的做法,如果我们的研究关注点放在“在原模型新引入一个预测变量,模型的效果会不会提高时”,这个时候ROC就常常会显得力不从心,因为通常加入一个变量AUC不会有太大的变化,且AUC不好解释。

When evaluating the improvement of predictive performance of a predictive model after incorporating a new marker, the improvement of C-Statistic/AUC is always small, therefore the new marker sometimes fails to significantly improve C-Statistic/AUC.

这时,就需要用到我们今天要讲的综合判别改善指数IDI, 净重分类指数NRI指标。

Two new metrics, the integrated discrimination improvement (IDI) and net reclassification improvement (NRI), have been rapidly adopted to quantify the added value of a biomarker to an existing test.

净重分类指数NRI

一个新的指标或者新的模型是不是会提高分类效果,最终会体现在人数上,从这个角度考虑,我们可以去对比两个模型或者不同的指标对研究对象的正确划分情况,从而得到结论。

就是说我们的旧模型会把研究对象分类为患者和非患者,新的模型也会把研究对象分类为患者和非患者。此时比较新、旧模型对于研究人群的分类变化,就会发现有一部分研究对象原本在旧模型中被错分,但在新模型中得到了正确划分;同样也有一部分研究对象,原本在旧模型中分类正确,但在模型中却被错分,因此研究对象的分类在新、旧模型中会发生变化,我们利用这种重新分类的变化,来计算净重新分类指数NRI。

为了更好理解这种变化我们看下表:

在table3中,c1是原来模型没有预测对,新模型预测对的,同样的道理,b1是原来模型预测对,但新模型给预测错的,于是(c1 − b1)/N1便是疾病组或者event组增加的重分类的正确比。

同样我们可以得到非疾病组中(table 4)中增加的重分类正确比为(b2 − c2)/N2。

The NRIevents is the net proportion of patients with events reassigned to a higher risk category and the NRInonevents is the number of patients without events reassigned to a lower risk category

于是NRI = (c1 − b1)/N1 + (b2 − c2)/N2

因为NRI表示的是重分类的正确个案占比的增加量,所以NRI>0,则为正改善,说明新模型比旧模型的预测能力有所改善;若NRI<0,则为负改善,新模型预测能力下降;若NRI=0,则认为新模型没有改善。

综合判别改善指数IDI

刚刚我们介绍了NRI,NRI是从新旧模型的对个案预测正确数量占比增加的角度评估模型的,再换一种思路我们可以从概率增加的角度反映模型的优劣。

就是说在疾病组,模型预测阳性的概率要尽可能大,在非疾病组模型预测阳性的概率要尽可能小,通过模型的预测概率差值依然可以得到一个评价指数。如果新模型比原模型:在阳性组,预测阳性的概率比旧模型的大;在阴性组,预测阳性的概率比旧模型的小。那么就可以说明新模型比旧模型好。

这个指数就是IDI

IDI = (Pnew,events–Pold,events) – (Pnew,non-events – Pold,non-events)

其中Pnew,events表示在疾病组新模型的预测阳性概率,Pold,non-events表示在非疾病组旧模型的预测阳性概率。

就是说,IDI就等于疾病组新旧模型的预测阳性概率的差值减去非疾病组新旧模型预测阳性概率的差值(因为对于非疾病组模型预测阳性的概率应该是越小越好,所以中间是减号)这样IDI越大越说明新模型比旧模型预测效果更好。若IDI>0,则为正改善,说明新模型比旧模型的预测能力有所改善,若IDI<0,则为负改善,新模型预测能力下降,若IDI=0,则认为新模型没有改善。

做法实操

在R语言中我们可以用reclassification函数很方便地得到NRI和IDI,这个函数接受5个参数,参数说明如下图:

第一个是data是原始数据集,cOutcome参数是结局在原始数据集中的列的位置,比如原来数据集第二列是结局变量,cOutcome就设定为2;然后依次是旧模型和新模型的预测风险值,最后一个参数cutoff是模型分类的风险值截断点。

比如我现在有数据集如下

结局在数据集的第二列,我想比较只有age、sex的模型1和有age、sex、education的模型2,在设定预测风险值0.5为类别划分标准时两个模型的分类表现。在拟合好model1和model2后我可以写出如下代码:

model1 <-  glm(formula = `outcome(AMD)` ~Age  +Sex, family = binomial("logit"), data = Data)
model2 <-  glm(formula = `outcome(AMD)` ~Age  +Sex+ Education, family = binomial("logit"), data = Data) 
predRisk1 <- predRisk(model1)
predRisk2 <- predRisk(model2)
cutoff <- c(0,.5,1)    
reclassification(data=ExampleData, cOutcome=cOutcome, 
predrisk1=predRisk1, predrisk2=predRisk2, cutoff)

运行代码后输出结果如下:

可以看到在风险截断值为0.5的时候NRI(Categorical)为0,说明增加edu的模型并没有使得分类模型变得更好。同时结果中也给出了NRI(Continuous)和IDI的点估计、p值和置信区间。均可以在论文中加以报告。

到这儿NRI和IDI就给大家介绍完了,大家以后在进行2个疾病模型比较,或者2个指标诊断效能比较时,除了传统的ROC曲线及其AUC,也可以同时给出NRI和IDI,更加全面多层次的展示模型的改善情况。

when comparing diagnostic power of two markers or comparing two predictive models, we could use not only AUC、C-statistics but also NRI and IDI, which could give a comprehensive perspective on how much the predictive performance improves.

we could not calculate NRI or IDI of one predictive model. IDI and NRI are calculated from the comparison of two models. One model does not have IDI or NRI.

文献推荐:
https://cdn.amegroups.cn/journals/amepc/files/journals/16/articles/29812/public/29812-PB1-1696-R4.pdf

R语言实战:用PredictABEL和nricens包搞定NRI/IDI计算(附生存与非生存数据完整代码) 本文详细介绍了如何使用R语言的PredictABEL和nricens包计算净重新分类指数(NRI)和综合判别改善指数(IDI),适用于临床预测模型评估。通过生存与非生存数据的完整代码示例,帮助研究者掌握模型比较的关键技术,提升预测模型的评估能力。 阅读详情

相关推荐

R语言实战:别再只看AUC了,手把手教你用NRI和IDI评估模型改进效果

本文通过R语言实战演示了如何使用NRI(净重新分类指数)和IDI(综合判别改善指数)评估模型改进效果,弥补了传统AUC指标的不足。详细介绍了NRI和IDI的计算原理、R语言实现步骤及结果解读方法,帮助数据分析师和医学研究者更全面地评估预测模型的分类能力提升。

weixin_32520095的博客 353

DCA、NRI、IDI

1、DCA 横坐标:阈值概率。判断结局变量发生的概率,发生就界定为阳性,采取治疗措施,产生治疗获益(利)。这个时候会有非病人治疗产生的伤害以及病人未治疗的损失(弊),纵坐标就是利减去弊之后的净获益(Net Benefit)。---阳性治疗就会产生获益,无论什么治疗 坐标中横着的线,表示净获益为0,所有人都不治疗;斜着的线表示样本都是阳性,所有人都接受治疗。模型曲线越远离这两条线就越好,净获益越大。 这个图的解释就是,假定我们选择预测概率为60%诊断模型肾病并进行治疗,100个使用模型C的患者,有1

LoganEvan的博客 7631

R新旧模型、计算净重新分类指数(NRI)和整体鉴别指数(IDI)详解及实战

R计算净重新分类指数(NRI,net reclssification improvement)和整体鉴别指数(IDI,integrated discrimination improvement) 在构建多因素预测模型之后,我们通过AUC评价discrimination。但如果在这些因素的基础上增加新的biomarker或者genotype时,得到的新的AUC的变化可能会不太大,但是新的biomarker或者genotype可能真的有预测作用,所以通过NRI(net reclssification i.

data+scenario+science+insight 1万+

综合判别改善指数 IDI

本文摘自:两个预测模型比较,再教你一招IDI 之前的博客中介绍了AUC(曲线下面积)和NRI(净重分类改善指数)两个指标来评估模型的Discrimination能力,实际上NRI还有个孪生兄弟——IDI(Integrated Discrimination Improvement,综合判别改善指数)。 IDI是由Pencina等人于2008年提出的,应该说算是一个非常新的判别指标了。由于它考虑了...

FanJin的博客 1万+

计算净重新分类指数和整体鉴别指数详解及 Python

净重新分类指数(Net Reclassification Index,NRI)和整体鉴别指数(Integrated Discrimination Improvement,IDI)是在医学统计学和预测模型评估中常用的指标。通过计算净重新分类指数和整体鉴别指数,可以客观地评估新模型相对于旧模型的改进程度。它衡量了新模型在正确重新分类的患者中的改进程度,以及错误重新分类的患者中的改进程度。通过比较旧模型和新模型的分类结果,计算净重新分类指数(NRI)并返回结果。分别表示旧模型和新模型的预测概率,

ByteWhiz的博客 986

计算净重新分类指数(NRI)和整体鉴别指数(IDI)探究及实战 Python

最后,根据两次分类结果,统计在新模型中预测正确且原模型预测错误的样本数,以及在新模型中预测错误且原模型预测正确的样本数。净重新分类指数(Net Reclassification Improvement,NRI)和整体鉴别指数(Integrated Discrimination Improvement,IDI)是用于评估新的预测模型相对于旧的预测模型的性能提高程度的指标。这可以通过计算在初始模型和新模型中真正例的提高量以及假正例的降低量来实现。接着,将新的预测因子加入到模型中,再次分类,计算新模型的误差率。

qq_39605374的博客 1840

一文搞懂临床预测模型的评价

本文首发于公众号:医学和生信笔记 “ 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。 当我们建立好预测模型后,如何评价我们的模型好坏呢? 当我们建立了很多不同的模型,如何评价不同模型之间的优劣呢? 这一篇主要就是讲这些,其实就是一些概念的理解,但其实不理解也问题不大,只要你会计算,会画图,写文章时把这些指标都写上就够了! 目前模型评价的主要内容都是来自于2017年发表于JAMA上面的一篇文章

医学和生信笔记的博客 5226

R语言临床预测模型的评估指标与验证指标:综合判别改善指数IDI

在R语言中,我们可以使用多种评估指标来评估临床预测模型,其中包括综合判别改善指数(Integrated Discrimination Improvement,IDI)。通过计算IDI,我们可以比较不同模型之间的预测能力,从而选择最佳的预测模型。它基于模型的预测概率,衡量了在新模型中高风险个体的预测概率是否更高,低风险个体的预测概率是否更低。预测概率可以是模型的输出,而实际观察值通常是已知的事件发生情况(如二分类问题中的0和1),用于评估模型的预测准确性。函数,传入相应的参数,计算并打印IDI的值。

2301_79330511的博客 474

临床预测模型构建全流程:从数据准备到临床应用的13个关键步骤

临床预测模型作为医疗数据分析的核心技术,通过统计学和机器学习方法将患者特征转化为疾病风险预测。其基本原理是基于历史数据建立变量与结局的数学关系,从而实现对个体患者的精准风险评估。在技术价值层面,预测模型能够量化医疗决策依据,提高诊疗效率和准确性。典型应用场景包括疾病筛查、预后评估、治疗决策支持等医疗环节。数据质量控制是模型可靠性的基础,涉及缺失值处理、异常值检测等关键步骤。模型验证则通过内部交叉验证和外部独立验证确保泛化能力,其中逻辑回归、Cox模型等传统方法因其可解释性在临床实践中广泛应用。本文以临床预测

weixin_33895516的博客 419

R语言临床预测模型的评价指标与验证指标实战:自定义的综合判别改善指标(Integrated Discrimination Improvement, IDI)函数

R语言临床预测模型的评价指标与验证指标实战:自定义的综合判别改善指标(Integrated Discrimination Improvement, IDI)函数 目录 R语言临床预测模型的评价指标与验证指标实战:自定义的综合判别改善指标(Integrated Discrimination Improvement, IDI)函数 #样例数据 #自定义IDI函数 #样例数据 id gold v1 v2 1 1 1 0 2 1 0 0 3 1 1 0 4 1 1 1 5 1 1 0 6 1

data+scenario+science+insight 1256

R语言临床预测模型的评价指标与验证指标实战:综合判别改善指数IDI(Integrated Discrimination Improvement, IDI)

R语言临床预测模型的评价指标与验证指标实战:综合判别改善指数IDI(Integrated Discrimination Improvement, IDI) 目录 R语言临床预测模型的评价指标与验证指标实战:综合判别改善指数IDI(Integrated Discrimination Improvement, IDI) #综合判别改善指数 #二分类结局的IDI计算 #生存资料结局的IDI计算 #综合判别改善指数IDI #二分类结局的IDI计算 ##here co...

data+scenario+science+insight 1868

R语言实现计算净重新分类指数(NRI)和综合判别改善指数(IDI)

R语言实现计算净重新分类指数(NRI)和综合判别改善指数(IDI)

weixin_49320263的博客 4319

强化学习 reward 曲线可视化:从基础绘制到顶刊级对比分析

本文详细介绍了强化学习reward曲线的可视化方法,从基础绘制到顶刊级对比分析。通过matplotlib和seaborn的实战示例,展示了如何优化曲线图的视觉效果,包括多实验对比、置信区间添加和分面图应用。文章还分享了顶刊级图表的进阶技巧,如字体排版、颜色选择和关键标注,帮助研究者提升论文图表质量。

weixin_29096377的博客 272

净重新分类指数NRI的计算

本文首发于公众号:医学和生信笔记 “ 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。 NRI,net reclassification index,净重新分类指数,是用来比较模型准确度的,这个概念有点难理解,但是非常重要,在临床研究中非常常见,是评价模型的一大利器! 在R语言中有很多包可以计算NRI,但是能同时计算logistic回归和cox回归的只有nricens包,PredictABEL

医学和生信笔记的博客 4498

AC7811无感FOC实战:从开环到闭环的电机控制调试全记录

本文详细记录了基于国产AC7811芯片实现无感FOC电机控制的全过程。从硬件软件环境搭建、开环I/F启动调试,到滑模观测器参数整定,再到平滑切入闭环及双环PID调节,提供了完整的实战步骤与参数调试心法。文章重点分享了无感控制从开环到闭环切换的关键技巧与常见问题排查清单,为工程师提供了一份避坑指南。

kotlin6android的博客 714

VC Spyglass:Lint实战指南之TCL脚本自动化解析

本文详细介绍了如何利用TCL脚本实现VC Spyglass Lint检查的自动化流程。通过实战指南,从基础脚本编写到高级参数化技巧,帮助数字IC设计工程师摆脱手动操作,提升验证效率,并实现与CI/CD流程的集成。

h3i4j的博客 799

临床预测模型之综合判别改善指数IDI计算

完美观看体验请至公众号查看本文。,专注R语言在临床医学中的使用,R语言数据分析和可视化。IDI,综合判别改善指数,也适用于评价不同模型优劣的,比起NRI,IDI能够从整体角度对模型进行评价,和NRI一起使用效果更佳!

医学和生信笔记的博客 3306

MCU中GPIO口的驱动方式

MCU中GPIO口的驱动方式 导读: MCU芯片中GPIO口的驱动方式大的可分为输出和输入两类,小的分可以分为8种。 一、四种输入方式 ①上拉输入: 上拉输入抗干扰能力强,特别适合接地信号的输入(比如低电平有效的按键信号输入)。其工作原理如图1所示。 I/O 端口与TTL 施密特触发器之前接入了一个30K~50K 欧姆的上拉电阻,当I/O 端口悬空时,此时MCU 也能读到稳定的高电平状态,...

优快云Frewen的博客 3376

净重新分类改善指数 NRI

本文摘自:比较两个疾病模型的预测能力(医咖会是个不错的学习平台) 分类模型不仅可以用AUC进行评价,还可以使用NRI对模型准确性进行比较。尤其是在多分类问题中,AUC可能不够方便或直观,此时NRI的价值就突显出来了。另外,有时候两个模型的AUC没有统计学差异,但是NRI却可以检验出统计学差异(2008年发表在Stat Med杂志上的文章《Evaluating the added predicti...

FanJin的博客 1万+

基于cat12搞定SBM的ROI的统计分析——vertex水平和ROI水平的双样本T检验

前言 一、Atlas皮层图谱介绍 二、SBM分析——主要以皮层四种常用指标中的厚度(thickness)和沟深(depth)为主

Sophia2023的博客 8757

爬虫小例--爬药监局(上)

”明月如霜,好风如水,清景无限 “ 文远最近也算是爬虫入门吧,相信后面会慢慢熟悉。 壹 直接上例子,爬取药监局的数据。目的是得到每家公司的详情数据,例: 具体网址:http://scxk.nmpa.gov.cn:81/xk/ 这是主页,下面详情信息: 贰 分析,通过网页检查发现,主网页上没有公司相关数据,观察XHR中的Ajax请求发现,公司信息都是动态数据(方便更新),点击发现每个公司 的详情信息通过ID号这个参数区别,那么可以确定思路是先得到每个公司的ID号,然后在通过ID对应每一个详细网站,同样右键

john_ashley的博客 4558

手把手教你R语言行NRI分析

NRI(Net reclassification index)指净重新分类指数,用于我们在临床上比较新旧模型的效能,比如说:平时我们都用心电图评估心梗,现在有了新的指标肌钙蛋白,我们想了解肌酐蛋白联合心电图评估心梗和单用心电图哪个模型更好。我们知道一个模型建立后能产生一个切点,把一个人群分切阳性组和阴性组,新模型的建立后阳性组和阴性组肯定和原来模型不同,假阳性和假阴性也不同,NRI主要比较的是重新分布这类人群的真阳性和真阴性情况,原理我就不说了,说的也没别人说得好,看下面图片解释(图片来源于公众号:解螺旋)

dege857的博客 5478

tidymodels搞定二分类资料多个模型评价和比较

本文首发于公众号:医学和生信笔记 “ 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。 前面介绍了很多二分类资料的模型评价内容,用到了很多R包,虽然达到了目的,但是内容太多了,不太容易记住。 今天给大家介绍一个很厉害的R包:tidymodels,一个R包搞定二分类资料的模型评价和比较。 一看这个名字就知道,和tidyverse系列师出同门,包的作者是大佬Max Kuhn,大佬的上一个作品是ca

医学和生信笔记的博客 2517

一文搞懂自适应激光控制技术,开启光学新时代

自适应激光控制技术作为现代光学领域的关键技术,以其独特的原理和高效的工作机制,在科研、工业等众多领域展现出了巨大的应用价值。通过对激光波前的实时测量与补偿,它成功克服了激光在传输和应用过程中面临的诸多挑战,显著提升了激光的光束质量和应用效果。在科研领域,它助力天文观测突破大气湍流的限制,让我们得以更清晰地窥探宇宙的奥秘;在激光核聚变研究中,为实现高效的核聚变反应提供了关键支持,为解决能源问题带来了新的希望。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2530

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

R语言如何在生存分析与Cox回归中计算IDI,NRI指标

我们围绕生存分析技术进行一些咨询,帮助解决独特的业务问题。

拓端研究室TRL 1269

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: R数据分析:反事实框架和因果中介的理论理解
下一篇: R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析
公众号Codewar原创作者
博客等级 码龄7年 2025粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公众号Codewar原创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值