Prédiction dans la régression de Cox

38

Je fais une régression multivariée de Cox, j'ai mes variables indépendantes significatives et mes valeurs bêta. Le modèle correspond très bien à mes données.

Maintenant, j'aimerais utiliser mon modèle et prédire la survie d'une nouvelle observation. Je ne sais pas comment faire cela avec un modèle de Cox. Dans une régression linéaire ou logistique, il serait facile de mettre les valeurs de la nouvelle observation dans la régression et de les multiplier par des bêtas. J'ai ainsi la prédiction de mon résultat.

Comment puis-je déterminer mon risque de base? J'en ai besoin en plus du calcul de la prédiction.

Comment cela se fait-il dans un modèle de Cox?

Marja
la source

Réponses:

30

Suivant le modèle de Cox, le risque estimé pour la personne avec le vecteur de covariable est de la forme où en maximisant la vraisemblance partielle, tandis que découle de l'estimateur de Nelson-Aalen, avec , les temps d'événements distincts et le nombre de décès à (voir, par exemple, la section 3.6 ).x i h i ( t ) = h 0 ( t ) exp ( x ' i β ) , β h 0 h 0 ( t i ) = d ijeXje

h^je(t)=h^0(t)exp(Xjeβ^),
β^h^0 t1t2,...avaisiti
h^0(tje)=jeΣj:tjtjeexp(Xjβ^)
t1t2,jetje

De même, avec et

S^je(t)=S^0(t)exp(Xjeβ^)
S^0(t)=exp(-Λ^0(t))
Λ^0(t)=Σj:tjth^0(tj).

EDIT: Cela pourrait aussi être intéressant :-)

ocram
la source
1
C'est exactement ma question ... J'ai besoin d'une estimation de la fonction de risque de base pour pouvoir prédire, n'est-ce pas? Connaissez-vous une méthode pour l’estimer?
Marja
2
@Marjan le jackknife peut ne pas refléter correctement l'incertitude causée par la sélection des variables. Le bootstrap montre correctement plus de variabilité dans les variables qualifiées de "significatives". Si vous voulez faire une "validation relative", vous pouvez montrer que la discrimination prédictive est bonne après correction du surajustement. Cela ne nécessite pas de traiter le risque de base, mais de valider les estimations relatives du risque de log. La validatefonction dans le rmspackage R en conjonction avec la cphfonction le fera. Le seul algorithme pas à pas implémenté validateest le pas en arrière.
Frank Harrell
1
Obtenir les risques relatifs prévus (c.-à-d. Le prédicteur linéaire) est assez simple. Mais j'ai arrêté d'utiliser SAS en 1991.
Frank Harrell Le
8
Le lien est mort :-(.
gung - Rétablissez Monica
2
Existe-t-il un moyen de prédire le temps de survie T pour un individu spécifique? Je veux dire que, étant donné une liste de valeurs pour les covariables, quel est le moyen de déterminer le moment après lequel l’individu est le plus susceptible de mourir?
statBeginner
14

La fonction predictSurvProbdu pecpackage peut vous donner des estimations de risque absolues pour les nouvelles données basées sur un modèle de Cox existant si vous utilisez R.

Les détails mathématiques, je ne peux pas expliquer.

EDIT: La fonction fournit des probabilités de survie, que j’ai prises jusqu’à présent comme 1 (probabilité d’événement).

EDIT 2:

On peut se passer du paquet pec. En utilisant uniquement le package de survie, la fonction suivante renvoie un risque absolu basé sur un modèle de Cox

risk = function(model, newdata, time) {
  as.numeric(1-summary(survfit(model, newdata = newdata, se.fit = F, conf.int = F), times = time)$surv)
}
miura
la source
1-La probabilité de survie est le risque cumulé. Je pense que le PO demande la fonction de risque instantané (de la ligne de base) ou une sorte d'estimation lissée de celle-ci ( muhazpaquets en R).
ECII
1
1-La probabilité de survie n'est pas le risque cumulé. En l'absence de risques concurrentiels, les deux sont liés, comme indiqué sur en.wikipedia.org/wiki/… .
miura
1-Probabilité de survie = Taux d'échec (en supposant qu'une seule méthode d'échec). Le lien entre la probabilité de survie et le danger cumulé est décrit dans la réponse acceptée: S(t)=exp(−Λ(t))Λ(t)est le danger cumulé.
NickBraunagel le
11

Peut-être voudriez-vous aussi essayer quelque chose comme ça? Ajustez un modèle de risques proportionnels de Cox et utilisez-le pour obtenir la courbe de survie prévue pour une nouvelle instance.

Extrait du fichier d'aide pour le fichier survfit.coxph dans R (je viens d'ajouter la partie lignes)

# fit a Cox proportional hazards model and plot the  
# predicted survival for a 60 year old 
fit <- coxph(Surv(futime, fustat) ~ age, data=ovarian) 
plot(survfit(fit, newdata=data.frame(age=60)),
     xscale=365.25, xlab="Years", ylab="Survival", conf.int=F) 
# also plot the predicted survival for a 70 year old
lines(survfit(fit, newdata=data.frame(age=70)),
     xscale=365.25, xlab="Years", ylab="Survival") 

N'oubliez pas cependant que, pour que l'hypothèse des risques proportionnels soit valable, le patient pour lequel vous prédisez devrait appartenir à un groupe qualitativement identique à celui utilisé pour dériver le modèle de risques proportionnels de Cox que vous avez utilisé pour le modèle. prédiction.

Slak
la source
6

La basehazfonction des survivalpackages fournit le risque de base aux points de temps de l'événement. À partir de là, vous pouvez progresser dans les calculs fournis par ocram et inclure les OU de vos estimations de coxph.

ECII
la source
2

Le modèle de Cox repose sur l'hypothèse du risque proportionnel et sur l'utilisation de la vraisemblance partielle. La probabilité partielle a la fonction de risque de base éliminée. Donc, vous n'avez pas besoin de spécifier un. C'est la beauté de celui-ci!

Michael R. Chernick
la source
2
Toutefois, si vous souhaitez obtenir une estimation du danger ou de la survie pour une valeur particulière du vecteur de la covariable, vous avez besoin d'une estimation du risque ou de la survie de base. L'estimation de Nelson-Aalen fait habituellement le travail ...
ocram
1
Souvent, avec le modèle de Cox, vous comparez deux fonctions de survie et la clé est le ratio de risque plutôt que la fonction de risque. Le risque de base est comme un paramètre de nuisance que Cox a si intelligemment éliminé du problème en utilisant l'hypothèse des risques proportionnels. Quelle que soit la méthode que vous souhaitez utiliser pour estimer la fonction de danger et / ou le danger de base dans le contexte du modèle, vous devrez utiliser la forme de Cox du modèle qui force la proportionnalité.
Michael R. Chernick
Merci beaucoup, ce serait formidable si vous voyez mon commentaire sur la réponse d'Ocram. Peut-être que vous pourriez m'aider aussi?
Marja
3
Vous pouvez également stratifier sur des facteurs qui ne font pas partie des risques proportionnels. Quoi qu'il en soit, le modèle de Cox et son estimateur après ajustement du danger de base peuvent être utilisés pour obtenir des quantiles prédits de la durée de survie, diverses probabilités de survie et la durée moyenne de survie prédite si vous bénéficiez d'un suivi à long terme. Toutes ces quantités sont faciles à obtenir dans le package R rms.
Frank Harrell
Vous n'avez pas besoin de le spécifier, mais c'est estimé.
Rédigé