Precisamente, ¿cómo maneja coxph () de R medidas repetidas?

10

Contexto

Estoy tratando de entender cómo R's coxph () acepta y maneja entradas repetidas para sujetos (o paciente / cliente si lo prefiere). Algunos llaman a este formato largo, otros lo llaman 'medidas repetidas'.

Consulte, por ejemplo, el conjunto de datos que incluye la columna ID en la sección Respuestas en:

Los mejores paquetes para modelos Cox con covariables que varían con el tiempo

También suponga que las covariables varían en el tiempo y que hay exactamente una variable de censor (es decir, evento), que es binaria.

Preguntas

1) En la respuesta del enlace anterior, si la ID no se proporciona como parámetro en la llamada a coxph (), ¿los resultados deberían ser los mismos que incluir el clúster (ID) como parámetro en coxph ()?

Intenté buscar documentación, pero lo siguiente no parece abordar claramente (1): https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

2) Si la respuesta a (1) es 'no', entonces (matemáticamente) ¿por qué? Parece cluster () en coxph () busca correlaciones entre los sujetos según la subsección 'cluster' en la pág. 20 en

https://cran.r-project.org/web/packages/survival/survival.pdf

3) Pregunta vaga: ¿cómo se compara coxph () con medidas repetidas con los métodos de regresión fragilpack de R?

Adenda

Las siguientes sugerencias sobre el uso de clúster (ID):

¿Existe una versión consciente de medidas repetidas de la prueba logrank?

al igual que:

https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

Enfoque GEE: agregue "+ cluster (subject)" al enunciado del modelo en coxph Enfoque de modelos mixtos: Agregue "+ (1 | subject)" al enunciado del modelo en coxme.

¡Gracias por adelantado!

Quetzalcoatl
fuente

Respuestas:

11
  1. La inclusión cluster(ID)no cambia las estimaciones puntuales de los parámetros. Sin embargo, cambia la forma en que se calculan los errores estándar.

    Se pueden encontrar más detalles en el libro de Therneau & Grambsch Extendiendo el modelo de Cox , capítulo 8.2. Tenga en cuenta que en su ejemplo, usan method = "breslow"como corrección para los empates, pero también con el valor predeterminado ( method = "efron") se usará un cálculo similar para los se, y aparece en el resumen como "se robusto".

  2. Si se utiliza el conglomerado (ID), se impone una estimación "robusta" de los errores estándar y se mide la posible dependencia entre los sujetos (por ejemplo, por errores estándar y puntajes de varianza). No usar cluster (ID), por otro lado, impone independencia en cada observación y se asume más "información" en los datos. En términos más técnicos, la función de puntuación para los parámetros no cambia, pero la variación de esta puntuación sí lo hace. Un argumento más intuitivo es que 100 observaciones en 100 individuos proporcionan más información que 100 observaciones en 10 individuos (o grupos).

  3. Vago de hecho. En resumen, +frailty(ID)en coxph()los modelos de fragilidad estándar ajustados con efectos aleatorios gamma o log-normales y con riesgo / intensidad de referencia no paramétrico. frailtypackutiliza una línea de base paramétrica (también versiones flexibles con splines o funciones constantes por partes) y también se adapta a modelos más complicados, como fragilidad correlacionada, fragilidad anidada, etc.

Finalmente, +cluster()está algo en el espíritu de GEE, ya que toma las ecuaciones de puntuación de una probabilidad con observaciones independientes, y utiliza un estimador "robusto" diferente para los errores estándar.

editar: Gracias @Ivan por las sugerencias sobre la claridad de la publicación.

Theodor
fuente
Gracias. Con respecto a (2): puede "Esto es porque si (erróneamente) asume ..." puede ser reemplazado por "Si no utiliza el clúster (ID) en la llamada a coxph (), entonces asume erróneamente ..."
Quetzalcóatl
Quise decir: si las observaciones están agrupadas, entonces podrían o no ser independientes. Asumir que son independientes (es decir, que no usan clúster (id)) es casi seguro que está mal en este caso, pero no hay idea de saberlo de antemano
Theodor
(2) puede reformularse como: si se usa el conglomerado (ID), se impone una estimación "robusta" de los errores estándar y se mide la posible dependencia entre los sujetos (por ejemplo, por errores estándar y puntajes de varianza). No usar cluster (ID), por otro lado, impone independencia en cada observación y se asume más "información" en los datos.
Quetzalcóatl
El enlace de referencia que proporcionó en (1) debe ser: springer.com/us/book/9780387987842 (suponiendo que esté citando el libro de Therneau y Grambsch)
Quetzalcoatl
También tenga en cuenta: como se explica en el libro de Therneau y Grambsch, la razón por la cual la respuesta en (1) anterior es correcta es porque coxph () usa el método Breslow como predeterminado para los lazos.
Quetzalcóatl
1

Aquí hay una respuesta de una survivalviñeta de paquete que encontré útil: está vinculada en la primera respuesta a la primera pregunta a la que se vinculó:

Los mejores paquetes para modelos Cox con covariables que varían con el tiempo

Se refieren a la configuración de datos de formato largo, o datos con entradas repetidas para temas.

Una pregunta común con esta configuración de datos es si debemos preocuparnos por los datos correlacionados, ya que un sujeto dado tiene múltiples observaciones. La respuesta es no, nosotros no. La razón es que esta representación es simplemente un truco de programación. Las ecuaciones de probabilidad en cualquier momento utilizan solo una copia de cualquier tema, el programa selecciona la fila correcta de datos en cada momento. Hay dos excepciones a esta regla:

  • Cuando los sujetos tienen múltiples eventos, entonces las filas de los eventos se correlacionan dentro del sujeto y se necesita una variación de agrupación.
  • Cuando un sujeto aparece en intervalos superpuestos. Sin embargo, esto casi siempre es un error de datos, ya que corresponde a dos copias del sujeto que están presentes en los mismos estratos al mismo tiempo, por ejemplo, podría encontrarse en una fiesta.

El ejemplo que dan es

fit <- coxph(Surv(time1, time2, status) ~ age + creatinine, data=mydata)

sugiriendo que si proporciona dos veces (inicio y final del período) en Survlugar de una, coxph()resolverá el resto.

BLT
fuente
A menos que haya entendido mal algo, ¿creo que este comentario es engañoso? Tenemos que preocuparnos por los datos correlacionados si queremos obtener estimaciones precisas de la varianza, por lo tanto, ¿por qué agregar un término de clúster + (ID) cambia los términos de varianza estimada?
AP30