Model predykcyjny i punkt odcięcia (cut-off point) – czyli ocena jakości klasyfikacji (część 3)

W poprzednich częściach omówiliśmy sposób tworzenia macierzy błędu oraz podstawowe miary oceny jakości klasyfikacji: czułość (TPR), specyficzność (TNR), precyzję przewidywania pozytywnego (PPV), precyzję przewidywania negatywnego (NPV). Opisane miary określone są dla klasyfikatora binarnego (klasyfikacja pozytywna bądź negatywna), jednak w praktyce najczęściej stosuje się modele predykcyjne z ciągłą zmienną odpowiedzi (np. estymator prawdopodobieństwa skorzystania z produktu, gdzie wynikiem działania modelu jest wartość z przedziału [0, 1] interpretowana właśnie jako wspomniane prawdopodobieństwo określane również skłonnością).

Model predykcyjny

Dla lepszego zrozumienia załóżmy, że analizujemy bazę $n$-klientów oznaczonych odpowiednio $x_1, x_2, \ldots, x_n$. Model predykcyjny to np. funkcja (estymator) zwracająca dla każdego klienta właściwe dla niego prawdopodobieństwo zakupienia produktu – oznaczmy więc fakt zakupienia produktu klasą pozytywną „1”. Teraz możemy podać bardziej formalne określenie – zatem model predykcyjny to estymator prawdopodobieństwa warunkowego $p(1|x_i)$, że wystąpi zakup produktu (klasa „1”), pod warunkiem, że zaobserwujemy cechy klienta $x_i$.

$$p(1| \cdot ) : \{x_1, x_2, \ldots, x_n\} \to [0;1]$$

$$x_i\mapsto p(1| x_i ) \in [0;1]$$

Obserwacja cech klienta, a nie samego klienta, jest tu niezwykle istotna. Mianowicie danego klienta mamy dokładnie jednego, natomiast klientów o tych samych / podobnych cechach (np. miejsce zamieszkania, wiek, itp.) możemy posiadać wielu, co dalej umożliwia wnioskowanie indukcyjne, a w wyniku otrzymanie upragnionego modelu 🙂 .

Segment wysokiej skłonności

Typowo mniejszość klientów charakteryzuje się „wysoką” skłonnością, natomiast „średnia” i „niska” skłonność jest przypisywana do znacznie większej części bazy. Łatwo to uzasadnić – zazwyczaj w określonym okresie czasu produkt kupuje maksymalnie kilka procent bazy klientów. Jeśli model predykcyjny posiada faktyczną wartość predykcyjną, wysokie prawdopodobieństwo przypisze do relatywnie niewielkiej części klientów. Idąc dalej – im lepszy model, tym segment o wysokiej skłonności jest mniejszy i bliższy rozmiarem do oszacowania pochodzącego ze średniej sprzedaży mierzonej dla całej analizowanej bazy klientów (tzw. oszacowanie a-priori).

Model predykcyjny i punkt odcięcia

Punkt odcięcia (cut-off point)

Zadaniem punktu odcięcia jest stworzenie na bazie ciągłej zmiennej odpowiedzi (np. szacowanego prawdopodobieństwa) segmentów (klas) – dla uproszczenia załóżmy, że dwóch (jeden punkt odcięcia). Oznaczmy przez $p_0 \in [0;1]$ punkt rozgraniczający segment wysokiej skłonności od segmentów średniej i niskiej skłonności. Jeśli szacowane prawdopodobieństwo $p(1|x_i) \geq p_0$ klientowi $x_i$ przypiszemy klasę pozytywną „1”, w przeciwnym wypadku klientowi przypisujemy klasę negatywną „0”.

W powyższy sposób z „ciągłego” modelu predykcyjnego otrzymaliśmy klasyfikator binarny – co, w zestawieniu z faktycznymi zdarzeniami zakupu, umożliwia utworzenie macierzy błędu i wyznaczenie wszystkich istotnych miar oceny jakości dokonanej klasyfikacji.

Ale jak dobrać punkt odcięcia? O tym w następnej części 🙂

Pozdrowienia,

Mariusz Gromada

Zasięg (TPR – czułość / TNR – specyficzność) i precyzja (PPV / NPV) – czyli ocena jakości klasyfikacji (część 2)

Schemat oceny klasyfikacji

Wpis z dnia 26 października 2015 „Confusion matrix, Macierz błędu, tablica pomyłek – czyli ocena jakości klasyfikacji (część 1)” przedstawia wstęp do macierzy błędu i jej podstawowych zastosowań. Poniżej prezentujemy kolejne miary jakości klasyfikacji oparte na poznanej macierzy błędu. Przypomnijmy kodowanie klas:

  • 1 – Positive
  • 0 – Negative

