Perché l'AUC è più alta per un classificatore meno accurato rispetto a uno più accurato?


29

Ho due classificatori

  • A: ingenua rete bayesiana
  • B: rete bayesiana ad albero (collegata singolarmente)

In termini di accuratezza e altre misure, A si comporta in modo relativamente peggiore di B. Tuttavia, quando utilizzo i pacchetti R ROCR e AUC per eseguire l'analisi ROC, si scopre che l'AUC per A è superiore all'AUC per B. Perché è questo succedendo?

Il vero positivo (tp), il falso positivo (fp), il falso negativo (fn), il vero negativo (tn), la sensibilità (sen), la specificità (spec), il valore predittivo positivo (ppv), il valore predittivo negativo (npv) e la precisione (acc) per A e B è la seguente.

+------+---------+---------+
|      |    A    |    B    |
+------+---------+---------+
| tp   | 3601    | 769     |
| fp   | 0       | 0       |
| fn   | 6569    | 5918    |
| tn   | 15655   | 19138   |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv  | 1.00000 | 1.00000 |
| npv  | 0.70442 | 0.76381 |
| acc  | 0.74563 | 0.77084 |
+------+---------+---------+

Con l'eccezione di sens e legami (spec e ppv) sui marginali (esclusi tp, fn, fn e tn), B sembra funzionare meglio di A.

Quando computo l'AUC per sens (asse y) vs 1-spec (asse x)

aucroc <- auc(roc(data$prediction,data$labels));

ecco il confronto AUC.

+----------------+---------+---------+
|                |    A    |    B    |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec   | 0.70770 | 0.61000 |
+----------------+---------+---------+

Quindi, ecco le mie domande:

  • Perché l'AUC per A è migliore di B, quando B "sembra" sovraperformare A rispetto alla precisione?
  • Quindi, come posso davvero giudicare / confrontare le prestazioni di classificazione di A e B? Voglio dire, uso il valore AUC? Uso il valore acc e, in caso affermativo, perché?
  • Inoltre, quando applico le regole di punteggio adeguate ad A e B, B supera A in termini di perdita del log, perdita quadratica e perdita sferica (p <0,001). In che modo incidono sulla valutazione delle prestazioni di classificazione rispetto all'AUC?
  • Il grafico ROC per A sembra molto liscio (è un arco curvo), ma il grafico ROC per B sembra un insieme di linee collegate. Perchè è questo?

Come richiesto, ecco i grafici per il modello A.

modello Una rete ingenua di bayes

Ecco i grafici per il modello B.

modello B net bayes regolari

Ecco i grafici dell'istogramma della distribuzione delle probabilità per A e B. (le interruzioni sono impostate su 20).

trama dell'istogramma

Ecco il diagramma a dispersione delle probabilità di B vs A.

trama a dispersione


1
Le tue tabelle non hanno senso: come hai scelto il punto in cui hai calcolato quei valori di rendimento?
Calimo,

3
Ricorda che l'AUC misura le prestazioni su tutte le soglie possibili . Aiuterebbe (anche tu) se tu potessi mostrare le curve (idealmente sulla stessa trama).
Calimo,

@Calimo mi dispiace, ho dimenticato di includere tali informazioni, ma la soglia utilizzata per creare quella matrice di confusione era del 50%.
Jane Wayne,

Intendi 0,5? I valori previsti di A e B sembrano chiaramente diversi, e se non hai ancora il suggerimento, dovresti sicuramente tracciare gli istogrammi fianco a fianco ...
Calimo

@Calimo potresti chiarire, gli istogrammi di cosa fianco a fianco?
Jane Wayne,

Risposte:


27

cDxy


6
cc

1
@alto, 0,5 è estremamente arbitrario, in coincidenza con una funzione di utilità / perdita / costo molto insolita in cui due tipi di errori sono ugualmente gravi. Questo è raro. Pensando in modo probabilistico, che è il modo in cui mi capita di credere al modo in cui funziona la natura, non esiste un "errore", ma piuttosto un grado di cattiveria di una previsione del rischio. Ad esempio, prevedere una probabilità di 0,6 quindi osservare un evento è peggio che prevedere una probabilità di 0,9 e quindi osservare un evento. Ma nessuna delle due previsioni è "sbagliata". È possibile utilizzare i punteggi di precisione della probabilità che non richiedono soglie.
Frank Harrell,

