兩個模型比較,與第一個模型相比,NRI=(重新分對的 - 重新分錯的)/總?cè)藬?shù)。IDI=(新模型患者平均預(yù)測概率-舊模型患者平均預(yù)測概率)-(新模型非患者平均預(yù)測概率-舊模型非患者平均預(yù)測概率)。NRI=0無改善,>0新模型優(yōu)于舊模型。IDI正值且越大越好。
1、非生存資料:廣義線性模型
library(PredictABEL)
#數(shù)據(jù)集
data1<-data.frame(a=rnorm(n=1000,mean=6,sd=5),
b=rnorm(1000,30,9),
c=rnorm(1000,17,8),
cOutcome=sample(c(0,1),1000,replace=T))
#建模
model_1<-glm(cOutcome~.,data1,family="binomial")
model_2<-glm(cOutcome~a+c,data1,family="binomial")
#計算NRI和IDI
pre1<-predRisk(model_1)
pre2<-predRisk(model_2)#=model_2$fitted.values
reclassification(data = data1, cOutcome = 4,
predrisk1 = pre1, predrisk2 = pre2, cutoff = c(0,0.6,1))
NRI<0,第二個模型較第一個模型差,降低了0.23%(IDI),但是均為統(tǒng)計學(xué)意義。
2、生存資料
#生存資料:CoIDI_NRI回歸
library(survival)
data(cancer)
colnames(lung)
lung<-na.omit(lung)
coIDI_NRI1<- coIDI_NRIph(Surv(time, status) ~age+ph.ecog,
data=lung,IDI_NRI=T)
coIDI_NRI2 <- coIDI_NRIph(Surv(time, status) ~.,
data=lung,IDI_NRI=T)
#install.packages("nricens")
#1 利用nricens包
library(nricens)
nricens(mdl.std = coIDI_NRI1,
mdl.new = coIDI_NRI2,
t0 = 100,
cut = c(0.2, 0.4),
niter = 10)
#2 利用survIDINRI包
#install.packages("survIDINRI")
library(survIDINRI)
help(package="survIDINRI")
data_2 <- lung[,c("time","status")]
covs0 <- lung[,c("age","sex")]
covs1 <- lung[,c("age","sex","ph.ecog","ph.karno")]
IDI_NRI<-IDI.INF(data_2,covs0 = as.matrix(covs0),
covs1=as.matrix(covs1),
t0=500,
npert=10)
IDI.INF.OUT(IDI_NRI)
?文章來源:http://www.zghlxwxcb.cn/news/detail-649382.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-649382.html
到了這里,關(guān)于R語言實現(xiàn)計算凈重新分類指數(shù)(NRI)和綜合判別改善指數(shù)(IDI)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!