Vad är formeln för att beräkna ytan under ROC-kurvan från en beredskapstabell?

Till exempel om min tabell är:

 True Value (gold standard) Positive | Negative | | | | | Test | Pos | A | B | Result | | | | | Neg | C | D | | | | | 

Kommentarer

  • Det ' är inte klart för mig att det kan finnas ett användbart svar på denna fråga. Mottagarens funktionskaraktäristiska kurva (ROC) representerar intervallet mellan kompromisser mellan sann-positiva och falsk-positiva klassificeringar när man ändrar tröskeln för att göra det valet från modellen. En beredskapstabell representerar klassificeringsresultaten vid ett särskilt val av den tröskeln. Man kanske kan beräkna något som ett område (som ett föreslaget svar här gör), men det ' är inte klart som verkligen skulle representera området under ROC-kurvan för hela modellen .
  • Om din prediktor är dikotom, och det därför bara finns en tröskel, tror jag att AUC fortfarande ger (en del) användbar information.
  • @ JeremyMiles, vänligen ge ett icke-trivialt exempel på prediktorn där endast en tröskel finns.
  • @PavelTyshevskyi – säker. (Jag glömmer vad sammanhanget var för denna fråga). Jag arbetar med betyg som klassificerar annonser. Ett exempel är pornografi (vilket är dåligt). Vi frågar betyg " Är den här annonsen för pornografi? " De säger ja eller nej.

Svar

I det allmänna fallet: du kan ”t

ROC-kurvan visar hur känslighet och specificitet varierar vid alla möjliga trösklar . En beredskapstabell har beräknats med en enda tröskel och information om andra tröskelvärden har gått förlorad. Därför kan du inte beräkna ROC-kurvan utifrån de sammanfattade uppgifterna.

Men min klassificeraren är binär, så jag har en enda tröskel

Binära klassificeringsapparater är inte riktigt binära. Även om de bara kan avslöja ett slutgiltigt binärt beslut, är alla klassificeringsapparater som jag känner litar på någon kvantitativ uppskattning under huven.

  • Ett binärt beslutsträd? Försök att bygga ett regressionsträd.
  • En klassificering SVM? Gör en stödjande vektorregression.
  • Logistisk regression? Få tillgång till de råa sannolikheterna.
  • Neuralt nätverk? Använd den numeriska utgången på t han sista lagret istället.

Detta ger dig mer frihet att välja den optimala tröskeln för att få bästa möjliga klassificering för dina behov.

Men jag vill verkligen

Du borde verkligen inte. ROC-kurvor med få trösklar underskattar signifikant det verkliga området under kurvan (1). En ROC-kurva med en enda punkt är ett värsta fall, och alla jämförelser med en kontinuerlig klassificering kommer att vara felaktiga och vilseledande.

Ge mig bara svaret!

Ok, ok , du vinner. Med en enda punkt kan vi betrakta AUC som summan av två trianglar T och U:

En ROC-kurva med ett enda (SP, SE) par och två trianglar

Vi kan få deras områden baserat på beredskapstabellen (A, B, C och D som du definierade):

$$ \ begin {align *} T = \ frac {1 \ times SE} {2} & = \ frac {SE} {2} = \ frac {A} {2 (A + C)} \\ U = \ frac {SP \ times 1} {2} & = \ frac {SP} {2} = \ frac {D} {2 (B + D)} \ end {align *} $$

Få AUC: $$ \ begin {align *} AUC & = T + U \\ & = \ frac {A} {2 (A + C)} + \ frac {D} {2 (B + D)} \\ & = \ frac {SE + SP} {2} \ end { align *} $$

För att avsluta

Du kan tekniskt beräkna en ROC AUC för en binär klassificerare från förvirringsmatrisen. Men om jag inte var klar, låt mig upprepa en sista gång: GÖR DET INTE!

Referenser

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Jämförelse av områdena under två eller flera korrelerade mottagarkörningskurvor: En icke-parametrisk metod. Biometrics 1988,44: 837-845. https://www.jstor.org/stable/2531595

Kommentarer

  • Det här exemplet med en enda punkt kan vara riktigt vilseledande. Att till exempel ha punkten (1, 0) ger AUC = 1 enligt dina beräkningar. Området under punkten är alltid noll. Om du verkligen behöver sammanfatta beredskapstabellen, använd f1-poäng eller information.
  • @PavelTyshevskyi ROC-kurvan är alltid en kurva, aldrig en enda punkt. Kom ihåg att det visar 1-specificitet, vilket förmodligen är det som förvirrar dig.
  • @PavelTyshevskyi Jag menar (1, 0) är faktiskt 0 specificitet 0 känslighet, så AUC kommer att vara 0 som förväntat.
  • Du ' har rätt, jag ' har blivit förvirrad med axeln. Det låter fortfarande inte ' med att (0, 0) och (1, 1) används för att konstruera ett område tillsammans med se, sp från beredningsmatris, på något sätt. Tack för klargörandet.
  • @PavelTyshevskyi kan du vara lite mer specifik kanske? Svaret är korrekt och jag tror att jag tydligt påpekar varför du inte bör ' t göra det i första hand. Men jag kan försäkra er att det är helt korrekt.

Svar

När jag hävdar att alla är negativa, sedan känslighet (y) = 0, 1 – specificitet (x) = 0. Om jag hävdar det positiva / negativa enligt testresultaten, så är y = A / (A + C), x = B / (B + D). När jag säger att alla är positiva, så är y = 1 och x = 1.

Baserat på tre punkter med koordinat (0,0) (A / (A + C), B / (B + D)) (1,1), (i (y, x) ordning), är det enkelt att beräkna arean under kurvan med formeln för triangelarea.

Slutresultat: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Behöver verifieras.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *