¿Cómo hacer una validación cruzada con un modelo de riesgos proporcionales de Cox?

15

Supongamos que he construido un modelo de predicción para la aparición de una enfermedad en particular en un conjunto de datos (el conjunto de datos de construcción del modelo) y ahora quiero verificar qué tan bien funciona el modelo en un nuevo conjunto de datos (el conjunto de datos de validación). Para un modelo construido con regresión logística, calcularía la probabilidad pronosticada para cada persona en el conjunto de datos de validación en función de los coeficientes del modelo obtenidos del conjunto de datos de construcción del modelo y luego, después de dicotomizar esas probabilidades en algún valor de corte, puedo construir una tabla de 2x2 eso me permite calcular la verdadera tasa positiva (sensibilidad) y la verdadera tasa negativa (especificidad). Además, puedo construir toda la curva ROC variando el corte y luego obtener el AUC para el gráfico ROC.

Ahora supongamos que realmente tengo datos de supervivencia. Entonces, utilicé un modelo de riesgos proporcionales de Cox en el conjunto de datos de construcción del modelo y ahora quiero verificar qué tan bien funciona el modelo en el conjunto de datos de validación. Dado que el riesgo inicial no es una función paramétrica en los modelos de Cox, no veo cómo puedo obtener la probabilidad de supervivencia predicha para cada persona en el conjunto de datos de validación en función de los coeficientes del modelo obtenidos en el conjunto de datos de construcción del modelo. Entonces, ¿cómo puedo verificar qué tan bien funciona el modelo en el conjunto de datos de validación? ¿Existen métodos establecidos para hacer esto? Y si es así, ¿se implementan en algún software? ¡Gracias de antemano por cualquier sugerencia!

Wolfgang
fuente

Respuestas:

9

Una curva ROC no es útil en esta configuración, aunque el área ROC generalizada (índice c, que no requiere ninguna dicotomización) sí lo es. El rmspaquete R computará el índice c y las versiones corregidas de sobreajuste o de validación cruzada del mismo. Puede hacer esto sin retener ningún dato si preespecifica completamente el modelo o repite un algoritmo de reducción hacia atrás en cada remuestreo. Si realmente desea hacer una validación externa, es decir, si su muestra de validación es enorme, puede usar las siguientes rmsfunciones: rcorr.cens, val.surv.

Frank Harrell
fuente
Gracias por la respuesta. ¿Podría explicar por qué una curva ROC no es útil en esta configuración? He visto algunas aplicaciones destacadas en las que se utilizó este enfoque (por ejemplo, Hippisley-Cox et al. (2007). Derivación y validación de QRISK, una nueva puntuación de riesgo de enfermedad cardiovascular para el Reino Unido: estudio prospectivo de cohorte abierta. British Medical Journal , 335 (7611): 136), así que ahora me pregunto acerca de sus métodos.
Wolfgang
1
Aquí hay una analogía. Supongamos que uno está interesado en evaluar cómo el envejecimiento se relaciona con la capacidad de correr. El enfoque ROC haría la pregunta dada la capacidad de ejecución de alguien ¿cuál es la probabilidad de que esté por encima de cierta edad (arbitraria)? En un estudio de cohorte, solo agrega confusión para revertir los roles de las variables independientes y dependientes, y las curvas ROC también tientan a uno a hacer cortes en un predictor, que se sabe que es una mala práctica estadística - ver biostat.mc.vanderbilt.edu/ Gato Continuo . Además de crear estragos, los puntos de corte deben ser funciones de todos los demás predictores.
Frank Harrell
De nuevo, gracias por responder. Sin embargo, no estoy completamente convencido. Estoy totalmente de acuerdo en que la categorización arbitraria de una variable continua es una mala práctica, pero el enfoque ROC categoriza todos los posibles cortes y resume esa información a través de las AUC. Entonces no hay arbitrariedad en eso. También parece una práctica estándar y aceptada para los modelos de regresión logística. Entonces, ¿estás en contra del uso de curvas ROC en general o solo en el contexto de modelos de supervivencia?
Wolfgang
2
X=XX>C
Mi experiencia me dice que muchos investigadores / profesionales realmente quieren reglas de decisión dicotómicas (dejando de lado si eso es útil o no). En cualquier caso, haré un seguimiento de algunas de esas funciones R y veré a dónde me lleva esto. Gracias por la discusión.
Wolfgang
0

Sé que esta pregunta es bastante antigua, pero lo que hice cuando encontré el mismo problema fue usar la función de predicción para obtener una "puntuación" para cada sujeto en el conjunto de validación. Esto fue seguido por la división de los sujetos según si el puntaje era mayor o menor que la mediana y trazando la curva de Kaplan-Meier. Esto debería mostrar una separación de los sujetos si su modelo es predictivo. También probé la correlación de la puntuación (en realidad de su ln [para distribución normal]) con la supervivencia utilizando la función coxph del paquete de supervivencia en R.

PMA
fuente