驚艷!小白也能畫出精美的ROC曲線,速來一試(附全套代碼)
本文主要以一篇基于logistic回歸構(gòu)建預(yù)測模型的文章為例,分別用R語言和風(fēng)暴統(tǒng)計(jì)免費(fèi)在線平臺對預(yù)測模型驗(yàn)證過程中經(jīng)常用到的ROC曲線繪制和AUC曲線下面積計(jì)算進(jìn)行復(fù)現(xiàn)。
今日文章分為三部分
1. 文章解讀
2. R語言復(fù)現(xiàn)
3. 小白美化ROC曲線的方法
文章解讀
案例文獻(xiàn)是一篇基于SEER公共數(shù)據(jù)庫的一項(xiàng)回顧性研究,旨在開發(fā)和驗(yàn)證列線圖以預(yù)測腦轉(zhuǎn)移的非小細(xì)胞肺癌患者早期死亡。

一、摘要
背景:在非小細(xì)胞肺癌(NSCLC)的整個(gè)病程中,很多患者會(huì)出現(xiàn)預(yù)后差、死亡率高的腦轉(zhuǎn)移(BM)。然而,很少有模型能預(yù)測有腦轉(zhuǎn)移的NSCLC患者的早期死亡(ED)。我們旨在開發(fā)列線圖來預(yù)測NSCLC腦轉(zhuǎn)移患者ED。
方法:從監(jiān)測、流行病學(xué)和最終結(jié)果(SEER)數(shù)據(jù)庫中選取了2010年至2015年間患有BM的NSCLC患者。納入標(biāo)準(zhǔn)如下:(I)患者經(jīng)病理診斷為NSCLC;(II)患者患有BM。患者按7:3的比例隨機(jī)分為兩組,分別為訓(xùn)練組和驗(yàn)證組。采用單因素和多因素Logistic回歸方法來確定伴有BM的NSCLC患者發(fā)生ED的危險(xiǎn)因素。建立了兩個(gè)列線圖,并通過校準(zhǔn)曲線、ROC曲線和決策曲線分析(DCA)進(jìn)行了驗(yàn)證。隨訪數(shù)據(jù)包括生存月數(shù)、死因和生命狀態(tài)。初次診斷后3個(gè)月內(nèi)的死亡定義為ED,終點(diǎn)為全因ED和癌癥特異性ED。
結(jié)果:共納入了4,920名患有BM的NSCLC患者,并隨機(jī)分為兩個(gè)隊(duì)列(7:3),包括訓(xùn)練隊(duì)列(n=3,444)和驗(yàn)證隊(duì)列(n=1,476)。全因ED和癌癥特異性ED的獨(dú)立預(yù)后因素包括年齡、性別、種族、腫瘤大小、組織學(xué)、T分期、N分期、分級、手術(shù)、放療、化療、骨轉(zhuǎn)移和肝轉(zhuǎn)移。所有這些變量都用于建立列線圖。在全因ED和癌癥特異性ED的列線圖中,訓(xùn)練數(shù)據(jù)集的ROC曲線下面積分別為0.813(95% CI:0.799-0.837)和0.808(95% CI:0.791-0.830),驗(yàn)證數(shù)據(jù)集的ROC曲線下面積分別為0.835(95% CI:0.805-0.862)和0.824(95% CI:0.790-0.849)。此外,校準(zhǔn)曲線證明預(yù)測的ED與實(shí)際值一致。DCA臨床應(yīng)用前景良好。
結(jié)論:列線圖可用來預(yù)測患者死亡的具體概率,有助于治療決策和重點(diǎn)護(hù)理,以及醫(yī)患溝通。
本文構(gòu)建logistic預(yù)測模型并做內(nèi)部驗(yàn)證,思路框架清晰,案例十分典型。先拆分?jǐn)?shù)據(jù)集為訓(xùn)練集和驗(yàn)證集,比例為7:3,驗(yàn)證集用于進(jìn)行內(nèi)部驗(yàn)證。然后做基線描述,比較訓(xùn)練集和驗(yàn)證集的基線差異性,再做單因素和多因素logistic回歸,將單因素P值小于0.05的因素納入到多因素回歸模型中。再根據(jù)多因素回歸的結(jié)果構(gòu)建列線圖預(yù)測模型,并對模型進(jìn)行驗(yàn)證,繪制ROC、校準(zhǔn)曲線及DCA曲線,模型比較穩(wěn)定。
今天我們對本文的ROC曲線繪制展開復(fù)現(xiàn)。研究者以非小細(xì)胞癌腦轉(zhuǎn)移患者全因早死和癌癥特異性早死為因變量,下表是本文所研究的影響因素基線情況。

二、研究結(jié)果
1.列線圖預(yù)測模型的建立
利用訓(xùn)練隊(duì)列中多元邏輯回歸的預(yù)后因素,建立了列線圖預(yù)測模型??偡挚梢酝ㄟ^將每個(gè)變量的分?jǐn)?shù)相加來計(jì)算,表明每個(gè)患者的ED的全因/癌癥特異性概率。

2.列線圖預(yù)測模型的驗(yàn)證
對于全因和癌癥特異性ED的列線圖模型,ROC曲線顯示,訓(xùn)練隊(duì)列中的AUC分別為0.813(95%CI:0.799-0.837)和0.808(95%CI:0.791-0.830),驗(yàn)證隊(duì)列中的AUC分別為0.835(95%CI:0.805-0.862)和0.824(95%CI:0.790-0.849)。

R語言復(fù)現(xiàn)
根據(jù)文章的納排標(biāo)準(zhǔn),從SEER數(shù)據(jù)庫提取數(shù)據(jù),并通過篩選、整理得到數(shù)據(jù)集total,將數(shù)據(jù)按照7:3拆分為訓(xùn)練集train和驗(yàn)證集test,并展開分析。本文重點(diǎn)復(fù)現(xiàn)文章中訓(xùn)練集ROC曲線的繪制。
1、安裝和加載R包,導(dǎo)入train數(shù)據(jù)集,共14個(gè)自變量,均為定性數(shù)據(jù)。經(jīng)過單因素及多因素logistic回歸,包括年齡、性別、種族、腫瘤大小、組織學(xué)、T分期、N分期、手術(shù)、放療、化療、骨轉(zhuǎn)移、肝轉(zhuǎn)移均納入構(gòu)建預(yù)測模型。
2.添加新變量,計(jì)算訓(xùn)練集預(yù)測概率。
代碼解讀:
train_model1:是從glm繼承的模型對象,即通過多因素Logistic回歸構(gòu)建的模型;newdata:選定數(shù)據(jù)框;
type: 表示預(yù)測種類。默認(rèn)是歸一化的線性預(yù)測; responses是歸一化的響應(yīng)變量。因此對于一個(gè)二分類模型,默認(rèn)是log-odds (logit歸一化的概率),然而type="response"給出的是預(yù)測概率。"erms"返回一個(gè)矩陣提供在線性預(yù)測下模型公式中每一項(xiàng)的擬合值。
3.計(jì)算AUC去線下面積

詳情請點(diǎn)擊下方:
https://mp.weixin.qq.com/s?__biz=MzAwOTYyMDY3OQ==&mid=2650407323&idx=1&sn=5b53749db722a62642aec53a97e1714a&chksm=83527c33b425f525f4f95f6c843915a7b4850595bf9258a170455b31e3ff6e5baf0d8a4f97e5&token=1814709572&lang=zh_CN#rd
