首頁 資訊 詳解R語言中生存分析模型與時間依賴性ROC曲線可視化

詳解R語言中生存分析模型與時間依賴性ROC曲線可視化

來源:泰然健康網(wǎng) 時間:2024年12月07日 10:01

R語言簡介

R是用于統(tǒng)計分析、繪圖的語言和操作環(huán)境。R是屬于GNU系統(tǒng)的一個自由、免費、源代碼開放的軟件,它是一個用于統(tǒng)計計算和統(tǒng)計制圖的優(yōu)秀工具。

人們通常使用接收者操作特征曲線(ROC)進行二元結(jié)果邏輯回歸。但是,流行病學(xué)研究中感興趣的結(jié)果通常是事件發(fā)生時間。使用隨時間變化的時間依賴性ROC可以更全面地描述這種情況下的預(yù)測模型。

時間依賴性ROC定義

令 Mi為用于死亡率預(yù)測的基線(時間0)標(biāo)量標(biāo)記。 當(dāng)隨時間推移觀察到結(jié)果時,其預(yù)測性能取決于評估時間 t。直觀地說,在零時間測量的標(biāo)記值應(yīng)該變得不那么相關(guān)。因此,ROC測得的預(yù)測性能(區(qū)分)是時間t的函數(shù) 。

累積病例

累積病例/動態(tài)ROC定義了在時間t 處的閾值c處的 靈敏度和特異性, 如下所示。

累積靈敏度將在時間t之前死亡的視為分母(疾?。鴮?biāo)記值高于 c 的作為真實陽性(疾病陽性)。動態(tài)特異性將在時間t仍然活著作為分母(健康),并將標(biāo)記值小于或等于 c 的那些作為真實陰性(健康中的陰性)。將閾值 c 從最小值更改為最大值會在時間t處顯示整個ROC曲線 。

新發(fā)病例

新發(fā)病例ROC1在時間t 處以閾值 c定義靈敏度和特異性, 如下所示。

累積靈敏度將在時間t處死亡的人 視為分母(疾?。?,而將標(biāo)記值高于 ? 的人視為真實陽性(疾病陽性)。

數(shù)據(jù)準(zhǔn)備

我們以數(shù)據(jù) 包中的dataset3survival為例。事件發(fā)生的時間就是死亡的時間。Kaplan-Meier圖如下。

1

2

3

4

5

## 變成data_frame

data <- as_data_frame(data)

## 繪圖

plot(survfit(Surv(futime, fustat) ~ 1,

          data = data)

可視化結(jié)果:

在數(shù)據(jù)集中超過720天沒有發(fā)生任何事件。

1

2

3

4

## 擬合cox模型

coxph(formula = Surv(futime, fustat) ~ pspline(age, df = 4) +

##獲得線性預(yù)測值

 predict(coxph1, type = "lp")

累積病例

實現(xiàn)了累積病例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

## 定義一個輔助函數(shù),以在不同的時間進行評估

ROC_hlp <- function(t) {

  survivalROC(Stime   

        status   

        marker   

        predict.time = t,

        method    = "NNE",

        span = 0.25 * nrow(ovarian)^(-0.20))

}

## 每180天評估一次

ROC_data <- data_frame(t = 180 * c(1,2,3,4,5,6)) %>%

  mutate(survivalROC = map(t, survivalROC_helper),

      ## 提取AUC

      auc = map_dbl(survivalROC, magrittr::extract2, "AUC"),

      ## 在data_frame中放相關(guān)的值

      df_survivalROC = map(survivalROC, function(obj) {

## 繪圖

 ggplot(mapping = aes(x = FP, y = TP)) +

  geom_point() +

  geom_line() +

   facet_wrap( ~ t) +

可視化結(jié)果:

180天的ROC看起來是最好的。因為到此刻為止幾乎沒有事件。在最后觀察到的事件(t≥720)之后,AUC穩(wěn)定在0.856。這種表現(xiàn)并沒有衰退,因為高風(fēng)險分?jǐn)?shù)的人死了。

新發(fā)病例

實現(xiàn)新發(fā)病例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

## 定義一個輔助函數(shù),以在不同的時間進行評估

## 每180天評估一次

      ## 提取AUC

      auc = map_dbl(risksetROC, magrittr::extract2, "AUC"),

      ## 在data_frame中放相關(guān)的值

      df_risksetROC = map(risksetROC, function(obj) {

        ## 標(biāo)記欄

        marker <- c(-Inf, obj[["marker"]], Inf)

## 繪圖

  ggplot(mapping = aes(x = FP, y = TP)) +

  geom_point() +

  geom_line() +

  geom_label(data = risksetROC_data %>% dplyr::select(t,auc) %>% unique,

  facet_wrap( ~ t) +

可視化結(jié)果:

這種差異在后期更為明顯。最值得注意的是,只有在每個時間點處于風(fēng)險集中的個體才能提供數(shù)據(jù)。所以數(shù)據(jù)點少了。表現(xiàn)的衰退更為明顯,也許是因為在那些存活時間足夠長的人中,時間零點的風(fēng)險分沒有那么重要。一旦沒有事件,ROC基本上就會趨于平緩。

結(jié)論

總之,我們研究了時間依賴的ROC及其R實現(xiàn)。累積病例ROC可能與風(fēng)險 (累積發(fā)生率)預(yù)測模型的概念更兼容 。新發(fā)病例ROC可用于檢查時間零標(biāo)記在預(yù)測后續(xù)事件時的相關(guān)性。

參考

Heagerty,Patrick J. and Zheng,Yingye, Survival Model Predictive Accuracy and ROC Curves,Biometrics,61(1),92-105(2005). doi:10.1111 / j.0006-341X.2005.030814.x.

到此這篇關(guān)于詳解R語言中生存分析模型與時間依賴性ROC曲線可視化的文章就介紹到這了,更多相關(guān)R語言生存分析曲線可視化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

原文鏈接:https://blog.csdn.net/qq_19600291/article/details/114264519

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。
如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請將相關(guān)資料發(fā)送至 reterry123@163.com 進行投訴反饋,一經(jīng)查實,立即處理!

相關(guān)知識

超詳解!剖宮產(chǎn)后陰道分娩的三大評估因素與四類預(yù)測模型!@MedSci
JAMA Psychiatry:體重指數(shù)與心理健康之間的劑量依賴性關(guān)聯(lián)以及隨時間的變化
【神麻人智】使用術(shù)前神經(jīng)心理學(xué)評估開發(fā)腦深部刺激術(shù)后語言流暢性的預(yù)測模型
抑郁癥患者的語言使用模式
三行情書:線性回歸分析快速成文法
以語言服務(wù)健康中國戰(zhàn)略,外國語學(xué)院舉辦語言與健康論壇
石定栩、楊洋:中國語言障礙與言語治療——現(xiàn)狀分析和發(fā)展思路
環(huán)境適應(yīng)性評分的機器學(xué)習(xí)模型
人體藝術(shù)模特如何展現(xiàn)身體線條與曲線美
中國聽力語言康復(fù)科學(xué)雜志

網(wǎng)址: 詳解R語言中生存分析模型與時間依賴性ROC曲線可視化 http://www.u1s5d6.cn/newsview334800.html

推薦資訊