Krzywa ROC (ang. Receiver Operating Characteristic) – to narzędzie statystyczne używane do oceny jakości dwuklasowych modeli klasyfikacyjnych, czyli np. takich, które przewidują „występowanie” vs „niewystępowanie” danego zdarzenia. Krzywa ROC pokazuje, jak zmienia się zdolność klasyfikatora do wykrywania przypadków pozytywnych i unikania fałszywych alarmów przy różnych progach decyzyjnych.
Krzywa ROC obrazuje zależność między dwoma wskaźnikami:
Przykład krzywej ROC przedstawiono poniżej:
Istotną cechą analizy ROC jest kompromis pomiędzy czułością a odsetkiem wyników fałszywie dodatnich. Obniżenie progu klasyfikacji zwykle zwiększa czułość, ponieważ więcej przypadków zostaje uznanych za pozytywne, ale jednocześnie prowadzi do wzrostu FPR. Zwiększanie czułości modelu często odbywa się kosztem swoistości, dlatego wybór progu decyzyjnego zależy od konsekwencji błędów fałszywie dodatnich i fałszywie ujemnych.
Tworząc model klasyfikacyjny, należy zatem określić odpowiedni próg decyzyjny (ang. threshold), który decyduje, czy dana obserwacja zostanie uznana za pozytywną czy negatywną. Idealny klasyfikator osiągałby czułość równą 1 przy jednoczesnym FPR równym 0. Krzywa ROC nie przedstawia wyniku dla jednego progu, lecz zachowanie klasyfikatora dla całego zakresu możliwych progów decyzyjnych.
Istnieją różne sposoby wyboru optymalnego progu. Może on np. maksymalizować jednocześnie czułość i swoistość albo celowo faworyzować jedną z nich, jeżeli w danym zastosowaniu jeden rodzaj błędu jest bardziej kosztowny od drugiego. Istotnym wskaźnikiem związanym z krzywą ROC jest pole pod krzywą AUC (ang. Area Under the Curve). AUC mierzy ogólną zdolność modelu do rozróżniania klas. Im większa wartość AUC, tym lepiej model rozróżnia przypadki należące do klasy pozytywnej i negatywnej.
Wartości AUC można interpretować następująco:
AUC można również interpretować probabilistycznie: określa prawdopodobieństwo, że losowo wybrany przypadek pozytywny otrzyma wyższy wynik klasyfikacyjny niż losowo wybrany przypadek negatywny.
Podsumowując, analiza ROC służy do oceny jakości klasyfikatora przypisującego obserwacje do dwóch klas, np. tak vs nie, czyli wartości zmiennej na skali nominalnej, często zakodowanej za pomocą dummy coding. Krzywa ROC może być wykorzystywana m.in. do oceny modeli takich jak regresja logistyczna, w której zmienna zależna ma charakter kategorialny, a prawdopodobieństwo przynależności do danej klasy jest szacowane na podstawie uwzględnionych predyktorów. ROC i AUC pozwalają ocenić zdolność modelu do rozróżniania klas bez ograniczania analizy do jednego, arbitralnie wybranego progu klasyfikacji.