Ниже приведен пример набора данных:
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')
Но мне было любопытно, если бы был способ предсказать эти вероятности выживания в какое-то время в будущем для цензурированных наблюдений.Я не слишком зациклен на использовании анализа выживания, если есть лучший способ для моделирования этих вероятностей, но я подумал, что, возможно, есть какой-то способ сделать это?Буду очень признателен за любую помощь в том, как поступить!