oraz 4 możliwe wyniki przewidywań:

  • True-Positive (TP – liczba przewidywań prawdziwie pozytywnych);
  • True-Negative (TN – liczba przewidywań prawdziwie negatywnych);
  • False-Positive (FP – liczba przewidywań fałszywie pozytywnych);
  • False-Negative (FN – liczba przewidywań fałszywie negatywnych).

Confusion Matrix

Czułość i specyficzność jako miary „zasięgu”

  • Czułość = TPR = $\frac{TP}{TP+FN}$ – True-Positive Rate, miara „zasięgu / pokrycia / dotarcia” wskazująca w jakim procencie klasa faktycznie pozytywna została pokryta przewidywaniem pozytywnym (np. procent osób chorych, dla których test diagnostyczny wskazuje wynik pozytywny). TPR zapisujemy również jako

TPR = P( pred = P | fakt = P ) = P( pred = 1 | fakt = 1)  = P( 1 | 1 )

  • Specyficzność = TNR = $\frac{TN}{TN+FP}$ – True-Negative Rate, miara „zasięgu / pokrycia / dotarcia” wskazująca w jakim procencie klasa faktycznie negatywna została pokryta przewidywaniem negatywnym (np. procent osób zdrowych, dla których test diagnostyczny wskazuje wynik negatywny). TNR zapisujemy również jako

TNR = P( pred = N | fakt = N ) = P( pred = 0 | fakt = 0)  = P( 0 | 0 )

PPV i NPV jako miary precyzji

  • Precyzja przewidywania pozytywnego = PPV = $\frac{TP}{TP+FP}$ – Positive Predictive Value, miara precyzji wskazująca z jaką pewnością możemy ufać przewidywaniom pozytywnym, tzn. w jakim procencie przewidywania pozytywne potwierdzają się stanem faktycznie pozytywnym (np. procent osób z pozytywnym wynikiem testu medycznego, u których następnie potwierdzono diagnozę). PPV można zapisać również jako

PPV = P( fakt = P | pred = P) = P( fakt = 1 | pred = 1 )

  • Precyzja przewidywania negatywnego = NPV = $\frac{TN}{TN+FN}$ – Negative Predictive Value, miara precyzji wskazująca z jaką pewnością możemy ufać przewidywaniom negatywnym, tzn. w jakim procencie przewidywania negatywne potwierdzają się stanem faktycznie negatywnym (np. procent osób z negatywnym wynikiem testu medycznego, u których następnie wykluczono chorobę). NPV można zapisać również jako

NPV = P( fakt = N | pred = N) = P( fakt = 0 | pred = 0 )

Miary zasięgu i precyzji na schemacie macierzy błędu

Czułość, specyficzność oraz precyzja klasyfikacji

Miary zasięgu i precyzji na schemacie błędu klasyfikacyjnego

Czułość, specyficzność oraz precyzja klasyfikacji

Zależność pomiędzy miarami jakości klasyfikacji

  • Czułość (TPR) vs Specyficzność (TNR) – teoretycznie miary niezależne, co dobrze obrazują powyższe schematy. W praktyce jednak zwiększanie czułości prowadzi często do zmniejszenia specyficzności.
  • PPV i NPV  vs Czułość (TPR) vs Specyficzność (TNR) – korzystając z twierdzenia Bayesa można łatwo wyznaczyć zależność pomiędzy miarami precyzji i miarami zasięgu

$$\quad$$

$${\small PPV=P(fakt=1|pred=1)=}$$

$${\tiny=\frac{ P(fakt = 1) \cdot P(pred = 1 | fakt = 1) }{ P( fakt = 1)\cdot P( pred = 1 | fakt = 1) +P(fakt = 0) \cdot P(pred = 1 | fakt = 0)}=}$$

$${\small=\frac{ P(1) \cdot P(1 |1) }{ P(1)\cdot P(1|1) +P(0) \cdot P(1|0)}=}$$

$${\small=\frac{ P(1) \cdot P(1 |1) }{ P(1)\cdot P(1|1) +P(0) \cdot \big(1-P(0|0)\big)}=}$$

$${\small=\frac{ P(1) \cdot TPR}{ P(1)\cdot TPR+P(0) \cdot \big(1-TNR\big)}=}$$

$$\quad$$

$${\small NPV=P(fakt=0|pred=0)}$$

$${\tiny=\frac{ P(fakt = 0) \cdot P(pred = 0 | fakt = 0) }{ P( fakt = 0)\cdot P( pred = 0 | fakt = 0) +P(fakt = 1) \cdot P(pred = 0 | fakt = 1)}=}$$

$${\small=\frac{ P(0) \cdot P(0|0) }{ P(0)\cdot P(0|0) +P(1) \cdot P(0|1)}=}$$

