¿Cómo derivar la interpretación probabilística de las AUC?

14

¿Por qué el área bajo la curva ROC es la probabilidad de que un clasificador clasifique una instancia "positiva" elegida al azar (de las predicciones recuperadas) más alta que una instancia "positiva" elegida al azar (de la clase positiva original)? ¿Cómo se prueba matemáticamente esta afirmación usando integral, dando los CDF y PDF de las verdaderas distribuciones de clase positiva y negativa?

mff
fuente
2
Escribí una prueba muy elemental de esto aquí: madrury.github.io/jekyll/update/statistics/2017/06/21/…
Matthew Drury

Respuestas:

10

Primero, intentemos definir formalmente el área bajo la curva ROC. Algunos supuestos y definiciones:

  • Tenemos un clasificador probabilístico que genera una "puntuación" s (x), donde x son las características, y s es una función monotónica creciente genérica de la probabilidad estimada p (clase = 1 | x).

  • fk(s) , con : = pdf de las puntuaciones para la clase k, con CDFk={0,1}Fk(s)

  • La clasificación de una nueva observación se obtiene comprando la puntuación s en un umbral t

Además, por conveniencia matemática, consideremos la clase positiva (evento detectado) k = 0, y negativa k = 1. En esta configuración podemos definir:

  • Recordar (también conocido como Sensibilidad, también conocido como TPR) : (proporción de casos positivos clasificados como positivos)F0(t)
  • Especificidad (también conocida como TNR) : (proporción de casos negativos clasificados como negativos)1F1(t)
  • FPR (también conocido como Fall-out) : 1 - TNR =F1(t)

La curva ROC es entonces una gráfica de contra . Configurando , podemos definir formalmente el área bajo la curva ROC como: Variable cambiante ( ): F0(t)F1(t)v=F1(s)

AUC=01F0(F11(v))dv
dv=f1(s)ds
AUC=F0(s)f1(s)ds

Se puede ver fácilmente que esta fórmula es la probabilidad de que un miembro de la clase 0 seleccionado aleatoriamente produzca una puntuación menor que la de un miembro de la clase 1 seleccionado aleatoriamente.

Esta prueba está tomada de: https://pdfs.semanticscholar.org/1fcb/f15898db36990f651c1e5cdc0b405855de2c.pdf

alebu
fuente
5

La respuesta de @ alebu es genial. Pero su notación no es estándar y usa 0 para la clase positiva y 1 para la clase negativa. A continuación se muestran los resultados para la notación estándar (0 para la clase negativa y 1 para la clase positiva):

Pdf y cdf de la puntuación para clase negativa: yf0(s)F0(s)

Pdf y cdf de la puntuación para clase positiva: yf1(s)F1(s)

FPR =x(s)=1F0(s)

TPR =y(s)=1F1(s)

AUC=01y(x)dx=01y(x(τ))dx(τ)=+y(τ)x(τ)dτ=+(1F1(τ))(f0(τ))dτ=+(1F1(τ))f0(τ)dτ

donde significa umbral. Se puede aplicar la interpretación en la respuesta de @ alebu a la última expresión.τ

Lei Huang
fuente
1

La forma de calcular AUC-ROC 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? 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 realmente 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 .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.

El uso de 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 debajo de 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