Krzywe ROC i ocena jakości klasyfikacji

Tekst przeczytasz w: 9 minut.
W poszukiwaniu optymalnego modelu predykcyjnego pomocne mogą okazać się techniki graficzne – do takich należą krzywe ROC (z ang. Receiver Operating Characteristic).

Sprawdź również:

Są one wizualizacją zależności pomiędzy skutecznością klasyfikacji pozytywnych (Czułość) a nieskutecznością klasyfikacji przypadków negatywnych (1-Swoistość) na każdym poziomie prawdopodobieństwa. Krzywa ROC obrazuje więc, jak duży będzie odsetek błędnych klasyfikacji (pozytywnych i negatywnych) dla danego punktu odcięcia. W jaki sposób założone graniczne prawdopodobieństwo przypisania do kategorii pozytywnej (wystąpienie zjawiska) równocześnie na poprawną i błędną klasyfikację tychże przypadków.

W przypadku modeli klasyfikacyjnych, czyli prognozujących wartości zmiennej jakościowej, jednym z podstawowych sposobów podsumowania jest ocena jakości klasyfikacji – odpowiedź na proste pytanie, czy model poprawnie przypisuje przypadkom kategorie zmiennej zależnej. Im mniejsza rozbieżność pomiędzy wartościami rzeczywistymi, a prognozowanymi za pomocą modelu statystycznego, tym oczywiście lepiej.

 

Czy to jest jednak takie oczywiste? Wyobraźmy sobie sytuację, że musimy zaprognozować, która z analizowanych operacji bankowych jest oszustwem. Załóżmy, że 99% weryfikowanych transakcji jest zgodnych z prawem. Model, który zaprognozuje, że 100% transakcji nie jest oszustem, będzie modelem znakomicie dopasowanym do danych (myli się przecież tylko w 1 przypadku na 100), a jednak z punktu widzenia problemu biznesowego, który miał zostać rozwiązany na jego podstawie, jest on całkowicie bezużyteczny. A jeżeli model prognozujący odejście klienta przewiduje, że wszyscy klienci zostaną z nami w następnym roku? Dla firmy oznacza to, że nie ma potrzeby podjęcia żadnych działań mających na celu zatrzymanie klientów z grupy ryzyka. Tego rodzaju „oszczędności” w dłuższej perspektywie są najczęściej bardzo kosztowne.

Dopasowanie do analizowanego zbioru danych nie zawsze idzie w parze z walorami prognostycznymi modelu lub też z jego wartością merytoryczną. Problem przeuczenia modelu, czyli zbytniego dopasowania do zbioru danych, który był podstawą szacowania jego parametrów, musimy odłożyć jednak na potrzeby kolejnych tekstów.

 

Problem optymalizacji punktu odcięcia klasyfikatora

Przyjrzyjmy się jak przebiega klasyfikacja za pomocą binarnej regresji logistycznej. Ta wielowymiarowa technika statystyczna prognozuje wartość zmiennej zależnej o dwóch kategoriach (najczęściej 0 – brak zjawiska, 1-wystąpienie zjawiska). Regresja logistyczna sprawdza się doskonale w prognozowaniu takich zjawisk jak odejście klienta, zachorowanie czy wystąpienie oszustwa podczas transakcji. Jej ważną zaletą jest możliwość bezpośredniego wykorzystania w modelowaniu zmiennych jakościowych, co stanowi jej istotną przewagę chociażby nad analizą dyskryminacyjną.

W dużym uproszczeniu, model regresji logistycznej prognozuje prawdopodobieństwo wystąpienia zdarzenia (zmienna zależna przyjmuje wartość 1) w oparciu o zestaw predyktorów. Jeżeli prawdopodobieństwo jest dostatecznie wysokie, wyższe niż założona wartość graniczna, to model dokonuje przypisania do kategorii 1. W rezultacie model prognozuje więc, że badane zjawisko wystąpi. Jeżeli zaś prawdopodobieństwo dla danego przypadku jest niższe niż zakładana wartość progowa, to obserwacji zostanie przypisana wartość 0, co oznacza, że według algorytmu zdarzenie nie wystąpi.

