blog
La curva ROC (Receiver Operating Characteristic) è uno strumento statistico che valuta le prestazioni di un modello di classificazione.
Se sei uno studente di statistica o analisi dei dati, probabilmente ti sei trovato di fronte alla curva ROC nei tuoi studi e ti sei chiesto come interpretarla correttamente.
Se vuoi prepararti al meglio per superare il tuo esame di statistica, questa risorsa fa proprio per te.
La curva ROC è un grafico bidemensionale che mette in relazione la sensibilità (tasso di Veri Positivi) con la specificità (tasso di Veri Negativi) di un test, al variare di una valore soglia (cut-off).
Sull'asse delle ascisse si rappresenta il valore di 1 - Specificità (tasso di Falsi Positivi), mentre sull'asse delle ordinate si rappresenta la Sensibilità (tasso di Veri Positivi).
A proposito di sensibilità e specificità ne ho parlato in questo articolo.
Ogni punto sulla curva ROC corrisponde a una combinazione specifica di sensibilità e specificità per un particolare valore di soglia.
Questo strumento è particolarmente utile in contesti in cui è necessario distinguere tra due classi, come nel caso di diagnosi mediche (malato vs sano) o nelle decisioni di credito (affidabile vs non affidabile).
La curva ROC è importante perché offre una rappresentazione visiva delle performance di un modello di classificazione senza dipendere da un singolo valore soglia.
Invece di focalizzarsi su una singola metrica di performance, come l'accuratezza, la curva ROC consente di valutare come le prestazioni del modello cambiano in base a diverse soglie di decisione.
Questo è cruciale quando le conseguenze di falsi positivi e falsi negativi differiscono significativamente, come in applicazioni mediche o di sicurezza.
Misura la proporzione di veri positivi correttamente identificati dal modello. È calcolata come VP / (VP + FN), dove VP è il numero di veri positivi e FN è il numero di falsi negativi.
Misura la proporzione di veri negativi correttamente identificati dal modello. È calcolata come VN / (VN + FP), dove VN è il numero di veri negativi e FP è il numero di falsi positivi.
Rappresenta la proporzione di falsi positivi rispetto al totale tra i falsi positivi e i veri negativi. È calcolata come 1 - Specificità.
Un singolo valore numerico che riassume le prestazioni complessive del modello. Un AUC pari a 1 indica un modello perfetto, mentre un AUC pari a 0.5 un pessimo modello. Vedrai più avanti uno schema per consultare i valori intermedi che sono poi quelli reali.
Prima di tutto devi avere a disposizione una tabella come quella sotto che ti premetta di costruire la curva ROC e successivamente di interpretarla
Nella prima colonna trovi un valore che potrebbe rappresentare qualsiasi variabile di interesse, di solito in ambito medico.
Non essendo un medico facciamo finta che sia un ipotetica sostanza all'interno del corpo umano che più aumenta e più causa una malattia, per cui la usiamo come predittore.
Se scegli il valore più alto 290 avrai una sensibilità (Veri Positivi) di 0,069 quindi molti pazienti a rischio malattia non verranno intercettati (bassa sensibilità = molti Falsi Negativi) mentre verranno identificati meglio i pazienti sani con una specificità di 0,998 (alta specificità = pochi Falsi Positivi).
Viceversa se scegli il valore più basso di 100 ti troverai nella situazione opposta con una sensibilità di 0,992 che ti farà rilevare bene i malati (alta sensibilità = pochi Falsi Negativi) e una specificità di 0,221 che ti farà rilevare male i sani (bassa specificità = molti Falsi Nositivi)
A questo punto avrai capito che la coperta è corta, o meglio nella realtà è difficile avere una situazione in cui sensibilità e specificità siano entrambi uguali a 1 e quindi perfetti.
E' qui che ti viene in aiuto la curva ROC
La curva ti dovrebbe aiutare a scegliere il punto migliore per il cut-off cioè quello che ottimizza la scelta tra una buona sensibilità e una buona specificità.
Per farlo devi prendere il punto sulla curva ROC che più si distanzia dalla bisettrice. In questo esempio il punto corrisponde alle coordinate (0,20 ; 0,65) quindi identificando una specificità dell'80% (ricordati che 0,20 è pari a 1 - Specificità e si trova sull'asse X) e una sensibilità del 65%.
Se a una prima vista non ti sembra evidente che quella sia la distanza maggiore ma potrebbe anche esserci un'altra, non ti preoccupare perchè neanche io avrei la certezza guardando solo il grafico.
Per trovare la distanza massima dovrai calcolare l'indice di Younden.
Il calcolo di questo indice è molto semplice e lo vedi presente nell'ultima colonna della tabella sopra. Devi fare la differenza tra i valori di sensibilità e quelli di 1 - Specificità. Il numero più elevato della colonna sarà quello del cut-off ottimo.
Da punto di visto grafico ha senso in quanto il punto di cut off ha un'altezza pari al valore di sensibilità (nell'esempio 0,65) e per arrivare alla bisettrice sai che il valore della Y sarà per forza uguale al valore della X e quindi quello di 1 - Specificità (nell'esempio 0,20).
Un'ultima cosa da tenere presente è l'area che trovi sotto la curva ROC, questa dà una misura di attendibilità del test. Più l'AUC si avvicina a 1 è più il test è attendibile.
Questa misura è utile anche quando si vogliono confrontare tra di loro due o più curve ROC. Il test con un valore AUC più alto dovrebbe essere il migliore, ma non è una regola sufficiente per determinare con certezza la curva ROC migliore.
Indica un modello perfetto, che classifica correttamente tutte le osservazioni positive e negative.
Indica un buon modello con capacità discriminante buona. Più vicino a 1, migliore è il modello.
Indica un modello con capacità discriminante moderata, meglio del caso ma con prestazioni migliorabili.
Indica un modello senza capacità discriminante, equivalente a un'assegnazione casuale.
Non esiste un comando specifico ma bisogna costruire tabella e grafico come mostrato in precedenza
Analizza >>> Curva ROC
Iscriviti alla Newsletter