$${\small=\frac{ P(0) \cdot P(0 |0) }{ P(0)\cdot P(0|0) +P(1) \cdot \big(1-P(1|1)\big)}=}$$

$${\small=\frac{ P(0) \cdot TNR}{ P(0)\cdot TNR+P(1) \cdot \big(1-TPR\big)}}$$

$$\quad$$

  • PPV vs NPV – miary mocno od siebie zależą, np. zwiększając frakcję TP zmniejszamy frakcję FN, lub zmniejszając frakcję FP zwiększamy frakcję TN.

Ciąg dalszy nastąpi 🙂

Pozdrowienia,

Mariusz Gromada

Confusion matrix, Macierz błędu, tablica / macierz pomyłek – czyli ocena jakości klasyfikacji (część 1)

Macierz pomyłek

Macierz pomyłek i klasyfikacja binarna

Macierz błędu jest podstawowym narzędziem stosowanym do oceny jakości klasyfikacji. Poniżej rozważymy przypadek klasyfikacji binarnej (dwie klasy).
Kodowanie klas:

  • 1 – Positive (np.: fakt skorzystania z produktu przez Klienta, pacjent z potwierdzoną chorobą, pacjentka z potwierdzoną ciążą)
  • 0Negative (np.: fakt nieskorzystania z produktu przez Klienta, pacjent z wykluczoną chorobą, pacjentka z wykluczoną ciążą)

Możliwe wyniki klasyfikacji

Macierz błędu powstaje z przecięcia klasy prognozowanej i klasy faktycznie zaobserwowanej, mamy zatem 4 przypadki (2 dla zgodności i 2 dla niezgodności prognozy ze stanem faktycznym).

  • True-Positive (TP – prawdziwie pozytywna): przewidywanie pozytywne, faktycznie zaobserwowana klasa pozytywna (np. pozytywny wynik testu ciążowego i ciąża potwierdzona)
  • True-Negative (TN – prawdziwie negatywna): przewidywanie negatywne, faktycznie zaobserwowana klasa negatywna (np. negatywny wynik testu ciążowego i brak ciąży)
  • False-Positive (FP – fałszywie pozytywna): przewidywanie pozytywne, faktycznie zaobserwowana klasa negatywna (np. pozytywny wynik testu ciążowego, jednak faktyczny brak ciąży)
  • False-Negative (FN – fałszywie negatywna): przewidywanie negatywne, faktycznie zaobserwowana klasa pozytywna (np. negatywny wynik testu ciążowego, jednak ciąża potwierdzona)
Confusion Matrix
Stan faktyczny
P N
Przewidywanie P TP
True-Positive
FP
False-Positive
N FN
False-Negative
TN
True-Negative

Przykład – do grupy 2000 osób skierowano komunikację marketingową zachęcającą do skorzystania z produktu. Spośród 2000 osób produkt zakupiło 600. Grupę 2000 podzielono losowo na dwie równoliczne części, każda po 1000 osób (w tym w każdej po 300 klientów, którzy skorzystali z produktu). Pierwszej grupie przydzielono rolę „danych uczących”, zaś drugiej rolę „danych testowych”.  Wykorzystując dane uczące, dostępne charakterystyki klientów oraz informacje o fakcie zakupienia produktu (tzw. target), przygotowano (wytrenowano / nauczono) klasyfikator umożliwiający przewidywanie czy dany klient skorzysta z produktu. Oceny jakości klasyfikatora dokonano przy wykorzystaniu danych testowych (tzn. danych, które nie były używane w procesie uczenia). Wyniki oceny zaprezentowano w postaci poniższej macierzy błędów.

 

Confusion Matrix dla powyższego przykładu
Stan faktyczny
P N
Przewidywanie P 250
True-Positive
100
False-Positive
N 50
False-Negative
600
True-Negative

Wnioski:

  • TP + FN + TN + FP = 250 + 50 + 600 + 100 = 1000 – liczba klientów (baza, na której dokonano oceny)
  • P = TP + FN = 250 + 50 = 300 – liczba klientów, którzy kupili produkt
  • N = TN + FP = 600 + 100 = 700 – liczba klientów, którzy nie skorzystali z produktu
  • TP + TN = 250 + 600 = 850 – liczba poprawnych klasyfikacji
  • FP + FN = 100 + 50 = 150 – liczba błędnych klasyfikacji
  • ACC = (TP + TN) / (P + N) = 850 / 1000 = 85%jakość klasyfikacji
  • ERR = (FP + FN) / (P + N) = 150 / 1000 = 15% – poziom błędu

W kolejnych częściach przyjrzymy się innym miarom jakości klasyfikacji, które powstają z macierzy błędów.

Pozdrowienia,

Mariusz Gromada