簡體   English   中英

有沒有辦法預測R中的未來生存概率?

[英]Is there a way to predict future survival probabilities in R?

以下是一個示例數據集:

age = runif(200, min = 25, max=70)
profile_id = seq(1, 200)
gender = sample(c("M", "F"), size = 200, replace = T)
start_date = sample(seq(as.Date('2013/01/01'), as.Date('2014/01/01'), by="month"), 200, replace = T)
end_date = sample(seq(as.Date('2014/01/01'), as.Date('2016/01/01'), by="month"), 200, replace = T)

mydf = data.frame(profile_id, age, gender, start_date, end_date)

mydf$end_date[mydf$end_date > as.Date('2015/01/01')] = as.Date('2015/01/01')
mydf$death = ifelse(mydf$end_date < as.Date('2015/01/01'), 1, 0)
mydf$periods_alive = mydf$end_date - mydf$start_date

基本上,如果可能的話,我正在嘗試使用某種生存回歸模型來預測那些在該時間段結束時仍然健在的人在研究后未來一段時間內的生存概率。 例如,接下來的12個月每個月的生存概率或其他。

我知道我可以在下面做這樣的事情來估計樣本期內新觀測值的生存概率(盡管我不確定如何從預測函數中提取概率):

m1 = survreg(Surv(periods_alive, death)~ age + gender, data = mydf)
mydf_alive = mydf[mydf$death == 0, ]
predict(m1, newdata = mydf_alive, type = 'quantile')

但是我很好奇,是否有一種方法可以預測未來某個時間T的生存概率。 如果有更好的方法來對這些概率進行建模,我並不是真的願意使用生存分析,但是我認為可能有某種方法可以做到這一點? 任何對如何進行的幫助將不勝感激!

用於type='quantile'predict.survreg函數的p(百分位數)參數的默認值為c(0.1,0.9) 因此,您將獲得每個幸存者2個預測生存概率的矩陣。 “ 0.1”列是直到預期存活率達到90%的預計天數,而0.9列是直到預期存活率達到10%的預計天數。 (考慮剩余的幸存者數量時,每個百分位都是100%的補數。它們實際上是預測到達到指定的累積危險量所需的時間。)(您應閱讀?predict.survreg

我們基本上假設馬爾可夫性質。 概率沒有改變。 如果某人還活着,那么您實質上是將他們的生存率重新設置為100%,並讓時間繼續前進。 我想您可能希望將他們的年齡調整為當前的年齡值,如果這是針對當前的幸存者

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM