10 votos

Cómo hacer ROC-análisis en R con un modelo de Cox

He creado un par de modelos de regresión de Cox y me gustaría ver cómo estos modelos de realizar y pensé que tal vez un ROC-curva o un c-estadística podría ser útil similar a este de artículos de uso:

J. N. Armitage och J. H. van der Meulen, "la Identificación de co‐morbilidad en los pacientes quirúrgicos uso de datos administrativos con el Real Colegio de Cirujanos de Charlson", British Journal of surgery, vol. 97, num. 5, ss. 772-781, Maj 2010.

Armitage se utiliza la regresión logística, pero me pregunto si es posible el uso de un modelo, de un paquete de supervivencia, la survivalROC da una pista de que esto sea posible, pero no puedo averiguar cómo conseguir que funcione con un regular de regresión de Cox.

Estaría agradecido si alguien me enseña cómo hacer un ROC-análisis en este ejemplo:

library(survival)
data(veteran)

attach(veteran)
surv <- Surv(time, status)
fit <- coxph(surv ~ trt + age + prior, data=veteran)
summary(fit)

Si es posible, le agradecería que tanto el raw c-estática de salida y una buena gráfica

Gracias!

Actualización

Muchas gracias por las respuestas. @Dwin: me gustaría estar seguro de que lo he entendido bien antes de seleccionar su respuesta.

El cálculo como yo lo entiendo, de acuerdo a DWin sugerencia:

library(survival)
library(rms)
data(veteran)

fit.cph <- cph(surv ~ trt + age + prior, data=veteran, x=TRUE, y=TRUE, surv=TRUE)

# Summary fails!?
#summary(fit.cph)

# Get the Dxy
v <- validate(fit.cph, dxy=TRUE, B=100)
# Is this the correct value?
Dxy = v[rownames(v)=="Dxy", colnames(v)=="index.corrected"]

# The c-statistic according to the Dxy=2(c-0.5)
Dxy/2+0.5

Estoy familiarizado con el validar la función y el arranque, pero después de mirar el prof. Frank Harrel la respuesta aquí en la R-help me imaginé que probablemente es la manera de obtener el Dxy. La ayuda para validar los estados:

... Somers' Dxy correlación por rangos ser calculadas en cada uno de remuestreo (este lleva un poco más de la probabilidad basada en las estadísticas). Los valores corresponting a la fila Dxy son igual a 2 * (C - 0.5) donde C es la C-índice o de la concordancia de la probabilidad.

Supongo que yo soy todo confundido por las columnas. Pensé que el valor de corrección es la que debe usar, pero realmente no he entendido el validar de salida:

      index.orig training    test optimism index.corrected   n
Dxy      -0.0137  -0.0715 -0.0071  -0.0644          0.0507 100
R2        0.0079   0.0278  0.0037   0.0242         -0.0162 100
Slope     1.0000   1.0000  0.2939   0.7061          0.2939 100
...

En el R-help pregunta he entendido que debo tener "surv=TRUE" en el cph si tengo estratos, pero estoy seguro de cuál es el propósito de la "u=60" parámetro en el validar la función es. Estaría agradecido si usted me podría ayudar a entender estos y comprobar que no he cometido algún error.

3voto

dan90266 Puntos 609

Dependiendo de sus necesidades, la incorporación de un modelo dentro de un modelo más grande y hacer un "trozo" de razón de verosimilitud $\chi^2$ de prueba para el agregado de valor de las variables adicionales que le dará una prueba poderosa. Mi libro habla de un índice derivadas de este enfoque (el "índice de adecuación").

2voto

aron Puntos 174

@chl ha señalado una respuesta concreta a tu pregunta. El 'rms' del paquete cph función de producir un Somers-D, que puede ser transformado trivialmente en un c-index. Sin embargo, Harrell (que introdujo el c-índice de biostatistical práctica) piensa que esto es imprudente como una estrategia general para la evaluación de las medidas de pronóstico, debido a que tiene un bajo poder de discriminación entre alternativas. En lugar de confiar en la cirugía de la literatura por su orientación metodológica, que sería más prudente buscar la sabiduría acumulada en Harrell del texto, "modelos de Regresión de Estrategias" o Steyerberg "de los Modelos de Predicción Clínica".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X