TCGA+biomarker——Calibration curve

通常情況下,通過以下幾種指標(biāo)來對(duì)模型進(jìn)行評(píng)價(jià)
1)區(qū)分度:采用指標(biāo)C-index和ROC曲線來評(píng)價(jià)區(qū)分度,一般文章都是二選一。

  • C-index即一致性指數(shù)(index of concordance),通過評(píng)估模型預(yù)測(cè)結(jié)果與實(shí)際觀察結(jié)果的符合程度,以評(píng)價(jià)模型的預(yù)測(cè)準(zhǔn)確性。
  • ROC曲線,展示特異性和敏感性,ROC曲線下的面積被稱為AUC,它介于0.5和1之間,作為數(shù)值可以直觀的評(píng)價(jià)分類器的好壞,值越大越好。
    2)校準(zhǔn)度:通常采用校準(zhǔn)曲線(calibration curve)來進(jìn)行評(píng)價(jià)一致性/校準(zhǔn)度,即預(yù)測(cè)值和真實(shí)值之間的差異
    3)DCA:決策曲線(DCA)用來幫助確定高風(fēng)險(xiǎn)的患者進(jìn)行干預(yù)、低風(fēng)險(xiǎn)的患者避免過度醫(yī)療。
    image

這里先介紹Calibration curve...................

校準(zhǔn)曲線簡(jiǎn)介

Calibration curve,直譯過來就是校準(zhǔn)曲線或校準(zhǔn)圖。其實(shí),校準(zhǔn)曲線就是實(shí)際發(fā)生率和預(yù)測(cè)發(fā)生率的散點(diǎn)圖。實(shí)質(zhì)上,校準(zhǔn)圖曲線是把Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)的結(jié)果可視化。目前校準(zhǔn)曲線常用來評(píng)價(jià)logistic回歸和cox回歸模型。

校準(zhǔn)曲線案例
image

不同數(shù)據(jù)集的校準(zhǔn)曲線

image

不同時(shí)間的校準(zhǔn)曲線

image

不同模型的校準(zhǔn)曲線

校準(zhǔn)曲線解讀
image

解讀:橫坐標(biāo)為預(yù)測(cè)的事件發(fā)生率(Predicted Probablity),縱坐標(biāo)是觀察到的實(shí)際事件發(fā)生率(Actual Rate),范圍均為0到1,可以理解為事件發(fā)生率(百分比)。對(duì)角線的虛線是參考線,即預(yù)測(cè)值=實(shí)際值的情況。紅線是曲線擬合線,兩邊帶顏色部分是95%CI。

  • 如果預(yù)測(cè)值=觀察值,則紅線與參考線完全重合
  • 如果預(yù)測(cè)值>觀察值,即高估了風(fēng)險(xiǎn),則紅線在參考線下面
  • 如果預(yù)測(cè)值<觀察值,即低估了風(fēng)險(xiǎn),則黑線在參考線上面
如何繪制校準(zhǔn)曲線?

經(jīng)過查閱多個(gè)教程,校準(zhǔn)曲線就是以預(yù)測(cè)值為X軸,真實(shí)值為Y軸繪制,Hosmer-Lemeshow擬合優(yōu)度檢驗(yàn)結(jié)果的可視化的圖。真實(shí)值即為status值,比如生存(0:生;1:死),0—1代表了真實(shí)的死亡風(fēng)險(xiǎn)。預(yù)測(cè)值是根據(jù)構(gòu)建好的模型預(yù)測(cè)出每個(gè)患者的死亡風(fēng)險(xiǎn),采用predict()函數(shù)返回風(fēng)險(xiǎn)評(píng)分值,并將該評(píng)分值加以轉(zhuǎn)化成更為直觀的風(fēng)險(xiǎn)值。在得到真實(shí)值和預(yù)測(cè)值的基礎(chǔ)上進(jìn)行校準(zhǔn)曲線的繪制和顯著性檢驗(yàn)。以下是兩種比較簡(jiǎn)單的矯正曲線方法,但成圖都比較單調(diào),不夠美觀。方法1采用的是rms包的calibrate函數(shù)(輸入構(gòu)建模型即可,簡(jiǎn)單)。方法2先計(jì)算出預(yù)測(cè)值和真實(shí)值,然后用plotCalibration函數(shù)繪圖。

