歡迎來到醫(yī)科研,,這里是白介素2的讀書筆記,,跟我一起聊臨床與科研的故事, 生物醫(yī)學(xué)數(shù)據(jù)挖掘,R語言,,TCGA,、GEO數(shù)據(jù)挖掘。 Cox比例風(fēng)險模型診斷 Cox比例風(fēng)險模型的建立是基于幾個假設(shè)之上的,,因此一般建好模型后需要進(jìn)行診斷,,評估擬合的模型是否能夠用于描述數(shù)據(jù)
診斷的內(nèi)容包括: 對上述三方面的診斷,常見的方法為殘差法,。 Schoenfeld 殘差用于檢驗(yàn)比例風(fēng)險假定,; Deviance 殘差用于影響點(diǎn)(異常值)識別; Martingale殘差用于非線性檢驗(yàn),;
載入survival and survminer library("survival") library("survminer")
計算cox模型 library("survival") res.cox <- coxph(Surv(time, status) ~ age + sex + wt.loss, data = lung) res.cox ## Call: ## coxph(formula = Surv(time, status) ~ age + sex + wt.loss, data = lung) ## ## coef exp(coef) se(coef) z p ## age 0.0200882 1.0202913 0.0096644 2.079 0.0377 ## sex -0.5210319 0.5939074 0.1743541 -2.988 0.0028 ## wt.loss 0.0007596 1.0007599 0.0061934 0.123 0.9024 ## ## Likelihood ratio test=14.67 on 3 df, p=0.002122 ## n= 214, number of events= 152 ## (14 observations deleted due to missingness)
檢驗(yàn)比例風(fēng)險假設(shè)-PH假設(shè) PH假設(shè)可通過假設(shè)檢驗(yàn)和殘差圖檢驗(yàn),。正常情況下,Schoenfeld殘差應(yīng)該與時間無關(guān),,如果殘差與時間有相關(guān)趨勢,,則違反PH假設(shè)的證據(jù)。殘差圖上的橫軸代表時間,,如果殘差均勻的分布則表示殘差與時間相互獨(dú)立,。 R語言survival包中的函數(shù)cox.zph函數(shù)提供簡便的實(shí)現(xiàn)這一過程的方法
test.ph <- cox.zph(res.cox) test.ph ## rho chisq p ## age -0.0483 0.378 0.538 ## sex 0.1265 2.349 0.125 ## wt.loss 0.0126 0.024 0.877 ## GLOBAL NA 2.846 0.416
圖形診斷 survminer包中的ggcoxzph()函數(shù)可以繪制每個協(xié)變量隨時間變化的Schoenfeld殘差圖
ggcoxzph(test.ph)
上圖中實(shí)線是與曲線擬合的平滑樣條曲線,,虛線表示擬合周圍的+/- 2標(biāo)準(zhǔn)誤差帶,。 沒有與時間相關(guān)變化模式,個各個協(xié)變量滿足風(fēng)險比例假設(shè)
檢驗(yàn)異常的的觀測 繪制Deviance殘差圖或者dfbeta值實(shí)現(xiàn),以下選擇dfbeta,,改為deviance即殘差圖 survminer中的ggcoxdiagnostics()函數(shù)
ggcoxdiagnostics(res.cox, type = "dfbeta", linear.predictions = FALSE, ggtheme = theme_bw())
上圖表示,,將最大dfbeta值的大小與回歸系數(shù)進(jìn)行比較表明,沒有一個觀察結(jié)果是單獨(dú)影響的,,即使年齡和重量損失的某些dfbeta值與其他值相比較大,。
非線性診斷- non linearity 通常,我們假設(shè)連續(xù)協(xié)變量具有線性形式,。但是,,應(yīng)該檢驗(yàn)這個假設(shè)是否成立。使用連續(xù)協(xié)變量繪制Martingale殘差是用于檢測非線性的常用方法,,或者換句話說,,用于評估協(xié)變量的函數(shù)形式。對于給定的連續(xù)協(xié)變量,,圖中的模式可能表明變量不適合,。 R語言survminer中的ggcoxfunctional()函數(shù)可以繪圖 例如我們檢驗(yàn)age變量,可使用如下代碼
ggcoxfunctional(Surv(time, status) ~ age + log(age) + sqrt(age), data = lung)
參考資料 (http://www./english/wiki/cox-model-assumptions)
|