"Sympatyczny" punkt przecięcia - czyli ocena jakości klasyfikacji (część 16)

Do napisania 16 części cyklu "Ocena jakości klasyfikacji" zainspirował mnie Kolega i dawny współpracownik! Michał - dzięki za "hint" 🙂 Dziś wskażę pewien sympatyczny punkt przecięcia, którego znajomość jest przydatna, a już z pewnością można "zaszpanować" 🙂 Wpis stanowi zdecydowane wzbogacenie serii "Tips & Tricks na krzywych".

Krzywe Captured Response (TPR) i prawdopodobieństwo skumulowane (PPV, Precision) przecinają się w punkcie a-priori 🙂

TPR vs Precision

Dowód: zaczynamy od oznaczeń:

  • N=N_1+N_0 - liczba obiektów w populacji: total, z klasy pozytywnej "1", z klasy negatywnej "0";
  • q - cut-off (jako kwantyl - a dokładnie jego rząd - względem malejącej oceny modelem);
  • [0,q] - klasyfikacja pozytywna;
  • (q,1] - klasyfikacja negatywna;
  • n_1(q) - true positive;
  • n_0(q) - false positive;
  • n(q)=n_1(q)+n_0(q)=q\cdot N

Wtedy

TPR(q)=CR_1(q)=\frac{n_1(q)}{N_1}=\frac{n_1(q)}{apriori\times N}

PPV(q)=P\big(~1~|~[0,q]~\big)=\frac{n_1(q)}{n(q)}=\frac{n_1(q)}{qN}

Porównując

PPV(q)=TPR(q)

\frac{n_1(q)}{qN}=\frac{n_1(q)}{apriori\times N}

Zakładając, że n_1(q)\neq 0

q=apriori

cbdo 🙂

Do czego "sympatyczny" punkt przecięcia może się przydać?

Znajomość punktu przecięcia może się przydać do weryfikacji poprawności analizowanych wykresów i ich spójności z założeniami. Przykładowo - jeśli analityk na jednym wykresie naniesie Captured Response wraz z modelem idealnym, następnie do wykresu doda p-ństwo skumulowane (czyli PPV), i jeśli te krzywe przetną się w innym punkcie niż "aprirori", to gdzieś mamy błąd! Być może prezentowane wykresy przedstawiają różne modele?

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