Determina quanto è buona una AUC (Area sotto la curva di ROC)

Aug 15 2020

Attualmente sto lavorando a un progetto che prevede l'utilizzo di diversi set di dati come predittore per prevedere il risultato di dati fuori campione. Uso AUC (Area under the Curve of ROC) per confrontare le prestazioni di ogni set di dati.

Conosco la teoria alla base di AUC e ROC, ma mi chiedo che esista uno standard preciso per valutare l'AUC , ad esempio, se un risultato AUC è superiore a 0,75, sarà classificato come "BUONA AUC" o inferiore a 0,55 , sarà classificato come "BAD AUC" .

Esiste un tale standard o l'AUC è sempre solo per il confronto?

Risposte

17 SextusEmpiricus Aug 16 2020 at 23:45

Dai commenti:

Calimo : Se sei un trader e puoi ottenere un AUC di 0,501 nel prevedere transazioni finanziarie future, sei l'uomo più ricco del mondo. Se sei un ingegnere della CPU e il tuo progetto ottiene un AUC di 0,999 nel dire se un bit è 0 o 1, hai un pezzo di silicio inutile.

10 usεr11852 Aug 16 2020 at 15:19

Questo è un complemento alla risposta di Andrey (+1).

Quando cercavo un riferimento generalmente accettato sui valori AUC-ROC, mi sono imbattuto nella " Regressione logistica applicata " di Hosmer . Nel cap. 5 " Valutare l'adattamento del modello ", ha sottolineato che " non esiste un numero" magico ", solo linee guida generali ". Qui vengono forniti i seguenti valori:

  • ROC = 0,5 Ciò non suggerisce alcuna discriminazione, (...).
  • 0,5 <ROC <0,7 Consideriamo questa scarsa discriminazione, (...).
  • 0.7 $\leq$ ROC <0,8 Consideriamo questa discriminazione accettabile.
  • 0.8 $\leq$ ROC <0.9 Consideriamo questa eccellente discriminazione.
  • ROC $\geq$ 0.9 Consideriamo questa eccezionale discriminazione.

Questi valori non sono affatto fissati su pietra e sono dati senza alcun contesto. Come ci insegna Star Trek: " La legge universale è per i lacchè, il contesto è per i re " , cioè (e più seriamente) dobbiamo capire cosa stiamo prendendo una particolare decisione e cosa riflettono le nostre metriche. Le mie linee guida sarebbero:

  1. Per ogni nuovo compito dovremmo esaminare attivamente la letteratura esistente per vedere cosa è considerato rendimento competitivo. (es. rilevamento del cancro del polmone da immagini a raggi X) Questa è praticamente una revisione della letteratura.
  2. Se i nostri compiti non sono presenti in letteratura, dovremmo mirare a fornire un miglioramento rispetto a un modello di base ragionevole. Quel modello di base potrebbe essere alcune semplici regole pratiche, altre soluzioni esistenti e / o previsioni fornite da valutatori umani.
  3. Se abbiamo un'attività senza letteratura esistente e nessun semplice modello di base disponibile, dovremmo smettere di provare a fare un confronto delle prestazioni del modello "migliore / peggiore". A questo punto, dire " AUC-R0C 0,75 è negativo " o " AUC-ROC 0,75 è buono " è una questione di opinione.
8 AndreyLukyanenko Aug 16 2020 at 03:25

Non è possibile dirlo perché dipende davvero dall'attività e dai dati. Per alcuni compiti semplici l'AUC può essere 90+, per altri ~ 0,5-0,6.

3 Thomas Aug 16 2020 at 13:10

In generale, non lo direi. Tutto dipende dall'attività, dal set di dati e dagli obiettivi. Non esiste una regola pratica che un valore AUC di xx sia definito come un buon modello di previsione.

Detto questo, vuoi ottenere il valore AUC più alto possibile. Nei casi in cui ottieni un AUC di 1, il tuo modello è essenzialmente un predittore perfetto per il tuo risultato. In casi di 0,5, il tuo modello non è davvero prezioso. Una AUC di 0,5 significa semplicemente che il modello prevede solo casualmente il risultato non meglio di quanto farebbe una scimmia (in teoria). Posso solo consigliarti di leggere di più a riguardo se non lo hai fatto. Questo è davvero semplice. E qui .