¿Cómo se generan curvas ROC para la validación cruzada de dejar uno fuera?

10

Cuando se realiza una validación cruzada de 5 veces (por ejemplo), es típico calcular una curva ROC separada para cada uno de los 5 pliegues y, a menudo, una curva ROC media con std. dev. se muestra como grosor de curva.

Sin embargo, para la validación cruzada de LOO, donde solo hay un único punto de datos de prueba en cada pliegue, no parece lógico calcular una "curva" ROC para este único punto de datos.

He estado tomando todos mis puntos de datos de prueba (junto con sus valores p calculados por separado) y los he agrupado en un conjunto grande para calcular una curva ROC única, pero ¿es esto lo que es estadísticamente kosher?

¿Cuál es la forma correcta de aplicar el análisis ROC cuando el número de puntos de datos en cada pliegue es uno (como en el caso de la validación cruzada LOO)?

usuario1121
fuente
¿Por qué? ¿Qué quieres lograr con una criatura así?
Necesito analizar el rendimiento general de la predicción en un rango de umbrales de valor p, y las curvas ROC son lo que tradicionalmente he usado para cualquier otro tipo de validación cruzada. Básicamente, las mismas razones por las que el análisis ROC es útil en cualquier validación cruzada k-fold. Si hay un enfoque diferente y análogo para LOO xval, entonces también sería bueno saberlo. Además, en cambio haría algo como xval 10 veces si tuviera datos suficientes y esto no sería un problema.
user1121
1
Diría que lo está haciendo con sensatez, simplemente cree una sola curva ROC utilizando la etiqueta verdadera y el valor predicho para cada caso (donde ese caso fue el
retraso

Respuestas:

15

Si el clasificador genera probabilidades, entonces es apropiado combinar todas las salidas de puntos de prueba para una sola curva ROC. De lo contrario, escale la salida del clasificador de una manera que lo haga directamente comparable entre los clasificadores. Por ejemplo, supongamos que está utilizando el análisis discriminante lineal. Entrene al clasificador y luego ponga los datos de entrenamiento a través del clasificador. Aprenda dos pesos: un parámetro de escala (la desviación estándar de las salidas del clasificador, después de restar las medias de la clase), y un parámetro de desplazamiento (la media de la primera clase). Utilice estos parámetros para normalizar la salida procesar de cada clasificador LDA a través deμ r n = ( r - μ ) / σσμrn=(rμ)/σ, y luego puede crear una curva ROC a partir del conjunto de salidas normalizadas. Esto tiene la advertencia de que está estimando más parámetros y, por lo tanto, los resultados pueden diferir levemente de si hubiera construido una curva ROC basada en un conjunto de pruebas separado.

Si no es posible normalizar las salidas del clasificador o transformarlas en probabilidades, entonces un análisis ROC basado en LOO-CV no es apropiado.

benhamner
fuente