【R语言】净重新分类指数NRI及其R语言实现
0. 引言
- 净重新分类指数
(net reclassification imporvement, NRI)
是运用较多的比较新旧模型预测效果的方法NRI
关注的是在诊断截点处,通过考察使用新模型 后个体预测概率的变化情况,或个体被重新分类的情况,得出新模型比旧模型使得不同组别个体更有 利于分到正确组的概率,并对两组预测概率的改善求和
关于NRI
更多的介绍可以参考两种比较模型预测效果的评价指标及其R实现
1. NRI
指数
1.1 理论
净重新分类指数NRI
评价的是在两模型采用最优诊断截点进行预测时,与旧模型相比,使用新模型使得个体的预测结果得到改善的概率,包括两个部分:
- 事件发生组:在R中以
NRI+
表示 - 事件不发生组:在R中以
NRI-
表示
以预测结局为患病和不患病的研究为例,当各自选定好了最佳阈值(最佳阈值选取方法)之后,我们可以得到一个混淆矩阵。
依据这个混淆矩阵,我们可以计算NRI指数:
#event1
和#nonevent0
分别表示患病组和不患病组中新模型预测正确而旧模型预测错误的人数(b1
和c2
),也即在新模型发生改善的人数。#event0
和#nonevent1
分别表示患病组和不患病组中新模型预测错误而旧模型预测正确的人数(c1
和b2
),也即在新模型发生恶化的人数。- 本质上,
NRI
指数等于新模型灵敏度与特异度之和减去旧模型灵敏度与特异度之和,在数值上也相当于新模型的约登指数减去旧模型的约登指数
1.2 R语言实现
方法一:使用PredictABEL包实现
# 安装包
# install.packages('PredictABEL')
library('PredictABEL')
reclassification(data=data, cOutcome = 7, predrisk1 = pred1, predrisk2 = pred2, cutoff = c(0, 0.5,1))
注解:
data
为数据集;cOutcome = 7
表示数据及中的第七列为标签列;cutoff
为模型阈值pred1
旧模型的预测值,pred2
为新模型的预测值,pred1
和pred2
都是连续变量,大小介于0和1之间。
方法二:使用nricens包实现
# install.packages('nricens')
library('nricens')
NRIb = nribin(event = labels, p.std = pred1, p.new = pred2, updown = 'category', cut=0.5)
注解:
event
为标签;cut
为模型阈值p.std
旧模型的预测值,p.new
为新模型的预测值,p.std
和p.new
都是连续变量,大小介于0和1之间。
2. 参考文献
- 李彤阳, 林卓琛, 葛琪, 陈雯和张晋昕. 2019. 《两种比较模型预测效果的评价指标及其R实现》. 肿瘤预防与治疗 32 (11): 1018–23.
- https://cloud.tencent.com/developer/article/1468008
- https://www.rdocumentation.org/packages/PredictABEL/versions/1.2-4/topics/reclassification
- https://www.rdocumentation.org/packages/nricens/versions/1.6/topics/nribin
【R语言】净重新分类指数NRI及其R语言实现相关推荐
- R语言临床预测模型的评价指标与验证指标实战:净重新分类指数NRI(Net Reclassification Index, NRI)
R语言临床预测模型的评价指标与验证指标实战:净重新分类指数NRI(Net Classification Index, NRI) #净重新分类指数NRI
- R语言临床预测模型的评价指标与验证指标实战:自定义的净重新分类指数NRI(Net Reclassification Index, NRI)函数
R语言临床预测模型的评价指标与验证指标实战:自定义的净重新分类指数NRI(Net Reclassification Index, NRI)函数 目录
- 净重新分类指数NRI的计算
本文首发于公众号:医学和生信笔记 " 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化.主要分享R语言做医学统计学.meta分析.网络药理学.临床预测模型.机器学习.生物 ...
- R新旧模型、计算净重新分类指数(NRI)和整体鉴别指数(IDI)详解及实战
R计算净重新分类指数(NRI,net reclssification improvement)和整体鉴别指数(IDI,integrated discrimination improvement) NR ...
- c语言编程 新浪博客,[c语言编程]经典编程
用pi/4=1-1/3+1/5-1/7+...公式求PI的近似值,直到最后一项的绝对值小有10的-6次方为止. #include main() {int i=-1; float j,s=0.0; fo ...
- c语言创建新指针,如何用c语言创建一个指针
您总是可以将指针强制转换为整数,即整数大小比系统中使用的字节指针大3位.然后在向左移动3位后移动指针.然后将位信息存储在最低有效3位上. 然后可以用正常算术递增该整数"位指针". ...
- R语言创建新变量方法
R语言创建新变量方法 在数据分析中,可能需要对数据进行求和.求均值等处理,并且将处理后的数据重新保存到原来的数据框中,这里提供三种可供解决的方法: 数据框$变量名 <- 表达式.若原数据框中含有 ...
- r语言 新增一列数字类型_R语言实战(2)——创建数据集【学习分享】
往期回顾: R语言实战(1)--R语言介绍[学习分享] 引言:上一章我们通过简单的例子了解了R语言及R语言能实现的一些功能,本期我们将一起学习R中的数据结构,以及向R中导入数据的方法. 2.1 数据结 ...
- r语言 siar 代码_sair方法及R操作入门——稳定同位素之食物来源比例分析
(本文于2016-10-5 20:29 首发于 "科学网") 在稳定同位素领域,20世纪70 80 年代开始,利用碳氮稳定同位素来研究食物网结构成为有力的技术手段,以弥补传统的胃含 ...
最新文章
- 【 FPGA 】状态机,FPGA的灵魂
- 三天没有更新我的BLOG
- 肖仰华:知识图谱与认知智能
- mac 下使用wireshark监听网络上的数据
- sql 大数据量插入优化
- Jenkins pipeline 入门到精通系列文章
- [MOSS开发]:带托管代码的infopath2007表单创建, 发布,应用
- Redis 性能问题排查:slowlog 和排队延时
- IAR基础教程之函数跳转
- 第二章 IOC的配置使用 --《跟我学Spring》笔记 张开涛
- git操作时:遇到提示Unable to create ‘D:/xxx/.git/index.lock‘: File exists.的解决办法解决方案
- 简单个人网页制作 个人介绍网页模板 静态HTML留言表单页面网站模板 大学生个人主页网页
- 基于docker实现人人影视CVNT虚拟化多开,基于selinum实现自动化点击程序
- 文档管理利器--云脉文档自动分类快速检索
- java微信公众号素材管理系统_微信公众平台后台素材管理
- 首战告捷!网易有道斩获首届NLPCC中文语法错误修正比赛冠军
- 蓝牙 韦东山_韦东山生活实例演绎法讲解蓝牙
- 通过Debug命令行清除BIOS Setup密码
- matlab标准化和归一化,matlab归一化标准化
- 单片机多功能电子琴课设_基于单片机的电子琴设计(最终版)最新版
热门文章
- 电脑播放视频显示服务器运行失败是怎么回事,WINCC打不开项目,服务器运行失败-工业支持中心-西门子中国...
- 塞梅普雷斯 如是说 (第一部/14.朋友) (草)
- 买充电宝主要看什么参数?性能最好的充电宝推荐
- 不能忽略的现货白银短线操作小技巧
- 剑指Offer——二维数组的查找(C语言)
- 入党积极分子思想汇报
- Unity的动态字库字体超出字库图片尺寸导致字体花屏
- qcolor获得HTML颜色,QColor中的预定义颜色
- linux启动盘进入命令行,CDLinuxU盘启动命令行到图形界面
- nacos--基础--4.4--集成--SpringBoot--Naming模块