Wskazanie optymalnej wartości progowej nie zmienia sposobu szacowania prawdopodobieństwa, wpływa natomiast na sposób klasyfikacji przypadków. Domyślnie wartość progowa ustawiona jest w regresji logistycznej na 0,5. Oznacza to, że przypadki o oszacowanym prawdopodobieństwie równym lub wyższym niż 0,5 zostaną sklasyfikowane jako 1 (zdarzenie wystąpi/klasyfikacja pozytywna) a poniżej tej wartości jako 0 (zdarzenie nie wystąpi/klasyfikacja negatywna).

Przyjrzyjmy się przykładowym danym. Model regresji prognozuje, czy klient banku będzie miał problem ze spłatą pożyczki między innymi w oparciu o jego sytuację majątkową, czas zamieszkania pod danym adresem oraz stabilność zatrudnienia. Ogólnie spośród 700 analizowanych przypadków 26% klientów miało zaległości w spłacie pożyczek, a 74% nie miało problemów ze spłatą zobowiązań.

 

Rysunek 1. Tabela klasyfikacji (punkt podziału 0,5)

Rysunek 1. Tabela klasyfikacji (punkt podziału 0,5)

 

Powyżej zamieściłem tabelę klasyfikacji. Porównuje ona rzeczywiste wartości zmiennej zależnej z wartościami prognozowanymi przez model. Model oparty o punkt podziału 0,5 poprawnie sklasyfikował 81,4% klientów – w przypadku 92,5% trafnie przewidział, że nie będą oni mieli zaległości, natomiast w przypadku 50,3% trafnie zdiagnozował występowanie problemów ze spłatą tam, gdzie one rzeczywiście występowały.

Rysunek 2. Wykres klasyfikacyjny

Rysunek 2. Wykres klasyfikacyjny

 

Taki wynik tylko pozornie można uznać za zadowalający. Model co prawda bardzo dobrze wskazuje klientów, którzy prawdopodobnie nie będą mieli problemów ze spłatą zobowiązań, jednak z drugiej strony myli się w prawie połowie przypadków w kategorii na której nam najbardziej zależy.

Przesuwając punkt podziału możemy wpływać na uzyskaną klasyfikację. Wykorzystamy do tego oprogramowanie PS IMAGO PRO. Pomocny w poszukiwaniu optymalnego punktu odcięcia może okazać się zamieszczony powyżej wykres klasyfikacji, który jest charakterystycznym obiektem wynikowym binarnej regresji logistycznej. Wykres ten wizualizuje poprawność klasyfikacji w zależności od przyjętego punktu odcięcia. Oś poziomą wykresu stanowi prognozowane prawdopodobieństwo wystąpienia przewidywanej kategorii. Na samym wykresie możemy zaobserwować poszczególne obserwacje (dla większych zbiorów są one pogrupowane o czym informuje nas stopka wykresu) oraz ich rzeczywiste wartości. Wartości te możemy następnie odnieść do zamieszczonej pod osią poziomą wykresu przewidywanej przynależności do grup – na prawo od punktu odcięcia wszystkie obserwacje są klasyfikowane jako należące do kategorii T (Tak), a na lewo od niej jako N (Nie).

Jeżeli chcemy zliberalizować kryterium klasyfikowania obserwacji jako Tak, musimy obniżyć punkt odcięcia, czyli przesunąć go na wykresie w lewo. Model będzie teraz częściej przypisywał obserwacje do kategorii T. W przypadku gdy chcemy zaostrzyć to kryterium, musimy przesunąć się w prawo i podnieść minimalną wartość prawdopodobieństwa. Wówczas regresja rzadziej będzie prognozować, że zjawisko wystąpi. Jak jednak widać na powyższym wykresie klasyfikacji przypadki T oraz N są ze sobą przemieszane – prawdopodobnie nie uda nam się odnaleźć punktu, który idealnie rozdzieli klientów, którzy zalegają ze spłatami od tych, dla których nie odnotowaliśmy problemów.

 

Macierz pomyłek i współczynniki jakości klasyfikacji

Mając tę świadomość usystematyzujmy błędne i prawidłowe decyzje, które możemy popełnić prognozując rzeczywiste wartości dla przypadków. Zostały one przedstawione w zamieszczonej poniżej macierzy pomyłek.

 

mapka

Rysunek 3. Macierz pomyłek

 

 

