Regresión de Cox con una covariable dependiente del tiempo (una característica cambia con el tiempo)
En resumen
Algunas características cambian durante la observación: empieza una terapia, se hace un trasplante, se vuelve a medir un valor de laboratorio. Tratar una característica así como un grupo fijo «alguna vez cambió» crea el sesgo de tiempo inmortal. La regresión de Cox con una covariable dependiente del tiempo lo evita: cada persona lleva el valor 0 hasta el cambio y el valor 1 a partir del cambio. Se elige en la pregunta «¿Cuánto tiempo pasa hasta que ocurre un evento?», en «Más opciones» → «Una característica cambia con el tiempo».
El sesgo de tiempo inmortal
Quien cambia más tarde tuvo que sobrevivir hasta entonces. Si se cuenta a esa persona en el grupo de los que cambiaron desde el principio, ese grupo parece vivir más tiempo solo por este error. Medido en una simulación con un hazard ratio verdadero de 1: el grupo fijo «alguna vez cambió» da de media un HR de 0,49 y es significativo en todas las ejecuciones; la covariable dependiente del tiempo da 0,99 y un resultado significativo en el 4 % de las ejecuciones. En los datos del corazón de Stanford (trasplante), el grupo fijo baja a un HR de 0,27 y la covariable dependiente del tiempo a 1,04. Por eso la covariable solo puede tener en cada momento valores que ya se conocían en ese momento.
Los datos: forma de intervalos
Statable necesita la tabla en forma de intervalos (proceso de conteo): una fila por persona e intervalo con el identificador, el inicio, el final, el evento y el valor que regía en ese intervalo. Los intervalos son abiertos por la izquierda y cerrados por la derecha: (inicio, final]. El valor rige desde el inicio, el evento ocurre al final. El evento (1) está solo en la última fila de la persona. En la tarjeta se eligen el identificador, el inicio y la covariable dependiente del tiempo; el tiempo de arriba es el final. Antes de calcular, Statable comprueba: inicio menor que el final, sin solapamiento, sin hueco, como máximo un evento por persona y solo en la última fila.
El asistente «Puntos temporales por persona → intervalos»
Si la tabla tiene solo una fila por persona con el final, el evento y el momento de un cambio (vacío = nunca), el asistente que hay en Datos > Reestructurar construye la tabla en forma de intervalos: valor 0 antes del cambio, 1 a partir del cambio, y las columnas elegidas de la persona pasan a todas las filas. Dice cuántas personas cambiaron, a cuántas les cae el cambio al principio o después del final de la observación (¿error de entrada? o ya el sesgo de tiempo inmortal en los datos brutos) y a cuántas el día del evento. La nueva tabla no se lleva el peso del caso.
Cambio el día del evento
Si el cambio cae en el día del evento, la regla decide el resultado. Estricto (predeterminado): el cambio rige solo a partir de entonces, el evento sigue perteneciendo al valor antiguo. «Cuenta ya»: el cambio se adelanta la mitad de la menor separación temporal de los datos (0,5 para días, una fracción para años), que es también como survival fija el orden; Statable nombra la cantidad. En los datos del corazón de Stanford esto afecta a un solo paciente y mueve el hazard ratio del trasplante de 0,90 (estricto) a 0,99 (cuenta ya). Statable nombra siempre la regla y el número de personas afectadas.
Cómo leer el resultado
- El hazard ratio de la covariable dependiente del tiempo compara el riesgo instantáneo después del cambio con el de antes, siendo iguales las demás características. HR = 1 significa: ninguna diferencia. No es una razón de riesgos.
- El resultado describe una relación con el riesgo después del cambio, no la prueba de un efecto. Si la covariable es en sí misma una consecuencia de la enfermedad (por ejemplo, un valor de laboratorio), ya dice algo sobre el evento (covariable interna).
- Statable trata los tiempos de evento empatados según Efron. Statable comprueba el supuesto de riesgos proporcionales con cox.zph; con covariables dependientes del tiempo, la prueba es solo una orientación. En esta forma no hay concordancia.
- Regla práctica: al menos 10 eventos por coeficiente, eventos en los dos estados (antes y después del cambio) y al menos 5 personas con un cambio; si no, Statable avisa.
Otra cosa: el efecto dependiente del tiempo
Una covariable dependiente del tiempo no es lo mismo que un efecto dependiente del tiempo (tt() en R): en este último, la característica permanece fija (por ejemplo, la edad) y su efecto cambia con el tiempo, de modo que incumple la proporcionalidad. Statable no ofrece esto.
Informar del resultado
Regresión de Cox con una covariable dependiente del tiempo: prueba LR χ²(4) = 15,11, p = ,004; HR = 0,99, IC del 95 % [0,53; 1,82], p = ,967 (trasplante); 103 personas en 170 filas, 75 eventos
Para especialistas
survival::coxph con Surv(start, stop, event), ties = «efron», prueba de Wald e intervalo de Wald con qnorm(.975); varias filas por persona no plantean problema con una covariable dependiente del tiempo sin varianza robusta (los intervalos no se solapan). La reestructuración se ejecuta en JavaScript y coincide fila a fila con survival::tmerge; el modelo de la viñeta de survival (Kalbfleisch y Prentice 1980, tabla 6.1, modelo 6) se reproduce hasta la última cifra impresa.
library(survival)
m <- coxph(Surv(start, stop, event) ~ transplant + age + surgery + year, data = heart_long, ties = "efron")
summary(m)
Fuentes
Therneau, T. M. & Grambsch, P. M. (2000). Modeling survival data: extending the Cox model. Springer. Kalbfleisch, J. D. & Prentice, R. L. (1980). The statistical analysis of failure time data. Wiley. Crowley, J. & Hu, M. (1977). Covariance analysis of heart transplant survival data. Journal of the American Statistical Association, 72, 27-36. Viñeta de survival «Using time dependent covariates and time dependent coefficients in the Cox model».