3
Un modello illimitato come quello logistico non porta a un eccesso di adattamento rispetto a qualsiasi altro approccio. La trasformazione logistica assicura che le stime di probabilità siano ben educate. L'unico aspetto negativo di una regola di punteggio logaritmico è se si prevede una probabilità estremamente vicina a 0 o 1 e si "sbaglia". È vero che alla fine si prende una decisione ma non ne consegue affatto che l'analista debba prendere la decisione usando una soglia. La decisione dovrebbe essere rinviata al decisore. Il libro Signal and Noise di Nate Silver documenta grandi benefici del pensiero probabilistico.
Frank Harrell,

1
@FrankHarrell, è frustrante continuare a fraintendere la mia opinione. Non ho mai sostenuto un approccio a scatola nera. Penso semplicemente che la tua affermazione "x sia inutile, usa solo y" è troppo forte.
alto

4
@alto che è percettivo. Penso che il riconoscimento di modelli in tempo reale non abbia tempo per le utility. Questo non è il mondo in cui lavoro. Ma ci sono ancora casi in tempo reale in cui preferiresti che una scatola nera ti dicesse "incerto" piuttosto che forzare una scelta tra "che è un carro armato che ti arriva" contro "che è un autovettura ".
Frank Harrell,

16
  1. Perché l'AUC per A è migliore di B, quando B "sembra" sovraperformare A rispetto alla precisione?

    La precisione viene calcolata al valore di soglia di 0,5. Mentre l'AUC viene calcolata aggiungendo tutte le "accuratezze" calcolate per tutti i possibili valori di soglia. Il ROC può essere visto come una media (valore atteso) di tali precisioni quando vengono calcolati per tutti i valori di soglia.

  2. Quindi, come posso davvero giudicare / confrontare le prestazioni di classificazione di A e B? Voglio dire, uso il valore AUC? uso il valore acc? e perché?

    Dipende. Le curve ROC forniscono informazioni su quanto bene il modello del modello separa le due classi, indipendentemente da dove si trovi il valore di soglia. La precisione è una misura che di solito funziona bene quando le classi mantengono lo stesso equilibrio sui treni e sui set di prova e quando i punteggi sono davvero probabili. ROC fornisce ulteriori suggerimenti su come si comporterà il modello in caso di violazione di questo presupposto (tuttavia è solo un'idea).

  3. inoltre, quando applico le regole di punteggio adeguate ad A e B, B supera A in termini di perdita del log, perdita quadratica e perdita sferica (p <0,001). in che modo incidono sulla valutazione delle prestazioni di classificazione rispetto all'AUC?

    Non lo so. Devi capire meglio di cosa tratta i tuoi dati. Ciò che ciascun modello è in grado di comprendere dai tuoi dati. E decidi in seguito qual è il miglior compromesso. Il motivo per cui ciò accade è che non esiste una metrica universale sulle prestazioni di un classificatore.

  4. Il grafico ROC per A sembra molto liscio (è un arco curvo), ma il grafico ROC per B sembra un insieme di linee collegate. perchè è questo?

    Ciò è probabilmente dovuto al fatto che il modello bayesiano offre transizioni fluide tra queste due classi. Questo è tradotto in molti valori di soglia. Ciò significa che molti punti sulla curva ROC. Il secondo modello probabilmente produce meno valori a causa della previsione con lo stesso valore su regioni più grandi dello spazio di input. Fondamentalmente, anche la prima curva ROC è composta da linee, l'unica differenza è che ci sono così tante piccole linee adiacenti che la vedi come una curva.


1
La precisione può essere calcolata a valori soglia diversi da 0,5.
Calimo,

Certo che hai ragione. Ecco perché ho usato le "accuratezze" nella prossima proposta. Tuttavia, quando si parla di accuratezza, senza altre informazioni di contesto, la migliore ipotesi per il valore di soglia è 0,5.
rapaio,

2
È facile vedere quanto sia arbitrario un simile processo. Pochi stimatori nelle statistiche che richiedono binning o scelte arbitrarie sono sopravvissuti senza pesanti critiche. E non definirei mai la proporzione classificata corretta come "accuratezza".
Frank Harrell,

@unreasonablelearner hai ragione sul tuo presupposto .. la matrice di confusione sopra è stata calcolata alla soglia 0,5. c'è qualche vantaggio su una soglia diversa?
Jane Wayne,

1
@JaneWayne La formula è effettivamente per la proporzione di classificato corretto. La precisione è il termine più usato per questo. Tuttavia l'accuratezza significa molto di più, e alla luce di ciò che ha detto Frank Harrell, penso che l'accuratezza non sia di gran lunga il termine migliore per questo. Ora penso che il suo utilizzo potrebbe danneggiare, anche se è popolare. È così che mi sbagliavo.
rapaio

4

Perché l'AUC per A è migliore di B, quando B "sembra" sovraperformare A rispetto alla precisione?

In primo luogo, sebbene il cut-off (0,5) sia lo stesso, non è affatto paragonabile tra A e B. In effetti, sembra piuttosto diverso dai tuoi istogrammi! Guarda B: tutte le tue previsioni sono <0,5.

Secondo, perché B è così preciso? A causa dello squilibrio di classe. Nel test B, hai 19138 esempi negativi e 6687 positivi (perché i numeri sono diversi in A non è chiaro per me: valori mancanti forse?). Ciò significa che, semplicemente dicendo che tutto è negativo, posso già ottenere una precisione abbastanza buona: precisamente 19138 / (19138 + 6687) = 74%. Nota che questo non richiede assolutamente alcuna conoscenza oltre al fatto che c'è uno squilibrio tra le classi: anche il modello più stupido può farlo!

E questo è esattamente ciò che fa il test B alla soglia di 0,5 ... ottieni (quasi) solo previsioni negative.

A è più un miscuglio con. Sebbene abbia una precisione leggermente inferiore, nota che la sua sensibilità è molto più alta in questo cut-off ...

Infine, non è possibile confrontare l'accuratezza (una prestazione a una soglia) con l'AUC (una prestazione media su tutte le soglie possibili). Poiché queste metriche misurano cose diverse, non sorprende che siano diverse.

Quindi, come posso davvero giudicare / confrontare le prestazioni di classificazione di A e B? voglio dire, uso il valore AUC? uso il valore acc? e perché?

Inoltre, quando applico le regole di punteggio adeguate ad A e B, B supera A in termini di perdita del log, perdita quadratica e perdita sferica (p <0,001). In che modo incidono sulla valutazione delle prestazioni di classificazione rispetto all'AUC?

Devi pensare: cosa vuoi davvero fare? Cosa è importante Alla fine, solo tu puoi rispondere a questa domanda in base alla tua conoscenza della domanda. Forse l'AUC ha senso (raramente lo fa davvero quando ci pensi davvero, tranne quando non vuoi prendere una decisione da solo ma lascia che gli altri lo facciano - è molto probabile che tu stia facendo uno strumento che gli altri possano usare), forse l'accuratezza (se hai bisogno di una risposta binaria, go-no go), ma forse a soglie diverse, forse alcune altre misure più continue, forse una delle misure suggerite da Frank Harrell ... come già detto, non esiste una domanda universale Qui.

Il grafico ROC per A sembra molto liscio (è un arco curvo), ma il grafico ROC per B sembra un insieme di linee collegate. Perchè è questo?

Torna alle previsioni che hai mostrato sugli istogrammi. A fornisce una previsione continua o quasi continua. Al contrario, B restituisce principalmente solo alcuni valori diversi (come si può vedere dall'istogramma "appuntito").

In una curva ROC, ogni punto corrisponde a una soglia. In A, hai molte soglie (perché le previsioni sono continue), quindi la curva è liscia. In B, hai solo alcune soglie, quindi la curva sembra "salti" da un SN / SP a un altro.

Si vedono salti verticali quando cambia solo la sensibilità (la soglia fa differenze solo per casi positivi), salti orizzontali quando cambia solo la specificità (la soglia fa differenze solo per esempi negativi) e salti diagonali quando la variazione di soglia influenza entrambe le classi.


+1, tuttavia, non è vero che l'AUC sia solo per "quando non vuoi prendere una decisione da solo ma lascia che gli altri lo facciano". Vedi: Come calcolare l'Area Under the Curve (AUC), o la statistica c, a mano .
gung - Ripristina Monica
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.