Visualisez l'analyse de survie avec des covariables dépendantes du temps


8

À titre de suivi de la suggestion du modèle pour une régression de Cox avec des covariables dépendantes du temps, voici le tracé de Kaplan Meier qui tient compte de la nature dépendante du temps des grossesses. En d'autres termes, l'ensemble de données est maintenant décomposé en un long ensemble de données avec plusieurs lignes en fonction du nombre de grossesses. Le graphique KM, ainsi que le modèle cox étendu, semblent faire allusion à un effet bénéfique de la grossesse sur les résultats. Cependant, en regardant le graphique KM, je me demande: la ligne de première naissance devrait-elle commencer à 1.0? Ne serait-il pas plus intuitif de commencer cette ligne à la valeur y pour 0 naissance à x égale à la première naissance?

EDIT: Après une recherche plus approfondie, je vois que le KM régulier n'est pas bon. Je devrais plutôt utiliser la méthode de Simon et Makuch qui est utilisée dans Stata (Simon R, Makuch RW. Une représentation graphique non paramétrique de la relation entre la survie et l'occurrence d'un événement: application au biais du répondant par rapport au non-répondant. Statistiques in Medicine , 1984; 3: 35-44.)

Quelqu'un a-t-il vu cela implémenté pour R?

entrez la description de l'image ici

Réponses:


6

Je n'ai pas pu accéder à l'article de Simon et Makuch mentionné ci-dessus, mais après avoir étudié le sujet, j'ai trouvé:

Steven M Snapinn, Qi Jiang & Boris Iglewicz (2005) Illustrating the Impact of a Time-Varying Covariate With an Extended Kaplan-Meier Estimator , The American Statistician , 59: 4, 301-307.

Cet article propose un tracé de Kaplan-Meier dépendant du temps (KM) en mettant simplement à jour les cohortes à tout moment de l'événement. Il cite également l'article de Simon et Makuch pour avoir proposé une idée similaire. Le KM régulier ne le permet pas, il ne permet qu'une division fixe en groupes. La méthode proposée divise en fait le temps de survie en fonction du statut de covariable - tout comme on pourrait le faire lors de l'estimation d'un modèle de Cox avec des covariables constantes par morceaux. Pour le modèle Cox, il s'agit d'une idée viable et standard. Il est cependant plus complexe lors d'un tracé KM. Permettez-moi de l'illustrer avec un exemple de simulation.

Supposons que nous n'ayons pas de censure, mais un événement (par exemple, un accouchement) qui pourrait ou non survenir avant le décès. Supposons également des risques constants par souci de simplicité. Nous supposerons également que l'accouchement ne modifie pas le risque de mourir. Nous allons maintenant suivre la procédure prescrite dans l'article ci-dessus. L'article indique clairement comment cela se fait dans R, divisez simplement vos sujets au moment de l'accouchement de sorte qu'ils soient constants dans votre variable de regroupement. Utilisez ensuite la formulation du processus de comptage dans la Survfonction. Dans du code

library(survival)
library(ggplot2)
n          <- 10000
data       <- data.frame(id = seq(n), 
                         preg = rexp(n, 1), 
                         death = rexp(n, .5), 
                         enter = 0, 
                         per = NA, 
                         event = 1)
data$exit  <- data$death

data0      <- data
data0$exit <- with(data, pmin(preg, death))
data0$per  <- 0
data0$event[with(data0, preg < death)] <- 0

data1       <- subset(data, preg < death)
data1$enter <- data1$preg
data1$per   <- 1

data <- rbind(data0, data1)
data <- data[order(data$id), ]

Sfit <- survfit(Surv(time = enter, time2 = exit, event = event) ~ per, data = data)
autoplot(Sfit, censSize = 0)$plot

Je le divise plus ou moins "à la main". Nous pourrions également utiliser survSplit. La procédure me donne en fait une très belle estimation.

Pas de parti pris

Nous obtenons des estimations presque identiques pour les deux groupes comme nous le devrions. Mais en fait, ma simulation était peut-être un peu irréaliste. Disons qu'une femme ne peut pas accoucher dans les deux premières unités de temps pour une raison quelconque. C'est au moins raisonnable dans votre exemple: il y aura un certain temps entre deux grossesses correspondant à la même femme. Faire un petit ajout au code

data <- data.frame(id = seq(n), 
                   preg = rexp(n, 1) + 2, 
                   death = rexp(n, .5), 
                   enter = 0, 
                   preg = NA, 
                   event = 1)

nous obtenons l'intrigue suivante:

Biais

La même chose se produirait avec vos données. Vous ne verrez aucune troisième grossesse pendant au moins une période initiale, ce qui signifie que votre estimation sera de 1 pour ce groupe et cette période. Il s'agit à mon avis d'une fausse représentation de vos données. Considérez ma simulation. Les dangers sont identiques, mais pour chaque point dans le temps, l' per1estimation est supérieure à l' per0estimation.

Vous pouvez envisager différents remèdes à ce problème. Vous proposez de les coller ensemble à un moment donné (laissez la per1courbe commencer à partir d'un certain point de la per0courbe). J'aime cette idée. Si je le fais sur les données de simulation, on obtient:

entrez la description de l'image ici

Dans notre cas spécifique, je pense que cela représente bien mieux les données, mais je ne connais aucun résultat publié qui soutienne cette approche. Heuristiquement, on peut utiliser l'argument que j'ai présenté dans une autre réponse:

Diagramme KM avec coefficient variant dans le temps


J'ai un peu édité votre message pour le rendre plus lisible. Si vous ne l'aimez pas, faites-le revenir en arrière avec mes excuses.
gung - Rétablir Monica

0

Il y a un article récent sur cette question dans son ensemble dans CV: Quel est le meilleur graphique pour décrire une analyse de survie avec une covariable dépendante du temps?

De plus, il est désormais possible de calculer le test de Mantel-Byar et le tracé de Simon-Makuch qui l'accompagne dans R, en utilisant Rcmdrles RcmdrPlugin.EZRpackages et.

Voir l'article SO correspondant contenant un code R détaillé: /programming/40431559/mantel-byar-test-and-simon-makuch-plot-for-survival-analysis-with-time-dependent

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.