Klasyfikacja negatywna oznacza niewystępowanie zjawiska (wartość 0 lub N), natomiast klasyfikacja pozytywna, to przynależność do kategorii oznaczającej wystąpienie zjawiska (wartość 1 lub T). Tabela zestawia decyzje podejmowane przez model w stosunku do wartości rzeczywistych. Kolorem zielonym oznaczone są prawidłowe decyzje: Prawidłowa klasyfikacja negatywna (TN) oraz prawidłowa klasyfikacja pozytywna (TP). Kolor czerwony oznacza błędy: przypadki negatywne uznane przez algorytm za pozytywne (FP) oraz przypadki pozytywne, klasyfikowane jako negatywne (FN).

Na podstawie macierzy pomyłek oblicza się szereg współczynników wydajności klasyfikacji, które są pomocne w ocenie jej poprawności. Wykorzystuje się je do porównywania ze sobą różnych modeli oraz oceny efektów manipulacji punktem podziału klasyfikacji. Warto przyjrzeć się sposobom ich obliczania oraz interpretacji. Ze względu na rozbieżności w nazewnictwie zamieściłem również ich angielskie odpowiedniki:

  • Trafność (accuracy): odsetek poprawnych klasyfikacji dokonywanych przez model: (TP+TN)/(TP+TN+FP+FN)
  • Precyzja (precission): odpowiedź na pytanie, w jakim stopniu klasyfikacje pozytywne na podstawie modelu są poprawne: TP/(TP+FP)
  • Czułość/Pełność (recall ration/sensitivity): zdolność modelu do wychwytywania przypadków pozytywnych: TP/(TP+FN)
  • Swoistość/Specyficzność (specificity): zdolność modelu do wychwytywania przypadków negatywnych: TN/(TN+FP)
  • Współczynnik F1 (F1): średnia harmoniczna czułości i precyzji

Liberalizując kryterium klasyfikacji przypadków jako pozytywnych (P) częściej wykrywamy ich występowanie w danych i w efekcie zwiększamy Czułość. Z drugiej strony, coraz częściej klasyfikujemy przypadki negatywne (N) jako pozytywne, więc równocześnie obniżamy swoistość (wzrasta odsetek przypadków fałszywie pozytywnych). Z kolei zaostrzając warunki klasyfikacji, popełniamy coraz mniej błędów fałszywej klasyfikacji pozytywnej (dostrzeganie problemu tam, gdzie go w istocie nie ma), ale też coraz częściej przypadki pozytywne będą uznawane błędnie za takie, dla których prognozowane zjawisko nie wystąpiło (Fałszywie negatywne). Dobry model osiąga maksymalne wartości Czułości (dobrze klasyfikuje przypadki pozytywne) oraz Swoistości (dobrze klasyfikuje przypadki negatywne), co niestety bywa często trudne.

Optymalizacja punktu odcięcia zawsze jest poszukiwaniem kompromisu opartego o bilans zysków, strat i kosztów utraconych możliwości. Wszystko zależy od tego, który błąd jest z punktu widzenia biznesowego bardziej kosztowny. Jeżeli koszt złożenia oferty telefonicznej przez konsultanta jest względnie niski w stosunku do niepodejmowania działań i utraty klienta, to warto liberalizować punkt podziału. Z drugiej strony, błąd polegający na podaniu zdrowej osobie ryzykownego leku będzie skłaniał nas do zaostrzania kryterium podziału.

 

Ocena wydajności modelu za pomocą krzywych ROC

Krzywe ROC dostępne są w PS IMAGO PRO w menu [Analiza -> Klasyfikacja -> Krzywe ROC]. W tym samym miejscu dostępna jest również procedura [Analiza ROC], która posiada kilka dodatkowych możliwości w stosunku do podstawowej wersji procedury.

 

Rysunek 4. Kreator krzywych ROC

Rysunek 4. Kreator krzywych ROC

 

Procedura wymaga wprowadzenia testowanej zmiennej ilościowej – informacji o prawdopodobieństwie wystąpienia analizowanego zdarzenia. Mogą to być prawdopodobieństwa uzyskane na podstawie modelu klasyfikującego (regresja logistyczna, analiza dyskryminacyjna). W przypadku oceny kilku modeli możliwe jest wprowadzenie kilku zmiennych. [Zmienna stanu] to zmienna niosąca informacje o wystąpieniu lub nie – najczęściej jest to zmienna zależna dla modeli klasyfikacyjnych. W okienku [Wartość zmiennej stanu] określamy, jaka wartość odpowiada wystąpieniu modelowanego zdarzenia.

