Kalkulator ROC AUC
Wpisz etykiety klas (0/1) i wyniki predykcji, aby obliczyć ROC AUC, współczynnik Giniego, najlepszy punkt odcięcia według J Youdena, macierz pomyłek oraz pełną listę punktów krzywej ROC.
Sprawdź, jak dobrze Twoje wyniki rozdzielają dwie klasy
Wzór na ROC AUC
Oznaczenia:
- \(P\) — liczba przypadków pozytywnych (etykieta 1)
- \(N\) — liczba przypadków negatywnych (etykieta 0)
- \(s_+\) — wynik przypadku pozytywnego; \(s_-\) — wynik przypadku negatywnego
- \(G\) — współczynnik Giniego (D Somersa), przeskalowana postać AUC
- \(J\) — statystyka J Youdena, służąca do wyznaczenia najlepszego punktu odcięcia
AUC to prawdopodobieństwo, że losowo wybrany przypadek pozytywny otrzyma wyższy wynik niż losowo wybrany przypadek negatywny (remis liczy się jako pół zwycięstwa). Jest równa polu pod krzywą ROC obliczonemu metodą trapezów oraz statystyce U Manna–Whitneya podzielonej przez \(P \cdot N\).
ROC AUC – przykład obliczenia
Przykład: 10 przypadków, 5 pozytywnych i 5 negatywnych, przy domyślnych wynikach. Wyniki pozytywne to 0,9; 0,85; 0,8; 0,75; 0,6, a negatywne: 0,7; 0,4; 0,3; 0,2; 0,1.
Pozytywno-negatywnych par jest \(P \cdot N = 25\). W 24 z nich przypadek pozytywny ma wyższy wynik; jedyna błędnie uporządkowana para to (0,6; 0,7). Remisów brak, zatem:
\[ \text{AUC} = \frac{24 + \tfrac{1}{2}\cdot 0}{5 \times 5} = 0.96 \]
Wynik: AUC = 0,96, współczynnik Giniego \(2 \times 0.96 - 1 = 0.92\). Najlepszy punkt odcięcia według J Youdena to wynik ≥ 0,6 (czułość 100%, swoistość 80%, \(J = 0.8\)). Przy domyślnym progu 0,5 macierz pomyłek wygląda następująco: TP = 5, FP = 1, FN = 0, TN = 4 (dokładność 90%).
Jak korzystać z kalkulatora
- Wklej Rzeczywiste etykiety klas (0 lub 1) do pierwszego pola — po jednej etykiecie na przypadek, rozdzielone spacjami, nowymi liniami lub średnikami. Jeden oznacza klasę pozytywną, zero — negatywną.
- Wklej Wyniki predykcji do drugiego pola, w tej samej kolejności co etykiety. Dowolna skala liczbowa się sprawdza (prawdopodobieństwa, wyjścia modelu, oceny); przecinki dziesiętne są akceptowane.
- Opcjonalnie zmień Próg dla macierzy pomyłek (domyślnie 0,5). Przypadek jest klasyfikowany jako pozytywny, gdy jego wynik jest ≥ tego progu. Próg nie wpływa na AUC.
- Odczytaj wyniki: Pole pod krzywą ROC, współczynnik Giniego, najlepszy punkt odcięcia (J Youdena), macierz pomyłek przy zadanym progu oraz tabelę punktów krzywej ROC, którą można wykreślić.
Obie listy muszą mieć tę samą długość, a dane muszą zawierać co najmniej jeden przypadek pozytywny i jeden negatywny — inaczej nie da się ocenić uporządkowania.
Czym jest ROC AUC?
Krzywa ROC (Receiver Operating Characteristic, czyli charakterystyka robocza odbiornika) pokazuje, jak klasyfikator binarny radzi sobie przy każdym możliwym punkcie odcięcia. Każdy punkt krzywej to para (odsetek fałszywie pozytywnych, odsetek prawdziwie pozytywnych), uzyskana przez uznanie za pozytywne wszystkich przypadków z wynikiem ≥ pewnego progu. Przesuwając próg od najwyższego do najniższego, kreślimy krzywą od początku układu współrzędnych (nic nie jest klasyfikowane jako pozytywne) do prawego górnego rogu (wszystko jest klasyfikowane jako pozytywne).
AUC — pole pod tą krzywą — streszcza całą krzywą w jednej liczbie. Ma bezpośrednią interpretację probabilistyczną: to szansa, że losowo wybrany przypadek pozytywny uzyska wyższy wynik niż losowo wybrany przypadek negatywny. Idealne uporządkowanie daje AUC = 1; bezużyteczne (losowe) — 0,5; konsekwentnie odwrócone — AUC < 0.5, co oznacza, że należy odwrócić kierunek wyników.
Zgrubna interpretacja: 0,9–1 — doskonale, 0,8–0,9 — dobrze, 0,7–0,8 — przeciętnie, 0,6–0,7 — słabo, 0,5 — nic ponad trafienie przypadkowe. Współczynnik Giniego \(2\cdot\text{AUC}-1\) przekształca tę skalę tak, że 0 oznacza trafienie przypadkowe, a 1 — doskonałość; jest powszechny w scoringu kredytowym, gdzie bywa nazywany także D Somersa.
W odróżnieniu od dokładności czy precyzji AUC jest niezależna od progu: mierzy, jak dobrze wyniki porządkują przypadki, niezależnie od punktu odcięcia, który możesz później wybrać. Dzięki temu jest naturalną miarą do porównywania modeli scoringowych, ale oznacza to również, że nic nie mówi o kalibracji — wynik 0,8 nie musi odpowiadać prawdopodobieństwu 80%. Jeśli potrzebujesz miar z macierzy pomyłek przy konkretnym progu, sięgnij dodatkowo po kalkulator macierzy pomyłek.
Wybór punktu odcięcia
Kalkulator podaje punkt odcięcia, który maksymalizuje statystykę J Youdena, \(J = \text{czułość} + \text{swoistość} - 1\) — czyli punkt krzywej ROC najbardziej oddalony od przekątnej. To rozsądna wartość domyślna, choć nie zawsze najlepsza operacyjnie. W badaniach przesiewowych możesz chcieć wysokiej czułości i zaakceptować więcej fałszywych alarmów; w badaniach potwierdzających albo przy flagowaniu oszustw, gdzie weryfikacja jest kosztowna, ważniejsza może okazać się swoistość. Skorzystaj z tabeli punktów ROC, aby zobaczyć zależność między czułością a swoistością przy każdej unikalnej wartości wyniku, i wybierz próg dopasowany do Twoich kosztów.
Ponieważ AUC jest miarą porządkowania, jest ściśle spokrewniona z innymi statystykami rangowymi. Jeśli analizujesz zgodność rang szerzej, kalkulator tau Kendalla obejmuje pary zgodne i niezgodne między dwiema zmiennymi.
Założenia, ograniczenia i wskazówki
- Wyłącznie wyniki binarne. Etykiety muszą być dokładnie 0 lub 1. W problemach wieloklasowych oblicz AUC osobno dla każdej klasy (schemat „jeden kontra reszta”).
- Niezależność. Każdy przypadek wnosi jedną etykietę i jeden wynik, a przypadki są uznawane za niezależne. Powtórzone pomiary tego samego podmiotu naruszają to założenie.
- Remisy są uwzględniane — każda para pozytywno-negatywna z równymi wynikami liczy się jako pół sukcesu, co odpowiada trapezoidalnej definicji AUC i konwencji statystyki U Manna–Whitneya.
- Małe próby. Przy małej liczbie przypadków AUC ma szeroki przedział ufności; warto podać obok niej przedział Hanleya–McNeila lub DeLonga. Domyślny przykład z 10 przypadkami służy wyłącznie celom ilustracyjnym.
- Nierównowaga klas. AUC jest niewrażliwa na proporcje między klasami, co może być zaletą, ale i ślepą plamą — model może mieć wysoką AUC, pomijając wiele rzeczywistych pozytywów. Sprawdź macierz pomyłek oraz miary takie jak iloraz szans, aby ocenić praktyczny wpływ.
- AUC < 0.5 oznacza, że wyniki są odwrócone: użyj logiki „wynik ≤ próg” albo zamień etykiety.
Najczęściej zadawane pytania
Jak obliczyć AUC ręcznie, bez żadnego oprogramowania?
Wypisz wszystkie wyniki pozytywne i wszystkie negatywne, a następnie porównaj wszystkie pary pozytywno-negatywne. Policz, w ilu parach wynik pozytywny jest ściśle wyższy; remisy liczą się jako 0,5. Podziel przez łączną liczbę par. Przy 4 pozytywach i 6 negatywach mamy 24 pary, więc jeśli 21 jest uporządkowanych poprawnie, a 2 to remisy, \(\text{AUC} = (21 + 1)/24 \approx 0.92\). To dokładnie statystyka U Manna–Whitneya podzielona przez \(P \cdot N\).
Czy AUC może być większe od 1 albo ujemne?
Nie. AUC to prawdopodobieństwo, więc zawsze mieści się między 0 a 1. Jeśli ręczne obliczenie daje wartość spoza tego zakresu, gdzieś pomyliłeś liczenie par lub etykiety klas. AUC poniżej 0,5 jest nadal poprawna matematycznie — oznacza jedynie, że wyniki porządkują w złym kierunku, a odwrócenie porównania (uznanie niższych wyników za bardziej pozytywne) zamienia ją na 1 − AUC.
Ile przypadków potrzeba do wiarygodnej AUC?
Nie ma stałego minimum, ale precyzja rośnie powoli. Przy 10 pozytywach i 10 negatywach AUC zmienia się skokami co 1/100, a 95-procentowy przedział ufności może łatwo obejmować 0,2 lub więcej. Jako regułę kciuka przyjmij co najmniej 20–30 przypadków na klasę dla zgrubnego oszacowania i podawaj przedział ufności DeLonga lub Hanleya–McNeila, aby odbiorcy mogli ocenić niepewność zamiast ufać jednej liczbie.
Czy wyższa AUC zawsze oznacza lepszy model?
Niekoniecznie. AUC mierzy wyłącznie jakość porządkowania, więc model może uzyskiwać wysokie wartości, a mimo to słabo sprawdzać się w praktyce — na przykład przy rzadkich pozytywach może wciąż pomijać wiele rzeczywistych przypadków, zachowując wysoką AUC. Ignoruje też kalibrację i rzeczywiste koszty błędów. Zawsze łącz AUC z macierzą pomyłek przy realistycznym progu, a do konkretnego problemu decyzyjnego rozważ precyzję, czułość (recall) czy lift.
Dlaczego moja AUC nie zmienia się po zmianie progu?
Tak ma być. AUC podsumowuje model naraz przy wszystkich możliwych punktach odcięcia, więc żaden pojedynczy próg nie może na nią wpływać. Zmiana progu przesuwa Cię jedynie wzdłuż krzywej ROC, zmieniając punkt, w którym pracujesz — a wraz z nim macierz pomyłek, dokładność, precyzję i czułość. Pole progu służy do eksplorowania tego kompromisu, a AUC do porównywania modeli przed dokonaniem wyboru.
Jaki jest związek współczynnika Giniego z AUC?
To przekształcenie liniowe: \(G = 2\times\text{AUC} - 1\). Trafienie przypadkowe (AUC 0,5) odpowiada współczynnikowi Giniego 0, a idealne uporządkowanie — wartości 1. Publikacje z zakresu scoringu kredytowego i ekonomii często podają współczynnik Giniego lub równoważne D Somersa, podczas gdy prace z uczenia maszynowego posługują się AUC — niosą tę samą informację, więc przeliczenie to właśnie ten jeden wzór.
Czy mogę użyć tego kalkulatora dla więcej niż dwóch klas?
Nie bezpośrednio — krzywa ROC jest zdefiniowana dla wyników binarnych, więc etykiety muszą być 0 lub 1. W problemie wieloklasowym oblicz AUC osobno dla każdej klasy według schematu „jeden kontra reszta”: traktuj daną klasę jako 1, scal pozostałe klasy w 0 i przeprowadź obliczenia oddzielnie. Wynik podsumuj, uśredniając AUC poszczególnych klas — zwykle z równymi wagami (średnia makro) lub ważąc częstością klas.