¿Qué significa AUC y qué es?

228

Busqué por todos lados y no he podido averiguar qué significan o significan las AUC, en relación con la predicción.

josh
fuente
8
Verifique la descripción de la aucetiqueta que utilizó: stats.stackexchange.com/questions/tagged/auc
Tim
44
Área bajo la curva (es decir, curva ROC)
Andrej
77
Los lectores aquí también pueden estar interesados ​​en el siguiente hilo: Entender la curva ROC .
Gung
11
La expresión "Búsqueda alta y baja" es interesante, ya que puede encontrar muchas definiciones / usos excelentes para AUC escribiendo "AUC" o "Estadísticas de AUC" en Google. Pregunta apropiada, por supuesto, ¡pero esa declaración me tomó por sorpresa!
Behacad
3
Hice Google AUC pero muchos de los mejores resultados no indicaron explícitamente AUC = Área bajo curva. La primera página de Wikipedia relacionada con él lo tiene, pero no hasta la mitad. En retrospectiva, ¡parece bastante obvio! Gracias a todos por algunas respuestas realmente detalladas
josh

Respuestas:

309

Abreviaturas

AUC se usa la mayor parte del tiempo para referirse a AUROC, lo cual es una mala práctica ya que, como Marc Claesen señaló, AUC es ambiguo (podría ser cualquier curva) mientras que AUROC no lo es.


Interpretando el AUROC

El AUROC tiene varias interpretaciones equivalentes :

  • La expectativa de que un positivo aleatorio dibujado uniformemente se clasifique antes que un negativo aleatorio dibujado uniformemente.
  • La proporción esperada de positivos se clasificó antes que un negativo aleatorio dibujado uniformemente.
  • La tasa positiva verdadera esperada si la clasificación se divide justo antes de un negativo aleatorio dibujado uniformemente.
  • La proporción esperada de negativos se clasificó después de un positivo aleatorio dibujado uniformemente.
  • La tasa de falsos positivos esperada si la clasificación se divide justo después de un positivo aleatorio dibujado uniformemente.

Yendo más allá: ¿Cómo derivar la interpretación probabilística del AUROC?


Computando el AUROC

Supongamos que tenemos un clasificador binario probabilístico, como la regresión logística.

Antes de presentar la curva ROC (= curva característica de funcionamiento del receptor), debe entenderse el concepto de matriz de confusión . Cuando hacemos una predicción binaria, puede haber 4 tipos de resultados:

  • Predecimos 0 mientras la clase verdadera es en realidad 0: esto se llama Verdadero negativo , es decir, predecimos correctamente que la clase es negativa (0). Por ejemplo, un antivirus no detectó un archivo inofensivo como un virus.
  • Predecimos 0 mientras la clase verdadera es en realidad 1: esto se llama Falso negativo , es decir, predecimos incorrectamente que la clase es negativa (0). Por ejemplo, un antivirus no pudo detectar un virus.
  • Predecimos 1 mientras que la clase verdadera es en realidad 0: esto se llama Falso Positivo , es decir, predecimos incorrectamente que la clase es positiva (1). Por ejemplo, un antivirus consideraba que un archivo inofensivo era un virus.
  • Predecimos 1 mientras que la clase verdadera es en realidad 1: esto se llama un Verdadero Positivo , es decir, predecimos correctamente que la clase es positiva (1). Por ejemplo, un antivirus detectó legítimamente un virus.

Para obtener la matriz de confusión, revisamos todas las predicciones hechas por el modelo y contamos cuántas veces ocurren cada uno de esos 4 tipos de resultados:

ingrese la descripción de la imagen aquí

En este ejemplo de una matriz de confusión, entre los 50 puntos de datos que están clasificados, 45 están correctamente clasificados y los 5 están mal clasificados.

Dado que para comparar dos modelos diferentes, a menudo es más conveniente tener una sola métrica en lugar de varias, calculamos dos métricas de la matriz de confusión, que luego combinaremos en una:

  • Verdadero índice positivo ( TPR ), alias. sensibilidad, frecuencia de aciertos y recuperación , que se define como . Intuitivamente, esta métrica corresponde a la proporción de puntos de datos positivos que se consideran correctamente como positivos, con respecto a todos los puntos de datos positivos. En otras palabras, cuanto mayor sea el TPR, menos puntos de datos positivos perderemos.TPTP+FN
  • Tasa de falso positivo ( FPR ), alias. fall-out , que se define como . Intuitivamente, esta métrica corresponde a la proporción de puntos de datos negativos que se consideran erróneamente como positivos, con respecto a todos los puntos de datos negativos. En otras palabras, cuanto mayor sea el FPR, más puntos de datos negativos se clasificarán erróneamente.FPFP+TN