Interpretację krzywej ROC znacznie ułatwia dodanie przekątnej z linią referencyjną, obliczenie pola pod powierzchnią krzywej – pozwala na to opcja [Błąd standardowy i przedział ufności,] a także utworzenie tabeli ze współrzędnymi punktów za pomocą opcji [Współrzędne punktów krzywej ROC].

 

Rysunek 5. Wykres krzywej ROC

Rysunek 5. Wykres krzywej ROC

 

Krzywa ROC prezentuje dwie wartości (Czułość i 1-Swoistość) w zależności od prawdopodobieństwa wystąpienia zdarzenia oszacowanego przez model. Wraz ze wzrostem punktu odcięcia, czyli granicznego prawdopodobieństwa klasyfikacji pozytywnej, obydwie miary będą spadać. Im wyższe jest graniczne prawdopodobieństwo klasyfikacji tym rzadziej będziemy klasyfikować obserwacje jako pozytywne – mniej więc będzie klasyfikacji pozytywnych, tak poprawnych, jak i błędnych.

Na wykresie prawdopodobieństwo wzrasta więc od prawej do lewej strony. W prawym górnym rogu wykresu wynosi ono 0, więc model wszystkie przypadki uznaje za pozytywne – czułość wynosi więc 1 (100% rzeczywistych przypadków pozytywnych zostało za takie uznane) i 1-Swoistość też, ponieważ żaden przypadek nie został uznany za negatywny (1-0=1).

Oprócz krzywej ROC na wykresie zaznaczona jest również przekątna – jest to teoretyczna linia klasyfikacji dokonywanych przez model losowy. Taki model równie często dokonuje błędnych i poprawnych klasyfikacji pozytywnych. Oczywiście nasz rzeczywisty model powinien mieć zdecydowanie lepsze parametry, więc obliczona dla niego krzywa ROC powinna znajdować się powyżej przekątnej. Im wyżej tym oczywiście lepiej.

 

Rysunek 6. Test powierzchni pod krzywą ROC

Rysunek 6. Test powierzchni pod krzywą ROC

 

PS IMAGO PRO daje możliwość przetestowania, czy powierzchnia pod naszą krzywą jest równa 0,5, czyli czy jest równa powierzchni pod krzywą modelu losowego. Odrzucenie tej hipotezy oznacza, że nasz model jest lepszy niż model losowy. Z zamieszczonej powyżej tabeli możemy odczytać również wartość pola pod powierzchnią (kolumna [Powierzchnia]). Jeżeli porównujemy ze sobą kilka modeli, to model o większej powierzchni jest modelem lepszym – ma większą zdolność do wychwytywania pozytywnych klasyfikacji w stosunku do odsetka błędów fałszywych klasyfikacji pozytywnych.

Model idealny to taki, dla którego krzywa będzie miała kształt zbliżony raczej do prostokąta niż do łuku. Oznacza to, że odsetek poprawnych klasyfikacji pozytywnych utrzymuje się na wysokim poziomie, a fałszywie pozytywnych systematycznie spada wraz z zaostrzaniem kryteriów klasyfikacji. Wyraźny, najlepiej pionowy spadek krzywej (analizując ją od prawej strony) po wcześniejszym stosunkowo płaskim przebiegu stanowi podpowiedź do wskazania punktu odcięcia. Od tego punktu zdolność modelu do wychwytywania pozytywnych klasyfikacji zaczyna się wyraźnie pogarszać.

Kolejną strategią w dążeniu do znalezienia najlepszego punktu odcięcia może być również poszukiwanie takiej wartości prawdopodobieństwa, dla której różnica pomiędzy wartościami Czułości oraz 1-Swoistość jest największa. Odczyt tej wartości na podstawie wykresu jest dość trudny, jednak w tym przypadku pomocna może okazać się analiza tabeli [Współrzędne krzywej]. Wartości z tej tabeli można przenieść do nowego okna edytora danych i dokonać stosownych obliczeń. Na poniższym wykresie zamieściłem przykładową wizualizację różnicy obliczonej pomiędzy odsetkiem poprawnych pozytywnych klasyfikacji a odsetkiem klasyfikacji fałszywie pozytywnych.

 