#-------------------------------------校準(zhǔn)曲線(方法1)--------------------------------
rm(list = ls())
# install.packages("survival")
# install.packages("rms")

library(survival)
library(rms)
#載入并查看數(shù)據(jù)集
data("lung") #status中1代表活著,2代表死了. sex中male=1,female=2
head(lung)
str(lung)

#構(gòu)建回歸模型
## 參數(shù)說明:
## 1、繪制校正曲線前需要在模型函數(shù)中添加參數(shù)x=T, y=T,詳細(xì)參考幫助
## 2、u需要與之前模型中定義好的time.inc一致,即365或730;
## 3、m要根據(jù)樣本量來確定,由于標(biāo)準(zhǔn)曲線一般將所有樣本分為3組(在圖中顯示3個(gè)點(diǎn)),而m代表每組的樣本量數(shù),因此m*3應(yīng)該等于或近似等于樣本量;
## 4、b代表最大再抽樣的樣本量
res.cox1 <- cph(Surv(time, status) ~ age+sex+ph.ecog+ph.karno+pat.karno, data = lung,surv=T,x=TRUE, y=TRUE,time.inc=365)

## 構(gòu)建校正曲線
## calibrate函數(shù)適用于ols, lrm, cph or psm返回對(duì)象
cal <- calibrate(res.cox1, cmethod='KM', method="boot",u=365,m=38,B=228)
plot(cal,lwd=2,lty=1,
     errbar.col=c(rgb(0,118,192,maxColorValue=255)),
     xlab="Nomogram-Predicted Probability of 1-Year OS",
     ylab="Actual 1-Year DFS (proportion)",
     col=c(rgb(192,98,83,maxColorValue=255)))

#------------------------------------校準(zhǔn)曲線(方法2)--------------------------------------
rm(list = ls())
#install.packages("PredictABEL")
library(PredictABEL)
library(rms)
library(survival)
#載入并查看數(shù)據(jù)集
data("lung") #status中1代表活著,2代表死了
head(lung)
lung$status <- ifelse(lung$status==1,0,1)

#構(gòu)建模型并繪制校準(zhǔn)曲線
res.cox2 <- cph(Surv(time,status) ~., data = lung,surv=T,x=TRUE, y=TRUE)
newdata <- lung[101:200,] #用來校準(zhǔn)的數(shù)據(jù),這里從源數(shù)據(jù)中調(diào)取了部分
pred.lg<- predict(res.cox2,newdata) #每位患者的風(fēng)險(xiǎn)評(píng)分
newdata$prob <- 1/(1+exp(-pred.lg)) #將pred.lg做數(shù)據(jù)轉(zhuǎn)化,數(shù)值更直觀
prob <- newdata$prob 
plotCalibration(newdata,3, prob, groups=10)  #3為結(jié)局指標(biāo)所在列數(shù)

總結(jié): 校準(zhǔn)曲線是一種評(píng)價(jià)模型的方法,在實(shí)際項(xiàng)目中應(yīng)該是構(gòu)建好模型,然后評(píng)價(jià)模型,改善模型,確定最終模型(C-index/ROC/DCA結(jié)果表明模型合格),最后對(duì)模型進(jìn)行可視化展示(如森林圖、列線圖,生存點(diǎn)圖等)。

往期回顧
TCGA+biomarker——常見結(jié)果展示
TCGA+biomarker——Sample基線表
TCGA+biomarker——單因素Cox回歸
TCGA+biomarker——多因素Cox回歸
TCGA+biomarker——Cox回歸森林圖
TCGA+biomarker——Nomogram列線圖

更多內(nèi)容可關(guān)注公共號(hào)“YJY技能修煉”~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容