Come derivare l'interpretazione probabilistica dell'AUC?


14

Perché l'area sotto la curva ROC ha la probabilità che un classificatore classifichi un'istanza "positiva" scelta casualmente (dalle previsioni recuperate) più alta di un'istanza "positiva" scelta casualmente (dalla classe positiva originale)? Come si può dimostrare matematicamente questa affermazione usando l'integrale, dando ai CDF e ai PDF le vere distribuzioni di classe positive e negative?


2
Ho scritto una prova molto elementare di questo qui: madrury.github.io/jekyll/update/statistics/2017/06/21/…
Matthew Drury

Risposte:


10

Per prima cosa, proviamo a definire formalmente l'area sotto la curva ROC. Alcune ipotesi e definizioni:

  • Abbiamo un classificatore probabilistico che genera un "punteggio" s (x), dove x sono le caratteristiche, e s è una funzione monotonica crescente generica della probabilità stimata p (class = 1 | x).

  • fk(s) , con : = pdf dei punteggi per la classe k, con CDFk={0,1}Fk(s)

  • Si ottiene la classificazione di una nuova osservazione acquistando il punteggio s ad una soglia t

Inoltre, per comodità matematica, consideriamo la classe positiva (evento rilevato) k = 0 e negativa k = 1. In questa impostazione possiamo definire:

  • Richiama (aka Sensibilità, aka TPR) : (percentuale di casi positivi classificati come positivi)F0(t)
  • Specificità (aka TNR) : (percentuale di casi negativi classificati come negativi)1F1(t)
  • FPR (aka Fall-out) : 1 - TNR =F1(t)

La curva ROC è quindi un diagramma di contro . Impostando , possiamo definire formalmente l'area sotto la curva ROC come: Modifica variabile ( ): F0(t)F1(t)v=F1(s)

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

Questa formula può facilmente essere vista come la probabilità che un membro disegnato in modo casuale della classe 0 produca un punteggio inferiore al punteggio di un membro disegnato in modo casuale della classe 1.

Questa prova è tratta da: https://pdfs.semanticscholar.org/1fcb/f15898db36990f651c1e5cdc0b405855de2c.pdf


5

La risposta di @ alebu è ottima. Ma la sua notazione non è standard e usa 0 per la classe positiva e 1 per la classe negativa. Di seguito sono riportati i risultati per la notazione standard (0 per la classe negativa e 1 per la classe positiva):

Pdf e cdf del punteggio per la classe negativa: ef0(s)F0(s)

Pdf e cdf del punteggio per la classe positiva: ef1(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τ

dove sta per soglia. Si può applicare l'interpretazione nella risposta di @alebu all'ultima espressione.τ


1

Il modo per calcolare AUC-ROC è tracciare il TPR e FPR come soglia, viene modificato e calcolare l'area sotto quella curva. Ma perché quest'area sotto la curva è uguale a questa probabilità? Supponiamo che:τ

  1. A è la distribuzione dei punteggi prodotti dal modello per i punti dati che sono effettivamente nella classe positiva.
  2. B è la distribuzione dei punteggi prodotti dal modello per i punti dati che sono effettivamente nella classe negativa (vogliamo che questo sia alla sinistra di ).A
  3. τ è la soglia di soglia. Se un punto dati ottiene un punteggio maggiore di questo, si prevede che appartenga alla classe positiva. Altrimenti, si prevede che sia nella classe negativa.

Si noti che il TPR (richiamo) è dato da: e il FPR (fallout) è dato da: .P(A>τ)P(B>τ)

Ora, tracciamo il TPR sull'asse y e FPR sull'asse x, disegniamo la curva per vari e calcoliamo l'area sotto questa curva ( ).τAUC

Noi abbiamo:

AUC=01TPR(x)dx=01P(A>τ(x))dx
dove è l'FPR. Ora, un modo per calcolare questo integrale è considerare come appartenente a una distribuzione uniforme. In tal caso, diventa semplicemente l'aspettativa del .xxTPR

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

Ora, qui era solo l'xFPR

x=FPR=P(B>τ(x))
Poiché abbiamo considerato come da una distribuzione uniforme,x

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

Ma sappiamo dalla antitrasformata legge che per ogni variabile casuale , se allora . Questo segue dal momento che prendere qualsiasi variabile casuale e applicare il proprio CDF ad essa porta all'uniforme.XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X
e questo vale solo per l'uniforme.

L'uso di questo fatto nell'equazione (2) ci dà:

τ(x)B

Sostituendo questo nell'equazione (1) otteniamo:

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

In altre parole, l'area sotto la curva è la probabilità che un campione positivo casuale abbia un punteggio più alto rispetto a un campione negativo casuale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.