Co oznacza AUC i co to jest?

228

Przeszukano wysokie i niskie i nie byłem w stanie dowiedzieć się, co AUC, podobnie jak w przypadku prognozowania, oznacza lub oznacza.

josh
źródło
8
Sprawdź opis aucużytego tagu: stats.stackexchange.com/questions/tagged/auc
Tim
4
Obszar pod krzywą (tj. Krzywa ROC)
Andrej
7
Czytelnicy tutaj mogą być również zainteresowani następującym wątkiem: Zrozumienie krzywej ROC .
gung
11
Wyrażenie „Szukano wysoko i nisko” jest interesujące, ponieważ można znaleźć wiele doskonałych definicji / zastosowań dla AUC, wpisując w Google „AUC” lub „Statystyka AUC”. Oczywiście odpowiednie pytanie, ale to stwierdzenie zaskoczyło mnie!
Behacad,
3
Zrobiłem Google AUC, ale wiele najlepszych wyników nie podało wprost AUC = Area Under Curve. Pierwsza powiązana z nią strona Wikipedii ma ją, ale dopiero w połowie. Z perspektywy czasu wydaje się to dość oczywiste! Dziękuję wszystkim za bardzo szczegółowe odpowiedzi
Josh

Odpowiedzi:

308

Skróty

AUC jest używane przez większość czasu w znaczeniu AUROC, co jest złą praktyką, ponieważ, jak zauważył Marc Claesen, AUC jest niejednoznaczne (może być dowolną krzywą), podczas gdy AUROC nie.


Interpretacja AUROC

AUROC ma kilka równoważnych interpretacji :

  • Oczekiwanie, że losowo pozytywnie losowo ułożona równomiernie zostanie uszeregowana przed losowo negatywnie ułożonym równomiernie.
  • Oczekiwany odsetek wyników pozytywnych uszeregowanych przed losowo ułożonym losowo negatywnym wynikiem.
  • Oczekiwany prawdziwie dodatni wskaźnik, jeśli ranking zostanie podzielony tuż przed równomiernie losowanym wynikiem ujemnym.
  • Oczekiwany odsetek negatywów uszeregowany po losowo pozytywnie losowanym losowaniu.
  • Oczekiwany wynik fałszywie dodatni, jeśli ranking zostanie podzielony tuż po losowo losowanym wyniku dodatnim.

Idąc dalej: jak wyprowadzić probabilistyczną interpretację AUROC?


Obliczanie AUROC

Załóżmy, że mamy probabilistyczny, binarny klasyfikator, taki jak regresja logistyczna.

Przed przedstawieniem krzywej ROC (= charakterystyka pracy odbiornika) należy zrozumieć pojęcie macierzy zamieszania . Gdy wykonujemy binarną prognozę, mogą istnieć 4 typy wyników:

  • Przewidujemy 0, podczas gdy prawdziwa klasa jest w rzeczywistości 0: nazywa się to True Negative , tzn. Poprawnie przewidujemy, że klasa jest ujemna (0). Na przykład program antywirusowy nie wykrył nieszkodliwego pliku jako wirusa.
  • Przewidujemy 0, podczas gdy prawdziwa klasa to faktycznie 1: nazywa się to False Negative , tzn. Niepoprawnie przewidujemy, że klasa jest ujemna (0). Na przykład program antywirusowy nie wykrył wirusa.
  • Przewidujemy 1, podczas gdy prawdziwa klasa jest w rzeczywistości 0: nazywa się to False Positive , czyli niepoprawnie przewidujemy, że klasa jest dodatnia (1). Na przykład program antywirusowy uważał nieszkodliwy plik za wirusa.
  • Przewidujemy 1, podczas gdy prawdziwa klasa to tak naprawdę 1: nazywa się to Prawdziwym Pozytywnym , tzn. Poprawnie przewidujemy, że klasa jest dodatnia (1). Na przykład program antywirusowy prawidłowo wykrył wirusa.

Aby uzyskać macierz nieporozumień, przeglądamy wszystkie przewidywania wykonane przez model i liczymy, ile razy występuje każdy z tych 4 typów wyników:

wprowadź opis zdjęcia tutaj

W tym przykładzie macierzy pomieszania, spośród 50 punktów danych, które są sklasyfikowane, 45 jest poprawnie sklasyfikowanych, a 5 błędnie sklasyfikowanych.