Para combinar el FPR y el TPR en una sola métrica, primero calculamos las dos métricas anteriores con muchos umbrales diferentes (por ejemplo ) para la regresión logística, luego las graficamos en una sola gráfica, con los valores FPR en la abscisa y los valores TPR en la ordenada. La curva resultante se llama curva ROC, y la métrica que consideramos es el AUC de esta curva, que llamamos AUROC.0.00;0.01,0.02,,1.00

La siguiente figura muestra el AUROC gráficamente:

ingrese la descripción de la imagen aquí

En esta figura, el área azul corresponde al área bajo la curva de la característica de funcionamiento del receptor (AUROC). La línea discontinua en la diagonal presentamos la curva ROC de un predictor aleatorio: tiene un AUROC de 0.5. El predictor aleatorio se usa comúnmente como referencia para ver si el modelo es útil.

Si quieres obtener experiencia de primera mano:

Franck Dernoncourt
fuente
44
Brillante explicación. Gracias. Una pregunta solo para aclarar que entiendo: ¿estoy en lo cierto al decir que, en este gráfico, un cuadrado azul sólido tendría una curva ROC (AUC = 1) y sería un buen modelo de predicción? Supongo que esto es teóricamente posible.
josh
25
@josh Sí, eso es correcto. El AUROC está entre 0 y 1, y AUROC = 1 significa que el modelo de predicción es perfecto. De hecho, más lejos el AUROC es de 0.5, mejor: si AUROC <0.5, entonces solo necesita invertir la decisión que está tomando su modelo. Como resultado, si AUROC = 0, esa es una buena noticia porque solo necesita invertir la salida de su modelo para obtener un modelo perfecto.
Franck Dernoncourt el
1
el enlace "varias interpretaciones equivalentes" está roto.
Haitao Du
1
En las interpretaciones de AUROC "La tasa de falsos positivos esperada si la clasificación se divide justo después de un positivo aleatorio dibujado uniformemente", ¿no debería ser (1 - FPR)?
Mudit Jain
1
@ ryu576 idealmente, el número de puntos en la curva ROC es de hecho el número de muestras de prueba.
Franck Dernoncourt
60

Aunque llego un poco tarde a la fiesta, aquí están mis 5 centavos. @FranckDernoncourt (+1) ya mencionó posibles interpretaciones de AUC ROC, y mi favorita es la primera en su lista (uso una redacción diferente, pero es la misma):

el AUC de un clasificador es igual a la probabilidad de que el clasificador clasifique un ejemplo positivo elegido al azar más alto que un ejemplo negativo elegido al azar, es decir,P(score(x+)>score(x))

Considere este ejemplo (auc = 0.68):

ingrese la descripción de la imagen aquí

Tratemos de simularlo: dibuje ejemplos aleatorios positivos y negativos y luego calcule la proporción de casos en que los positivos tienen una puntuación mayor que los negativos

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = c(0.9, 0.8, 0.7, 0.6, 0.55, 0.51, 0.49, 0.43, 0.42, 0.39, 0.33, 
          0.31, 0.23, 0.22, 0.19, 0.15, 0.12, 0.11, 0.04, 0.01)

pos = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

Y obtenemos 0.67926. Muy cerca, ¿no?

 

Por cierto, en RI normalmente se usa el paquete ROCR para dibujar curvas ROC y calcular AUC.

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

ingrese la descripción de la imagen aquí

Alexey Grigorev
fuente
Agradable. El segundo bloque gris definitivamente aclara el método de trazado.
josh
+1 (de antes). Más arriba me vinculé a otro hilo en el que hiciste una muy buena contribución a un tema relacionado. Esto aquí hace un gran trabajo complementando la publicación de @ FranckDernoncourt y ayudando a desarrollarla aún más.
Gung
1
En la curva ROC producida por el paquete R, ¿Qué significa el color? ¿Pueden agregarle algunos detalles? Gracias !
Prradep
¿Probablemente sería útil agregar verdaderos positivos y verdaderos negativos a la explicación en el cuadro gris de arriba? De lo contrario, puede ser un poco confuso.
cbellei
42

No se incluyen consideraciones importantes en ninguna de estas discusiones. Los procedimientos discutidos anteriormente invitan a umbrales inapropiados y utilizan reglas de puntuación de precisión incorrectas (proporciones) que se optimizan eligiendo las características incorrectas y dándoles los pesos incorrectos.

La dicotomización de predicciones continuas va en contra de la teoría de la decisión óptima. Las curvas ROC no proporcionan información procesable. Se han convertido en obligatorios sin que los investigadores examinen los beneficios. Tienen una tinta muy grande: relación de información.

Las decisiones óptimas no consideran "positivos" y "negativos", sino la probabilidad estimada del resultado. La función de utilidad / costo / pérdida, que no juega ningún papel en la construcción de ROC, por lo tanto, la inutilidad de los ROC, se utiliza para traducir la estimación de riesgo a la decisión óptima (por ejemplo, la pérdida más baja esperada).