Rysunek 7. Różnica pomiędzy poprawnymi a błędnymi klasyfikacjami pozytywnymi

Rysunek 7. Różnica pomiędzy poprawnymi a błędnymi klasyfikacjami pozytywnymi

 

Punktu odcięcia należy szukać w miejscu oznaczonym czerwoną linią – prawdopodobieństwo wynosi w tym miejscu 0,185, a wartość poszukiwanej różnicy 0,563.

Warto dodać, że PS IMAGO PRO umożliwia również automatyczne wskazanie omawianego prawdopodobieństwa klasyfikacji pozytywnych. Tak opcja jest dostępna w procedurze [Analiza ROC] w menu [Prezentacja] pod nazwą [Metryka oceny klasyfikatora].

 

Rysunek 8. Menu Prezentacja procedury Analiza ROC

Rysunek 8. Menu Prezentacja procedury Analiza ROC

 

Poniżej zamieściłem żądaną tabelę wynikową.

 

Rysunek 9. Metryka oceny klasyfikatora

Rysunek 9. Metryka oceny klasyfikatora

 

W tabeli zamieszczony został wskaźnik Giniego, maksymalna wartość różnicy pomiędzy omawianymi współczynnikami wydajności klasyfikacji (w raporcie określonej jako Metryka Kołmogorowa-Smirnowa), natomiast w trzeciej kolumnie wskazany został punkt odcięcia, określony na podstawie wartości maksymalnej tej metryki. Model o najwyższej wartości tej statystyki można uznać za model najbardziej wydajny.

Warto porównać jakość klasyfikacji modelu w oparciu o kryterium K-S z kryterium podziału na poziomie 0,5, które została przedstawiona w tabeli nr 1. Model początkowy uzyskał trafność na poziomie 81,4, co jest wartością lepszą od klasyfikacji opartej o zmodyfikowane kryterium podziału. Z drugiej strony, poprawnie klasyfikował on tylko 50,3% klientów mających problem ze spłatą, podczas gdy model po modyfikacji kryterium klasyfikacji osiągnął wartość na poziomie 90,2%. Taka klasyfikacja jest więc znacznie bardziej czuła niż w prognozie utworzonej o domyślne wartości progowe. W ostatecznej ocenie modelu warto oczywiście uwzględnić bilans potencjalnych zysków i strat. Zazwyczaj niepodejmowanie działań jest bardziej kosztowne niż nawet nietrafna dodatkowa weryfikacja klienta.

 

Rysunek 10. Model po zastosowaniu optymalnego kryterium K-S

Rysunek 10. Model po zastosowaniu optymalnego kryterium K-S

 

Analizy prezentowane w tym artykule zostały zrealizowane przy pomocy PS IMAGO PRO

Krzywe ROC są jednym z podstawowych narzędzi wspierających analityków w ocenie jakości modeli i warto korzystać z dostarczanych przez nie możliwości. Ocena jakości modelu prognozującego wystąpienie jakiegoś zjawiska nie powinna być sprowadzana wyłącznie do odsetka poprawnych klasyfikacji. Często mechaniczny wybór modelu o najwyższym dopasowaniu może prowadzić do wyboru modelu nieprzydatnego z punktu widzenia podejmowanej decyzji. Analiza za pomocą krzywych ROC i współczynników wydajności klasyfikacji wydaje się być bardzo dobrą alternatywą. Ponadto wspomniane techniki znacząco ułatwiają wybór optymalnego punktu podziału na klasyfikacje pozytywne i negatywne, co często jest dużym problemem i wymaga szczegółowej analizy. Warto zdawać sobie sprawę z konsekwencji przyjęcia określonych kryteriów i nie poprzestawać jedynie na przyjmowaniu wartości domyślnych.


Oceń artykuł:

Udostępnij artykuł w social mediach



Zostańmy w kontakcie!

Chcesz dostawać wiadomości o nowych wpisach na blogu i webinarach z zakresu analizy danych? Zapisz się na powiadomienia e-mail.

Ustawienia dostępności
Zwiększ wysokość linii
Zwiększ odległość między literami
Wyłącz animacje
Przewodnik czytania
Czytnik
Większy kursor