Comment générer des courbes de survie prédites à partir de modèles de fragilité (en utilisant R coxph)?

13

Je veux calculer la fonction de survie prédite pour un modèle de risques proportionnels de Cox avec des termes de fragilité [en utilisant le package de survie]. Il semble que lorsque des termes de fragilité figurent dans le modèle, la fonction de survie prévue ne peut pas être calculée.

## 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

J'ai essayé d'utiliser des méthodes de calcul clairsemées et non clairsemées en utilisant des sparse=TRUE, Sparse =FALSE, sparse =0, sparse=5options. Cependant, aucun n'a fonctionné.

Comment calculer la courbe de survie prévue en fonction de mon modèle de fragilité?

ledzep
la source

Réponses:

3

Le problème ici est le même que celui qui serait obtenu en essayant de prédire les résultats d'un modèle linéaire à effets mixtes. Étant donné que la courbe de survie n'est pas pliable, chaque portée de votre exemple a une courbe de survie spécifique à la litière selon le modèle que vous ajustez. Une fragilité comme vous le savez peut-être est la même qu'une interception aléatoire indiquant des niveaux communs de variables confusionnelles et pronostiques endémiques à chaque portée, vraisemblablement vis-à-vis des traits génétiques. Par conséquent, le prédicteur linéaire du rapport de risque est un mélange des effets fixes observés et des effets de litière aléatoires. Contrairement aux modèles mixtes, le modèle de Cox correspond au terme de fragilité avec régression pénalisée, l'objet ajusté est de classe coxph-penalet il n'y a pas de méthode pour survreg.coxph-penal, donc les tentatives de création du prédicteur linéaire échouent. Il existe quelques solutions de contournement.

  1. Ajustez simplement le modèle marginal avec des covariables centrées.

  2. Centrez les covariables, ajustez 1, puis ajustez le modèle à effets aléatoires en utilisant coxmeet extrayez les effets aléatoires, ajoutez-les au prédicteur linéaire avec un décalage pour calculer la courbe de survie spécifique à la strate pour chaque portée.

  3. Effectuez 2 et marginalisez-les en faisant la moyenne de toutes les courbes de survie ensemble, une approche distincte pour ajuster le modèle marginal.

  4. Utilisez des effets fixes ou des strates dans un modèle de Cox marginal pour prédire différentes courbes de survie pour chaque portée.

AdamO
la source