El objetivo de un modelo estadístico es a menudo hacer una predicción, y el analista a menudo debe detenerse allí porque el analista puede no conocer la función de pérdida. Los componentes clave de la predicción para validar imparcialmente (p. Ej., Usando el bootstrap) son la discriminación predictiva (una forma semi-buena de medir esto es la probabilidad de concordancia que ocurre para igualar el área bajo el ROC pero puede entenderse más fácilmente si no t dibuje el ROC) y la curva de calibración. La validación de la calibración es realmente muy necesaria si está utilizando predicciones en una escala absoluta.

Consulte el capítulo Pérdida de información en Bioestadística para investigación biomédica y otros capítulos para obtener más información.

Frank Harrell
fuente
2
Todas las demás respuestas se centran en fórmulas matemáticas que no tienen utilidad práctica. Y la única respuesta correcta tiene menos votos positivos.
max
66
He estado en el extremo receptor de respuestas aparentemente crípticas sobre este tema del profesor Harrell: son excelentes en la forma en que te obligan a pensar mucho. Lo que creo que está insinuando es que no desea aceptar casos falsos negativos en una prueba de detección del VIH (ejemplo ficticio), incluso si aceptar un mayor porcentaje de falsos negativos (reducción concomitante de falsos positivos) podría colocar su punto de corte en el AUC maxima. Perdón por la brutal simplificación excesiva.
Antoni Parellada
Aquí
Antoni Parellada
17

AUC es una abreviatura de área bajo la curva . Se utiliza en el análisis de clasificación para determinar cuál de los modelos utilizados predice mejor las clases.

Un ejemplo de su aplicación son las curvas ROC. Aquí, las verdaderas tasas positivas se grafican contra las tasas positivas falsas. Un ejemplo está abajo. Cuanto más se acerque AUC a un modelo, mejor será. Por lo tanto, se prefieren modelos con AUC más altas que aquellos con AUC más bajas.

Tenga en cuenta que también hay otros métodos que las curvas ROC, pero también están relacionados con las tasas de verdadero positivo y falso positivo, por ejemplo, recuperación de precisión, F1-Score o curvas de Lorenz.

                                            Ejemplo de una curva ROC

chico al azar
fuente
2
¿puede explicar la curva ROC en el contexto de una simple validación cruzada del resultado 0/1? No sé entender muy bien cómo se construye la curva en ese caso.
Curioso
10

Las respuestas en este foro son geniales y vuelvo aquí a menudo como referencia. Sin embargo, siempre faltaba una cosa. De la respuesta de @ Frank, vemos la interpretación de AUC como la probabilidad de que una muestra positiva tenga una puntuación más alta que la muestra negativa. Al mismo tiempo, la forma de calcularlo es trazar el TPR y el FPR como el umbral, se cambia y calcular el área bajo esa curva. Pero, ¿por qué esta área bajo la curva es igual a esta probabilidad? @Alexy mostró a través de la simulación que están cerca, pero ¿podemos derivar esta relación matemáticamente? Asumamos lo siguiente:τ

  1. A es la distribución de puntajes que el modelo produce para los puntos de datos que realmente están en la clase positiva.
  2. B es la distribución de puntajes que el modelo produce para los puntos de datos que en realidad están en la clase negativa (queremos que esté a la izquierda de ).A
  3. τ es el umbral de corte. Si un punto de datos obtiene un puntaje mayor que este, se predice que pertenece a la clase positiva. De lo contrario, se predice que estará en la clase negativa.

Tenga en cuenta que el TPR (recuperación) viene dado por: y el FPR (caída) es: .P(A>τ)P(B>τ)

Ahora, graficamos el TPR en el eje y y el FPR en el eje x, dibujamos la curva para varios y calculamos el área bajo esta curva ( ).τAUC

Obtenemos:

AUC=01TPR(x)dx=01P(A>τ(x))dx
donde es el FPR. Ahora, una forma de calcular esta integral es considerar que pertenece a una distribución uniforme. En ese caso, simplemente se convierte en la expectativa del ya que el PDF del uniforme es 1.xxTPR

(1)AUC=Ex[P(A>τ(x))]
si consideramos .xU[0,1)

Ahora, aquí era solo elxFPR

x=FPR=P(B>τ(x))
Dado que consideramos que es de una distribución uniforme,x

P(B>τ(x))U
=>P(B<τ(x))(1U)U
(2)=>FB(τ(x))U

Pero sabemos por la transformada inversa de la ley que para cualquier variable aleatoria , si continuación, . Esto se debe a que tomar cualquier variable aleatoria y aplicarle su propio CDF conduce al uniforme.XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X
y esto solo es válido para el uniforme.

Usar este hecho en la ecuación (2) nos da:

τ(x)B

Sustituyendo esto en la ecuación (1) obtenemos:

AUC=Ex(P(A>B))=P(A>B)

En otras palabras, el área bajo la curva es la probabilidad de que una muestra positiva aleatoria tenga una puntuación más alta que una muestra negativa aleatoria.

ryu576
fuente