Jaký je vzorec pro výpočet plochy pod křivkou ROC z kontingenční tabulky?

Například pokud je moje tabulka:

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

Komentáře

  • Z ' mi není jasné, že na tuto otázku může být užitečná odpověď. Křivka provozní charakteristiky přijímače (ROC) představuje rozsah kompromisů mezi skutečně pozitivní a falešně pozitivní klasifikací, protože jeden mění prahovou hodnotu pro provedení této volby z modelu. Kontingenční tabulka představuje výsledky klasifikace při konkrétní volbě této prahové hodnoty. Jeden by mohl být schopen vypočítat něco jako oblast (jak to dělá jedna navrhovaná odpověď), ale není jasné, ' že by skutečně představovala oblast pod křivkou ROC pro celý model .
  • Pokud je váš prediktor dichotomický, a proto existuje pouze jedna prahová hodnota, myslím, že AUC stále poskytuje (některé) užitečné informace.
  • @JeremyMiles uveďte netriviální příklad prediktor, kde existuje pouze jedna prahová hodnota.
  • @PavelTyshevskyi – jistě. (Zapomněl jsem, jaký byl kontext pro tuto otázku). Pracuji s hodnotiteli, kteří klasifikují reklamy. Jedním z příkladů je pornografie (která je špatná). Ptáme se hodnotitelů " Je tato reklama na pornografii? " Říkají ano nebo ne.

Odpověď

Obecně: můžete „t

Křivka ROC ukazuje, jak se liší citlivost a specificita na každá možná prahová hodnota . Kontingenční tabulka byla vypočítána s jedinou prahovou hodnotou a informace o dalších prahových hodnotách byla ztracena. Z těchto souhrnných údajů tedy nelze vypočítat křivku ROC.

Ale můj klasifikátor je binární, takže mám jednu prahovou hodnotu

Binární klasifikátory nejsou opravdu binární. I když mohou vystavit pouze konečné binární rozhodnutí, všechny klasifikátory, které znám, se spoléhají na nějaký kvantitativní odhad pod kapotou.

  • Binární rozhodovací strom? Pokuste se vytvořit regresní strom.
  • Klasifikátor SVM? Proveďte vektorovou regresi podpory.
  • Logistická regrese? Získejte přístup k hrubým pravděpodobnostem.
  • Neuronová síť? Použijte numerický výstup t místo toho použije poslední vrstvu.

Tím získáte větší svobodu při výběru optimálního prahu, abyste dosáhli nejlepší možné klasifikace podle svých potřeb.

Ale opravdu chci

Opravdu byste neměli. ROC křivky s několika prahy významně podceňují skutečnou oblast pod křivkou (1). Křivka ROC s jediným bodem je nejhorší scénář a jakékoli srovnání s průběžným klasifikátorem bude nepřesné a zavádějící.

Jen mi odpovězte!

Dobře, dobře , vyhráváte. S jediným bodem můžeme AUC považovat za součet dvou trojúhelníků T a U:

křivka ROC s jeden pár (SP, SE) a dva trojúhelníky

Jejich oblasti můžeme získat na základě kontingenční tabulky (A, B, C a D, jak jste definovali):

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

Získání AUC: $$ \ begin {align *} AUC & = T + U \\ & = \ frac {A} {2 (A + C)} + \ frac {D} {2 (B + D)} \\ & = \ frac {SE + SP} {2} \ end { align *} $$

Na závěr

ROC AUC pro binární klasifikátor můžete technicky vypočítat ze zmatené matice. Ale pro případ, že mi nebylo jasné, dovolte mi to naposledy zopakovat: NEPROVÁDĚJTE!

Reference

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Porovnání oblastí pod dvěma nebo více korelovanými křivkami provozních charakteristik přijímače: Neparametrický přístup. Biometrics 1988,44: 837-845. https://www.jstor.org/stable/2531595

Komentáře

  • Tento příklad s jediným bodem může být skutečně zavádějící. Například mít bod na (1, 0) přinese AUC = 1 podle vašich výpočtů. Plocha pod bodem je vždy nulová. Pokud opravdu potřebujete shrnout pohotovostní tabulku, použijte skóre f1 nebo informovanost.
  • @PavelTyshevskyi Křivka ROC je vždy křivka, nikdy jediný bod. Nezapomeňte, že ukazuje 1-specificitu, což vás pravděpodobně mate.
  • @PavelTyshevskyi Myslím (1, 0) je ve skutečnosti 0 specificita 0 citlivost, takže AUC bude 0 podle očekávání.
  • Máte ' pravdu, ' jsem se zmýlil s osou. Stále to nezní ' t správně, když se (0, 0) a (1, 1) nějak použijí ke konstrukci oblasti spolu s se, sp z kontingenční matice. Díky za vysvětlení.
  • @PavelTyshevskyi, můžete být trochu konkrétnější? Odpověď je správná a myslím, že jasně poukazuji na to, proč byste to neměli dělat '. Ale ujišťuji vás, že je to naprosto správné.

Odpověď

Když tvrdím, že všechny jsou záporné, pak citlivost (y) = 0, 1 – specificita (x) = 0. Pokud podle výsledků testu prohlásím pozitivní / negativní, pak y = A / (A + C), x = B / (B + D). Když řeknu, že všechny jsou pozitivní, pak y = 1 a x = 1.

Na základě tří bodů se souřadnicí (0,0) (A / (A + C), B / (B + D)) (1,1), (v (y, x) pořadí), je snadné vypočítat plochu pod křivkou pomocí vzorce pro plochu trojúhelníku.

Konečný výsledek: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Je třeba ověřit.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *