Ventajas de las curvas ROC

15

¿Cuáles son las ventajas de las curvas ROC?

Por ejemplo, estoy clasificando algunas imágenes que es un problema de clasificación binaria. Extraje alrededor de 500 características y apliqué un algoritmo de selección de características para seleccionar un conjunto de características, luego apliqué SVM para la clasificación. En este caso, ¿cómo puedo obtener una curva ROC? ¿Debo cambiar los valores de umbral de mi algoritmo de selección de características y obtener sensibilidad y especificidad de la salida para dibujar una curva ROC?

En mi caso, ¿cuál es el propósito de crear una curva ROC?

usuario570593
fuente
2
"Una introducción al análisis ROC" de Tom Fawcett me ayudó a comprender mejor las curvas ROC. Puede disfrutarlo si está buscando literatura adicional sobre el tema.
Alexander
Bien, pero ¿qué harías para comparar dos clasificadores? Si usan umbrales para que ninguna especificidad o sensibilidad coincidan muy estrechamente, no creo que sea fácil comparar sin mirar más puntos en el ROC.
Michael R. Chernick
Rara vez es apropiado desarrollar clasificadores, y el error de clasificación es una regla de puntuación inadecuada. Existen muchos métodos de alta potencia para comparar la calidad de las predicciones verdaderas, y son más intuitivos que las curvas ROC. Ver por ejemplo esto .
Frank Harrell

Respuestas:

13

Muchos algoritmos de clasificación binaria calculan una especie de puntaje de clasificación (a veces, pero no siempre, es una probabilidad de estar en el estado objetivo), y se clasifican en función de si el puntaje está o no por encima de un cierto umbral. Ver la curva ROC le permite ver el equilibrio entre sensibilidad y especificidad para todos los umbrales posibles en lugar de solo el elegido por la técnica de modelado. Los diferentes objetivos de clasificación pueden hacer que un punto de la curva sea más adecuado para una tarea y otro más adecuado para una tarea diferente, por lo que mirar la curva ROC es una forma de evaluar el modelo independientemente de la elección de un umbral.

Michael McGowan
fuente
Gracias por la respuesta. Es realmente útil Basado en la curva ROC, ¿hay alguna forma de determinar el umbral? Y en mi caso, ¿cómo puedo obtener un punto en el espacio ROC para sensibilidad = 100% o especificidad = 100%. porque estoy cambiando el umbral del algoritmo de selección de características.
user570593
1
La curva ROC le muestra sensibilidad y especificidad en todos los umbrales posibles, por lo que si encuentra un punto que representa la compensación correcta, puede elegir el umbral que corresponde con ese punto en la curva.
Michael McGowan
¿Hay alguna forma automática de seleccionar la compensación correcta o debo seleccionar la compensación yo solo? Y en mi caso, ¿cómo puedo obtener un punto en el espacio ROC para sensibilidad = 100% o especificidad = 100%. porque estoy cambiando el umbral del algoritmo de selección de características.
user570593
2
Si tiene un criterio bien definido (por ejemplo, maximizar la precisión), esto puede automatizarse. Pero una buena compensación para un problema puede ser pésima para otro.
Michael McGowan
2
Se puede obtener trivialmente una sensibilidad o especificidad del 100% al establecer su umbral en el valor mínimo o máximo ... ¿es eso realmente lo que desea?
Michael McGowan
11

Las curvas ROC no son informativas en el 99% de los casos que he visto en los últimos años. Parecen ser considerados obligatorios por muchos estadísticos e incluso por más practicantes de aprendizaje automático. Y asegúrese de que su problema sea realmente un problema de clasificación y no un problema de estimación de riesgos. El núcleo de los problemas con las curvas ROC es que invitan a los usuarios a usar puntos de corte para variables continuas, y usan probabilidades hacia atrás, es decir, probabilidades de eventos que están en orden de tiempo inverso (sensibilidad y especificidad). Las curvas ROC no se pueden usar para encontrar compensaciones óptimas, excepto en casos muy especiales donde los usuarios de una regla de decisión abdican su función de pérdida (costo; utilidad) para el analista.

Frank Harrell
fuente
No estoy completamente de acuerdo con Frank. Creo que usar el AUC de ROC es a menudo un problema. Pero cualitativamente creo que puede ser útil comparar algoritmos. Solo mirar la especificidad y la sensibilidad en un solo punto no es tan informativo. Además, no estoy seguro de que su respuesta realmente aborde la pregunta porque el OP realmente quiere saber en su caso por qué cae en el 99% de los casos no informativos o el 1% que son informativos.
Michael R. Chernick
Hola Michael: agregaré que me gusta usar reglas de puntuación adecuadas, incluido R 2 generalizadoR2 medidas, índice de Brier (como el error cuadrático medio). Lo que realmente me gusta hacer es mostrar que las predicciones son precisas.
Frank Harrell
@FrankHarrell ¿Me interesaría lo que quieres decir con "99% no fueron informativos"? ¿Qué tipo de casos fueron y cuándo sería correcto usar el ROCC? También cómo se generalizan R2
1
@FrankHarrell Pero, ¿cómo se comparan dos algoritmos cuando no coinciden demasiado en especificidad y sensibilidad?
Michael R. Chernick
77
R2χ2R2
1

