Есть ли способ предсказать будущие вероятности выживания в R? - PullRequest
0 голосов
/ 13 декабря 2018

Ниже приведен пример набора данных:

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')

Но мне было любопытно, если бы был способ предсказать эти вероятности выживания в какое-то время в будущем для цензурированных наблюдений.Я не слишком зациклен на использовании анализа выживания, если есть лучший способ для моделирования этих вероятностей, но я подумал, что, возможно, есть какой-то способ сделать это?Буду очень признателен за любую помощь в том, как поступить!

1 Ответ

0 голосов
/ 14 декабря 2018

Функция predict.survreg, используемая с type='quantile', имеет значение по умолчанию для параметра p (процентиль) c(0.1,0.9).Таким образом, вы получаете матрицу из 2 предсказанных вероятностей выживания для каждого из ваших выживших.Столбец «0,1» - это прогнозируемое количество дней до прогнозируемой выживаемости, равной 90%, а столбец «0,9» - это прогнозируемое количество дней до прогнозируемой выживаемости, равной 10%.(Каждый из процентилей является дополнением к 100%, если думать с точки зрения оставшегося числа выживших. Фактически это прогнозируемое время до достижения указанной совокупной опасности.) (Вам следует прочитать ?predict.survreg)

Мыв основном предполагают собственность Маркова.Вероятности не меняются.Если кто-то жив, то вы по существу сбрасываете его выживание на 100% и позволяете времени идти вперед.Я думаю, что вы, вероятно, хотели бы скорректировать их возраст в соответствии с текущими значениями возраста, если бы это делалось на текущем наборе выживших

...