R語言機(jī)器學(xué)習(xí)與臨床預(yù)測模型25--凈重新分類指數(shù)

本內(nèi)容為【科研私家菜】R語言機(jī)器學(xué)習(xí)與臨床預(yù)測模型系列課程

R小鹽準(zhǔn)備介紹R語言機(jī)器學(xué)習(xí)與預(yù)測模型的學(xué)習(xí)筆記

你想要的R語言學(xué)習(xí)資料都在這里然遏, 快來收藏關(guān)注【科研私家菜】


01 什么是凈重新分類指數(shù)NRI?

凈重新分類指數(shù)NRI(Net Reclassification Index, NRI)評價(jià)的是在兩模型采用最優(yōu)診斷截點(diǎn)進(jìn)行預(yù)測時(shí)胚嘲,與舊模型相比畏鼓,使用新模型使得個體的預(yù)測結(jié)果得到改善的概率盹廷,包括兩個部分:

  1. 事件發(fā)生組:在R中以NRI+表示
  2. 事件不發(fā)生組:在R中以NRI-表示
    以預(yù)測結(jié)局為患病和不患病的研究為例派昧,當(dāng)各自選定好了最佳閾值之后,我們可以得到一個混淆矩陣谬以。
    NRI用于我們在臨床上比較新舊模型的效能,比如說:平時(shí)我們都用心電圖評估心梗由桌,現(xiàn)在有了新的指標(biāo)肌鈣蛋白为黎,我們想了解肌酐蛋白聯(lián)合心電圖評估心梗和單用心電圖哪個模型更好。我們知道一個模型建立后能產(chǎn)生一個切點(diǎn)行您,把一個人群分切陽性組和陰性組铭乾,新模型的建立后陽性組和陰性組肯定和原來模型不同,假陽性和假陰性也不同娃循,NRI主要比較的是重新分布這類人群的真陽性和真陰性情況炕檩。
方法1 nricens包
# install.packages('nricens')
library('nricens')
NRIb = nribin(event = labels,  p.std = pred1, p.new = pred2, updown = 'category', cut=0.5)
# event為標(biāo)簽;cut為模型閾值
# p.std舊模型的預(yù)測值捌斧,p.new為新模型的預(yù)測值笛质,p.std和p.new都是連續(xù)變量,大小介于0和1之間捞蚂。
方法2 PredictABEL包
# install.packages('PredictABEL') 
library('PredictABEL')
reclassification(data=data, cOutcome = 7, predrisk1 = pred1, predrisk2 = pred2, cutoff = c(0, 0.5,1))
# data為數(shù)據(jù)集妇押;cOutcome = 7表示數(shù)據(jù)及中的第七列為標(biāo)簽列;cutoff為模型閾值
# pred1舊模型的預(yù)測值姓迅,pred2為新模型的預(yù)測值敲霍,pred1和pred2都是連續(xù)變量,大小介于0和1之間丁存。

02 R語言實(shí)現(xiàn)

library(nricens)
library(survival)
library(foreign)
bc <- read.spss("survival agec.sav",
                use.value.labels=F, to.data.frame=T)
bc <- na.omit(bc)#刪除缺失值

names(bc)
time<-bc$time#生成時(shí)間變量
status<-bc$status#生成結(jié)局變量
j1<-as.matrix(subset(bc,select = c(age,pathsize,pr,er)))#舊模型變量肩杈,要以矩陣形式,不能有缺失值解寝,不然會報(bào)錯
j2<-as.matrix(subset(bc,select = c(age,pathsize,pr,er,ln_yesno))) #新模型變量扩然,要以矩陣形式,不能有缺失值聋伦,不然會報(bào)錯
mod.std<-coxph(Surv(time,status)~ .,data.frame(time, status,j1),x=TRUE)#生成舊模型COX回歸函數(shù)
mod.new<-coxph(Surv(time,status)~ .,data.frame(time, status,j2),x=TRUE) #生成新模型COX回歸函數(shù)
p.std = get.risk.coxph(mod.std, t0=48)#生成預(yù)測函數(shù)
p.new = get.risk.coxph(mod.new, t0=48)#生成預(yù)測函數(shù)
nricens(mdl.std = mod.std, mdl.new = mod.new, t0 = 48, cut = c(0.2, 0.4),
        niter = 100,alpha = 0.05,updown = 'category')#cut分臨床切點(diǎn)夫偶,分為高中低風(fēng)險(xiǎn),niter為重抽樣次數(shù)嘉抓,category為分類的意思索守,alpha為置信區(qū)間

我們要關(guān)注NRI+這個值晕窑,它是正值表示抑片,新模型優(yōu)于舊模型,最后生成圖表

還按分類變量及廣義線性模型來處理杨赤,要先設(shè)置一下時(shí)間變量敞斋,和結(jié)局變量截汪,其他操作一樣的

bc= bc[ bc$time > 48| (bc$time < 48 & bc$status == 1), ]#重新定義一下數(shù)據(jù)
status1= ifelse(bc$time < 48 & bc$status == 1, 1, 0)#重新定義下結(jié)局變量
j3<-as.matrix(subset(bc,select = c(age,pathsize,pr,er)))
j4<-as.matrix(subset(bc,select = c(age,pathsize,pr,er,ln_yesno)))
mstd1= glm(status1 ~ ., binomial(logit), data.frame(status1, j3), x=TRUE)
mnew1= glm(status1 ~ ., binomial(logit), data.frame(status1, j4), x=TRUE)
nribin(mdl.std=mstd1, mdl.new = mnew1, cut = c(0.2, 0.4),
       niter = 1000, updown = 'category')
效果如下:

關(guān)注R小鹽,關(guān)注科研私家菜(VX_GZH: SciPrivate)植捎,有問題請聯(lián)系R小鹽衙解。讓我們一起來學(xué)習(xí) R語言機(jī)器學(xué)習(xí)與臨床預(yù)測模型

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市焰枢,隨后出現(xiàn)的幾起案子蚓峦,更是在濱河造成了極大的恐慌,老刑警劉巖济锄,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暑椰,死亡現(xiàn)場離奇詭異,居然都是意外死亡荐绝,警方通過查閱死者的電腦和手機(jī)一汽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來低滩,“玉大人召夹,你說我怎么就攤上這事∷∧” “怎么了监憎?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長婶溯。 經(jīng)常有香客問我枫虏,道長,這世上最難降的妖魔是什么爬虱? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任隶债,我火速辦了婚禮,結(jié)果婚禮上跑筝,老公的妹妹穿的比我還像新娘死讹。我一直安慰自己,他們只是感情好曲梗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布赞警。 她就那樣靜靜地躺著,像睡著了一般虏两。 火紅的嫁衣襯著肌膚如雪愧旦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天定罢,我揣著相機(jī)與錄音笤虫,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛琼蚯,可吹牛的內(nèi)容都是我干的酬凳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼遭庶,長吁一口氣:“原來是場噩夢啊……” “哼宁仔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起峦睡,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翎苫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后榨了,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拉队,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年阻逮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了粱快。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡叔扼,死狀恐怖事哭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓜富,我是刑警寧澤鳍咱,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站与柑,受9級特大地震影響谤辜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜价捧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一丑念、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧结蟋,春花似錦脯倚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宝惰,卻和暖如春植榕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背尼夺。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工尊残, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炒瘸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓夜郁,卻偏偏與公主長得像什燕,于是被迫代替她去往敵國和親粘勒。 傳聞我的和親對象是個殘疾皇子竞端,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容