Ponieważ w celu porównania dwóch różnych modeli często wygodniej jest mieć jedną metrykę niż kilka, obliczamy dwie metryki z macierzy pomieszania, którą później połączymy w jedną:

  • Prawdziwie dodatnia stopa ( TPR ), alias. czułość, częstotliwość trafień i przywołanie , które jest zdefiniowane jako TPTP+FN . Intuicyjnie ta metryka odpowiada odsetkowi pozytywnych punktów danych, które są poprawnie uważane za pozytywne, w odniesieniu do wszystkich pozytywnych punktów danych. Innymi słowy, im wyższy TPR, tym mniej pozytywnych punktów danych przeoczymy.
  • Fałszywie dodatni wskaźnik ( FPR ), alias. wypadanie , które jest zdefiniowane jako FPFP+TN

0.00;0.01,0.02,,1.00

Poniższy rysunek pokazuje AUROC graficznie:

wprowadź opis zdjęcia tutaj

Na tym rysunku niebieski obszar odpowiada obszarowi pod krzywą charakterystyki roboczej odbiornika (AUROC). Linia przerywana na przekątnej przedstawiamy krzywą ROC losowego predyktora: ma AUROC 0,5. Losowy predyktor jest powszechnie używany jako punkt odniesienia, aby sprawdzić, czy model jest przydatny.

Jeśli chcesz zdobyć doświadczenie z pierwszej ręki:

Franck Dernoncourt
źródło
4
Świetne wyjaśnienie. Dziękuję Ci. Jedno pytanie, aby wyjaśnić, że rozumiem: czy mam rację mówiąc, że na tym wykresie jednolity niebieski kwadrat miałby krzywą ROC (AUC = 1) i byłby dobrym modelem prognostycznym? Zakładam, że jest to teoretycznie możliwe.
josh
25
@ josh Tak, zgadza się. AUROC ma wartość od 0 do 1, a AUROC = 1 oznacza, że ​​model predykcyjny jest idealny. W rzeczywistości, im dalej AUROC wynosi od 0,5, tym lepiej: jeśli AUROC <0,5, wystarczy odwrócić decyzję, którą podejmuje model. W rezultacie, jeśli AUROC = 0, to dobra wiadomość, ponieważ wystarczy odwrócić dane wyjściowe modelu, aby uzyskać idealny model.
Franck Dernoncourt,
1
link „kilka równoważnych interpretacji” jest zerwany.
Haitao Du
1
W interpretacjach AUROC „Oczekiwany wynik fałszywie dodatni, jeśli ranking zostanie podzielony tuż po losowo dodatnim losowaniu równomiernie.”, Czy nie powinno to być (1 - FPR)?
Mudit Jain,
1
@ ryu576 idealnie liczba punktów na krzywej ROC to liczba próbek testowych.
Franck Dernoncourt
60

Chociaż jestem trochę spóźniony na imprezę, ale oto moje 5 centów. @FranckDernoncourt (+1) wspomniał już o możliwych interpretacjach AUC ROC, a moja ulubiona jest pierwsza na jego liście (używam innego sformułowania, ale jest taka sama):

P(score(x+)>score(x))

Rozważ ten przykład (auc = 0,68):

wprowadź opis zdjęcia tutaj

Spróbujmy to zasymulować: narysuj losowe przykłady pozytywne i negatywne, a następnie oblicz odsetek przypadków, w których wyniki dodatnie mają więcej punktów niż negatywne

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = c(0.9, 0.8, 0.7, 0.6, 0.55, 0.51, 0.49, 0.43, 0.42, 0.39, 0.33, 
          0.31, 0.23, 0.22, 0.19, 0.15, 0.12, 0.11, 0.04, 0.01)

pos = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

I otrzymujemy 0,67926. Całkiem blisko, prawda?

 

Nawiasem mówiąc, w RI zwykle używaj pakietu ROCR do rysowania krzywych ROC i obliczania AUC.

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

wprowadź opis zdjęcia tutaj

Aleksiej Grigoriew
źródło
Miły. Drugi szary blok zdecydowanie wyjaśnia metodę kreślenia.
josh
+1 (wcześniej). Powyżej podałem link do innego wątku, w którym wniósłeś bardzo miły wkład w powiązany temat. To świetna robota, uzupełniając post @ FranckDernoncourt i przyczyniając się do dalszego rozwoju.
gung
1
Na krzywej ROC wytworzonej przez pakiet R, co oznacza kolor? Czy możesz dodać kilka szczegółów. Dzięki !
Prradep
Prawdopodobnie przydałoby się dodać prawdziwe pozytywy i prawdziwe negatywy do objaśnienia w szarym polu powyżej? W przeciwnym razie może to być nieco mylące.
cbellei
42

Ważne rozważania nie są uwzględnione w żadnej z tych dyskusji. Procedury omówione powyżej zachęcają do niewłaściwego progowania i wykorzystują niewłaściwe reguły punktacji dokładności (proporcje), które są optymalizowane przez wybranie niewłaściwych cech i nadanie im niewłaściwych wag.

