下面是一个示例数据集:
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 的生存概率,以用于审查观察。如果有更好的方法来模拟这些概率,我并没有真正挂断使用生存分析,但我认为可能有一些方法可以做到这一点?任何有关如何进行的帮助将不胜感激!