Después de crear una curva ROC, se puede calcular el AUC (área debajo de la curva). El AUC es la precisión de la prueba en muchos umbrales. AUC = 1 significa que la prueba es perfecta. AUC = .5 significa que funciona al azar para la clasificación binaria.

Si hay varios modelos, AUC proporciona una sola medición para comparar entre diferentes modelos. Siempre hay compensaciones con cualquier medida individual, pero AUC es un buen lugar para comenzar.

Brian Spiering
fuente
1
YCreXy
0

El AUC no compara las clases reales versus las predichas entre sí. No se trata de la clase predicha, sino del puntaje de predicción o la probabilidad. Puede hacer la predicción de la clase aplicando un límite a esta puntuación, por ejemplo, cada muestra que obtuvo una puntuación inferior a 0,5 se clasifica como negativa. Pero el ROC llega antes de que eso suceda. Está trabajando con los puntajes / probabilidades de clase.

Toma estos puntajes y clasifica todas las muestras de acuerdo con ese puntaje. Ahora, cada vez que encuentre una muestra positiva, la curva ROC da un paso hacia arriba (a lo largo del eje y). Cada vez que encuentra una muestra negativa, se mueve hacia la derecha (a lo largo del eje x). Si ese puntaje es diferente para las dos clases, las muestras positivas son lo primero (generalmente). Eso significa que das más pasos que a la derecha. Más abajo en la lista vendrán las muestras negativas, por lo que debe moverse hacia la izquierda. Cuando haya terminado la lista completa de muestras, llegará a la coordenada (1,1) que corresponde al 100% de las muestras positivas y al 100% de las negativas.

Si el puntaje separa perfectamente las muestras positivas de las negativas, se mueve desde (x = 0, y = 0) a (1,0) y luego desde allí a (1, 1). Entonces, el área debajo de la curva es 1.

Si su puntaje tiene la misma distribución para muestras positivas y negativas, las probabilidades de encontrar una muestra positiva o negativa en la lista ordenada son iguales y, por lo tanto, las probabilidades de moverse hacia arriba o hacia la izquierda en la curva ROC son iguales. Es por eso que te mueves a lo largo de la diagonal, porque esencialmente te mueves hacia arriba y hacia la izquierda, y hacia arriba y hacia la izquierda, y así sucesivamente ... lo que da un valor AROC de alrededor de 0.5.

En el caso de un conjunto de datos desequilibrado, el tamaño de los pasos es diferente. Entonces, realiza pasos más pequeños a la izquierda (si tiene más muestras negativas). Es por eso que el puntaje es más o menos independiente del desequilibrio.

Entonces, con la curva ROC, puede visualizar cómo se separan sus muestras y el área debajo de la curva puede ser una muy buena métrica para medir el rendimiento de un algoritmo de clasificación binaria o cualquier variable que pueda usarse para separar clases.

ingrese la descripción de la imagen aquí

La figura muestra las mismas distribuciones con diferentes tamaños de muestra. El área negra muestra dónde se esperarían curvas ROC de mezclas aleatorias de muestras positivas y negativas.

Sören
fuente
Estos gráficos no proporcionan información y tienen una relación tinta: información excepcionalmente alta en mi humilde opinión. Siga con los puntajes de precisión adecuados: fharrell.com/post/class-damage fharrell.com/post/addvalue
Frank Harrell
Hay mucha más información en estos gráficos que en una sola puntuación de precisión unidimensional. El mismo puntaje puede provenir de muchas distribuciones diferentes. ¿Tienes reconocimiento temprano? ¿Tiene múltiples clases de muestras positivas que se comportan de manera diferente? ¿Es su resultado estadísticamente significativo? Todas esas preguntas pueden ser obvias al responder mirando esos gráficos e imposibles de abordar con un solo puntaje de precisión.
Sören
Dudo seriamente que los consumidores y los analistas puedan obtener información de estas curvas que sea tan intuitiva como mostrar una curva de calibración superpuesta con un histograma de alta resolución que muestre los valores pronosticados. Y cada punto en la curva ROC es un puntaje de precisión incorrecto.
Frank Harrell el
Los principiantes a menudo tienen dificultades para comprender estas curvas. Por lo tanto, no recomendaría necesariamente mostrarlo a los consumidores para publicitar su producto. Creo que allí quieres algo más simplista. Sin embargo, la curva es más que los puntos individuales.
Sören