Visualice el análisis de supervivencia con covariables dependientes del tiempo.


8

Como seguimiento a la sugerencia del Modelo para una regresión de Cox con covariables dependientes del tiempo, aquí está la gráfica de Kaplan Meier que explica la naturaleza dependiente del tiempo de los embarazos. En otras palabras, el conjunto de datos ahora se divide en un conjunto de datos largo con varias filas según el número de embarazos. El gráfico KM, y también el modelo extendido de Cox, parecen indicar un efecto beneficioso del embarazo sobre el resultado. Sin embargo, al mirar el gráfico de KM me pregunto: ¿la línea para el primer nacimiento debe comenzar en 1.0? ¿No sería más intuitivo comenzar esta línea en el valor y para 0 nacimientos en x igual que cuando se da el primer nacimiento?

EDITAR: Después de investigar esto más de cerca, veo que el KM regular no es bueno. Más bien debería usar el método de Simon y Makuch que se usa en Stata (Simon R, Makuch RW. Una representación gráfica no paramétrica de la relación entre la supervivencia y la ocurrencia de un evento: aplicación al sesgo de respondedor versus no respondedor. Estadísticas en Medicine , 1984; 3: 35-44.)

¿Alguien ha visto esto implementado para R?

ingrese la descripción de la imagen aquí

Respuestas:


6

No he podido acceder al artículo de Simon y Makuch mencionado anteriormente, pero después de investigar el tema encontré:

Steven M Snapinn, Qi Jiang y Boris Iglewicz (2005) que ilustran el impacto de una covariable variable en el tiempo con un estimador extendido de Kaplan-Meier , The American Statistician , 59: 4, 301-307.

Ese artículo propone un diagrama de Kaplan-Meier (KM) dependiente del tiempo simplemente actualizando las cohortes en todo momento del evento. También cita el artículo de Simon y Makuch por proponer una idea similar. El KM regular no permite esto, solo permite una división fija en grupos. El método propuesto en realidad divide el tiempo de supervivencia de acuerdo con el estado de covariable, tal como se podría hacer al estimar un modelo de Cox con covariables constantes por partes. Para el modelo de Cox, esta es una idea viable y estándar. Sin embargo, es más intrincado cuando se hace un diagrama KM. Permítanme ilustrarlo con un ejemplo de simulación.

Supongamos que no tenemos censura, sino algún evento (por ejemplo, dar a luz) que podría o no ocurrir antes del momento de la muerte. Supongamos también riesgos constantes por simplicidad. También asumiremos que dar a luz no altera el peligro de morir. Ahora seguiremos el procedimiento prescrito en el artículo anterior. El artículo establece claramente cómo se hace esto en R, simplemente divida sus temas a tiempo de dar a luz de modo que sean constantes en su variable de agrupación. Luego use la formulación del proceso de conteo en la Survfunción. En codigo

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

Lo estoy dividiendo más o menos "a mano". Podríamos usar survSplittambién. El procedimiento en realidad me da una muy buena estimación.

Sin sesgo

Obtenemos estimaciones casi idénticas para los dos grupos como deberíamos. Pero en realidad, mi simulación fue quizás un poco poco realista. Digamos que una mujer no puede dar a luz en las dos primeras unidades de tiempo por alguna razón. Esto es al menos razonable en su ejemplo: habrá algún tiempo entre dos embarazos correspondientes a la misma mujer. Hacer una pequeña adición al código

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

obtenemos la siguiente trama:

Parcialidad

Lo mismo sucedería con sus datos. No verá ningún tercer embarazo durante al menos un período inicial de tiempo, lo que significa que su estimación será 1 para ese grupo y ese período de tiempo. Esto es, en mi opinión, una tergiversación de sus datos. Considera mi simulación. Los riesgos son idénticos, pero para cada punto de tiempo la per1estimación es mayor que la per0estimación.

Podría considerar diferentes remedios para este problema. Propone pegarlos juntos en algún momento (deje que la per1curva comience desde cierto punto en la per0curva). Me gusta esta idea. Si lo hago en los datos de simulación, obtenemos:

ingrese la descripción de la imagen aquí

En nuestro caso específico, creo que esto representa los datos mucho mejor, pero no conozco ningún resultado publicado que respalde este enfoque. Heurísticamente, uno puede usar el argumento que presenté en otra respuesta:

Gráfico de KM con coeficiente variable en el tiempo


Edité un poco tu publicación para que sea más legible. Si no te gusta, retrocede con mis disculpas.
gung - Restablece a Monica

0

Hay una publicación reciente sobre este tema en general en CV: ¿Cuál es el mejor gráfico para describir un análisis de supervivencia con una covariable dependiente del tiempo?

Además, ahora existe la posibilidad de calcular la prueba de Mantel-Byar y el diagrama de Simon-Makuch en R, usando Rcmdrlos RcmdrPlugin.EZRpaquetes y.

Consulte la publicación SO relacionada que contiene un código R detallado: /programming/40431559/mantel-byar-test-and-simon-makuch-plot-for-survival-analysis-with-time-dependent

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.