Dychotomizacja ciągłych prognoz stoi w obliczu optymalnej teorii decyzji. Krzywe ROC nie dostarczają żadnych przydatnych informacji. Stały się obowiązkowe bez badania przez badaczy korzyści. Mają bardzo duży stosunek atramentu do informacji.

Optymalne decyzje nie uwzględniają „pozytywów” i „negatywów”, ale raczej szacunkowe prawdopodobieństwo wyniku. Funkcja użyteczności / kosztu / straty, która nie odgrywa żadnej roli w konstrukcji ROC, a zatem bezużyteczność ROC, służy do przełożenia oszacowania ryzyka na optymalną (np. Najniższą oczekiwaną stratę) decyzję.

Celem modelu statystycznego jest często dokonanie prognozy, a analityk powinien często na tym poprzestać, ponieważ może nie znać funkcji straty. Kluczowymi składnikami prognozy do bezstronnego sprawdzania poprawności (np. Za pomocą bootstrap) są dyskryminacja predykcyjna (jednym z pół-dobrych sposobów pomiaru jest prawdopodobieństwo zgodności, które zdarza się równać obszar pod ROC, ale może być łatwiejsze do zrozumienia, jeśli nie „t zwrócić ROC) i krzywą kalibracji. Sprawdzanie poprawności kalibracji jest naprawdę bardzo potrzebne, jeśli używasz prognoz w skali bezwzględnej.

Więcej informacji można znaleźć w rozdziale poświęconym utracie informacji w biostatystyce badań biomedycznych i innych rozdziałach.

Frank Harrell
źródło
2
Każda inna odpowiedź koncentruje się na formułach matematycznych, które nie mają praktycznej przydatności. I jedyna poprawna odpowiedź ma najmniej pozytywnych opinii.
maksymalnie
6
Byłem na końcu otrzymywania pozornie tajemniczych odpowiedzi na ten temat od profesora Harrella - są świetne, ponieważ zmuszają cię do intensywnego myślenia. Uważam, że wskazuje na to, że nie chcesz akceptować fałszywie ujemnych przypadków w teście przesiewowym na obecność wirusa HIV (przykład fikcyjny), nawet jeśli zaakceptowanie wyższego odsetka fałszywie ujemnych (jednocześnie zmniejszając liczbę fałszywie dodatnich) może umieścić punkt odcięcia przy maksimach AUC. Przepraszam za brutalne uproszczenie.
Antoni Parellada,
Tutaj
Antoni Parellada,
17

AUC to skrót oznaczający pole powierzchni pod krzywą . Służy do analizy klasyfikacji w celu ustalenia, który z zastosowanych modeli najlepiej przewiduje klasy.

Przykładem jego zastosowania są krzywe ROC. W tym przypadku wykresy prawdziwie dodatnie są zestawiane z wynikami fałszywie dodatnimi. Przykład jest poniżej. Im bliższa wartość AUC dla modelu wynosi 1, tym lepiej. Dlatego modele o wyższych AUC są preferowane w porównaniu z modelami o niższych AUC.

Uwaga: istnieją również inne metody niż krzywe ROC, ale są one również powiązane z wartościami dodatnimi i fałszywie dodatnimi, np. Przywołanie precyzji, wynik F1 lub krzywe Lorenza.

                                            Przykład krzywej ROC

losowa osoba
źródło
2
czy możesz wyjaśnić krzywą ROC w kontekście prostej krzyżowej oceny wyniku 0/1? Nie wiem zbyt dobrze, jak skonstruowana jest krzywa w tym przypadku.
Ciekawy
9

τ

  1. ZA
  2. bZA
  3. τ

P.(ZA>τ)P.(b>τ)

τZAUdo

Otrzymujemy:

ZAUdo=01T.P.R(x)rex=01P.(ZA>τ(x))rex
xxT.P.R ponieważ PDF munduru wynosi 1.

(1)ZAUdo=mix[P.(ZA>τ(x))]
xU[0,1)

xfaP.R

x=faP.R=P.(b>τ(x))
x

P.(b>τ(x))U
=>P.(b<τ(x))(1-U)U
(2)=>fab(τ(x))U

XfaX(Y)UYX

faX(X)=P.(faX(x)<X)=P.(X<faX-1(X))=faXfaX-1(X)=X

τ(x)b

Podstawiając to do równania (1) otrzymujemy:

ZAUdo=mix(P.(ZA>b))=P.(ZA>b)

Innymi słowy, pole pod krzywą to prawdopodobieństwo, że losowa próbka dodatnia będzie miała wyższy wynik niż losowa próbka ujemna.

ryu576
źródło