4 votos

P-valor de una supervivencia ROC c-index

Es posible calcular el c-índice de tiempo dependiente de los resultados (tales como la enfermedad) mediante el survivalROC paquete en R. Mi pregunta es : es posible producir un valor p de la c-índice que se calcula (en un punto específico en el tiempo)?

Si yo fuera a utilizar un estándar de ROC yo entiendo que se puede usar la prueba de Wilcoxon para calcular el p-valor de la AUC (he aquí un simple ejemplo). Sin embargo, debido a que esta es la supervivencia de datos creo que no se puede usar el mismo enfoque. He pensado justo calcular el índice de concordancia mediante el survcomp paquete y obtener el valor de p a partir de eso, sin embargo, survivalROC predice el c-índice en un momento determinado, mientras que el índice de concordancia no parece.

Alguna sugerencia?

0voto

shmuelp Puntos 1116

Esto es lo que hice en la final para obtener el intervalo de confianza y un valor de p:

Para el CI, lo hice, de hecho, utiliza bootstrap método propuesto por Andrea. He utilizado el arranque y survivalROC, funcionó muy bien (muchas gracias ).

Para el p-valor, yo al azar permutan las puntuaciones asignadas a las etiquetas de aproximadamente 10.000 veces (me encontré con esto en paralelo, debido a que se tome un poco de tiempo hacerlo en serie).

Después de 10.000 iteraciones tuve una distribución de miembros de las auc que se centra en aproximadamente 0.5. Para obtener un p-valor que resume el número total de miembros de las auc que eran más grandes que los de las AUC que he observado, es decir, 124 permutaciones tenido y AUC mayor que el de las AUC me observó con la "correcta" asociado a las etiquetas y las puntuaciones (lo que mi clasificador de escupir). Por lo tanto, mi p-valores se 124/10,000. Supongo que, dada la naturaleza de las AUC también puedo hacerlo de dos caras y ver cómo muchos miembros de las auc son menos de 1-observedAUC.

Para algunos de los otros métodos que me estaba comparando contra, me di cuenta de que necesitaba mucho más de 10,000 iteraciones para obtener miembros de las auc que fueron superiores a lo que he observado. Eso significa que los valores de p fueron siempre de cero. Para ayudar con eso, yo también calcula la extrema miembros de las auc que podría conseguir (por lo tanto, si yo di todo de mi puntajes más altos de la etiqueta X), por lo que, al menos, siempre hubo al menos uno de los valores más grandes de lo que he observado.

En la final, creo que el CI a ser la más informativa, sin embargo me pidieron para obtener un determinado valor de p para las AUC.

0voto

Meagan Puntos 1

Con survcomp de hecho, puede obtener un p-valor, sólo cambia el método por defecto (por ejemplo, a method="noether"). En realidad, ejemplo(survcomp::concordancia.índice) muestra que.

También, podría ser cuidadoso arranque de alrededor de 0,5 y la obtención de un (a una cara) p-valor de recuento de cuántas bootstrap valores son mayores que su valor de prueba x. Se está creando un sesgo, ya que el abandono de los valores inferiores a 0.5 de no ser informativo, pero que en realidad puede llegar a ser significativamente diferente forma de 0.5. Sugiero la transformación de su bootstrap valores de xx por .5+abs(xx-.5) para girar alrededor de 0.5, como un valor de 0.1 es equivalente a 0.9 al cambiar los signos de los predictores. Entonces, p=(n_higher+1)/(n+1), donde n_higher son el número de valores de bootstrap mayores que los de sus x y n el número de remuestrea.

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