Как сгенерировать предсказанные кривые выживших из слабых моделей (используя R coxph)?

13

Я хочу вычислить предсказанную функцию выживания для модели пропорциональных рисков Кокса с ненадежными терминами [используя пакет выживания]. Похоже, что когда в модели присутствуют слабые члены, предсказанная функция выживания не может быть вычислена.

## Example 
require(survival)
data(rats)

## Create fake weight
set.seed(90989)
rats$weight<-runif(nrow(rats),0.2,0.9)

## Cox model with gamma frailty on litter
fit <- coxph(Surv(time, status) ~ rx+weight+frailty(litter,dist="gamma"),
data = rats) 

## Compute survival curve from the cox model for rx=0 and weight=0.5 kg
plot(survfit(fit, newdata=data.frame(rx=0,weight=0.5)),xlab = "time",
ylab="Survival") 

## Running this line, I get following error message:
Error in survfit.coxph(fit, newdata = data.frame(rx = 0, weight = 0.5)) : 
Newdata cannot be used when a model has sparse frailty terms

Я пытался использовать как разреженные, так и не разреженные методы вычислений с использованием sparse=TRUE, Sparse =FALSE, sparse =0, sparse=5опций. Однако никто не работал.

Как рассчитать прогнозную кривую выживаемости на основе моей модели слабости?

ledzep
источник

Ответы:

3

Проблема здесь та же, что и при попытке предсказать результаты из линейной модели смешанных эффектов. Поскольку кривая выживаемости не является разборной, каждый помет в вашем примере имеет кривую выживаемости, специфичную для помета, в соответствии с выбранной моделью. Как вы, возможно, знаете, слабость - это то же самое, что и случайный перехват, указывающий на общие уровни смешанных и прогностических переменных, характерных для каждого помета, предположительно по отношению к генетическим признакам. Поэтому линейный предиктор для коэффициента опасности представляет собой смесь наблюдаемых фиксированных эффектов и случайных эффектов мусора. В отличие от смешанных моделей, модель Кокса подходит для хрупкого термина с наказанной регрессией, подобранный объект относится к классу, coxph-penalи для него нет метода survreg.coxph-penal, поэтому попытки создать линейный предиктор проваливаются. Есть пара обходных путей.

  1. Просто поместите маргинальную модель с центрированными ковариатами.

  2. Отцентрируйте ковариаты, подгоните 1, затем подгоните модель случайных эффектов, используя coxme и извлеките случайные эффекты, добавьте их к линейному предиктору со смещением, чтобы рассчитать кривую выживаемости для каждого помета.

  3. Выполните 2 и маргинализируйте их, усредняя все кривые выживания вместе, отдельный подход к подгонке маргинальной модели.

  4. Используйте фиксированные эффекты или страты в маргинальной модели Кокса для прогнозирования различных кривых выживаемости для каждого помета.

Adamo
источник