Care este formula pentru a calcula aria de sub curba ROC dintr-un tabel de contingență?

De exemplu, dacă tabelul meu este:

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

Comentarii

  • Nu ' nu îmi este clar că poate exista un răspuns util la această întrebare. Curba caracteristicii de funcționare a receptorului (ROC) reprezintă gama de compromisuri între clasificările adevărat-pozitive și fals-pozitive, deoarece se modifică pragul pentru a face această alegere din model. Un tabel de contingență reprezintă rezultatele clasificării la o alegere specială a acelui prag. S-ar putea să se poată calcula ceva de genul unei zone (așa cum o face un răspuns propus aici), dar ' nu este clar că ar reprezenta cu adevărat aria de sub curba ROC pentru modelul complet .
  • Dacă predictorul dvs. este dihotomic și, prin urmare, există un singur prag, cred că ASC oferă în continuare (unele) informații utile.
  • @JeremyMiles vă rugăm să furnizați un exemplu non-banal de predictorul în care există un singur prag.
  • @PavelTyshevskyi – sigur. (Uit care a fost contextul pentru această întrebare). Lucrez cu evaluatori care clasifică reclame. Un exemplu este pornografia (care este rea). Întrebăm evaluatorii " Este acest anunț pentru pornografie? " Ei spun da sau nu.

Răspuns

În cazul general: puteți „t

Curba ROC arată modul în care variază sensibilitatea și specificitatea la fiecare prag posibil . Un tabel de contingență a fost calculat la un singur prag și s-au pierdut informații despre alte praguri. Prin urmare, nu puteți calcula curba ROC din aceste date rezumate.

Dar clasificatorul este binar, deci am un singur prag

Clasificatorii binari nu sunt cu adevărat binari. Chiar dacă pot expune doar o decizie binară finală, toți clasificatorii pe care îi cunosc se bazează pe o estimare cantitativă sub capotă.

  • Un arbore de decizie binar? Încercați să construiți un arbore de regresie.
  • Un clasificator SVM? Faceți o regresie vectorială de sprijin.
  • Regresie logistică? Obțineți acces la probabilitățile brute.
  • Rețea neuronală? Utilizați ieșirea numerică a t în schimb, ultimul strat.

Acest lucru vă va oferi mai multă libertate de a alege pragul optim pentru a ajunge la cea mai bună clasificare posibilă pentru nevoile dvs.

Dar chiar vreau să

Chiar nu ar trebui să Curbele ROC cu puține praguri subestimează semnificativ zona adevărată de sub curbă (1). O curbă ROC cu un singur punct este cel mai rău scenariu și orice comparație cu un clasificator continuu va fi inexactă și înșelătoare.

Dă-mi răspunsul!

Ok, ok , ai castigat. Cu un singur punct putem considera ASC ca suma a două triunghiuri T și U:

O curbă ROC cu o singură pereche (SP, SE) și două triunghiuri

Le putem obține zonele pe baza tabelului de contingență (A, B, C și D așa cum ați definit):

$$ \ 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 *} $$

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

Pentru a încheia

Puteți calcula tehnic un ROC AUC pentru un clasificator binar din matricea de confuzie. Dar, în caz că nu am fost clar, permiteți-mi să repet pentru ultima dată: DON „T DO IT!

Referințe

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Compararea zonelor sub două sau mai multe curbe caracteristice de funcționare ale receptorului corelat: o abordare nonparametrică. Biometrie 1988,44: 837-845. https://www.jstor.org/stable/2531595

Comentarii

  • Acest exemplu cu un singur punct poate fi cu adevărat înșelător. De exemplu, dacă aveți punctul la (1, 0), veți obține ASC = 1 conform calculelor dvs. Zona sub punct este întotdeauna zero. Dacă într-adevăr trebuie să rezumați tabelul de contingență, utilizați scorul f1 sau informarea.
  • @PavelTyshevskyi Curba ROC este întotdeauna o curbă, niciodată un singur punct. Amintiți-vă că arată 1 specificitate, ceea ce probabil vă încurcă.
  • @PavelTyshevskyi Adică (1, 0) este de fapt 0 specificitate 0 sensibilitate, deci ASC va fi 0 așa cum era de așteptat.
  • Ai ' dreptate, ' m-am confundat cu axa. Încă nu ' sună corect cu (0, 0) și (1, 1) fiind folosit pentru a construi o zonă împreună cu se, sp din matricea de contingență, cumva. Multumesc pentru clarificare.
  • @PavelTyshevskyi poți fi un pic mai specific poate? Răspunsul este corect și cred că subliniez în mod clar de ce nu ar trebui să îl faci ' în primul rând. Dar vă asigur că este absolut corect.

Răspuns

Când susțin că toate sunt negative, atunci sensibilitate (y) = 0, 1 – specificitate (x) = 0. Dacă revendic pozitiv / negativ conform rezultatelor testului, atunci y = A / (A + C), x = B / (B + D). Când spun că toate sunt pozitive, atunci y = 1 și x = 1.

Bazat pe trei puncte cu coordonata (0,0) (A / (A + C), B / (B + D)) (1,1), (în ordinea (y, x)), este ușor să calculați aria de sub curbă utilizând formula pentru aria triunghiului.

Rezultatul final: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Trebuie verificat.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *