Lift nieskumulowany jako gęstość, Captured Response jako dystrybuanta / Tips & Tricks na krzywych - czyli ocena jakości klasyfikacji (część 13)

W 13 części cyklu "Ocena jakości klasyfikacji" przedstawię dodatkowe interpretacje dla krzywej liftu nieskumulowanego i krzywej Captured Response. Obiecuję, że będzie ciekawie 🙂 przecież robimy "deep dive into predictive model assessment curves". W dzisiejszym odcinku zapomnimy o punktach odcięcia, klasyfikatorach binarnych, rozważając rozkłady populacji jako całość. Chwilkę się do tego przygotowywałem - było warto - seria "Tips & Tricks na krzywych" nabiera rumieńców!

Pole powierzchni pod krzywą liftu nieskumulowanego

Lift nieskumulowany dla modelu losowego to funkcja stała o wartości 1. Pole pod taką krzywą równe jest polu kwadratu o boku 1 i wynosi oczywiście 1. Model losowy "rozrzuca" obserwacje z "klasy 1" równomiernie, tzn. taka sama część otrzymuje wysoki, średni i niski score. Głównym zadaniem modelu predykcyjnego, w pewnym sensie, jest "przepchnąć" obserwacje należące do "klasy 1" z segmentu niskiego score do segmentu wysokiego score - dzięki temu pojawia się separacja klas. Powyższe dobrze obrazuję animacją, gdzie siła modelu utożsamiana jest z "siłą podmuchu wiatru" 🙂

Lift nieskumulowany - całka

Takie "przepchnięcie" nie ma wpływu na ilość "jedynek", zatem należy podejrzewać, że pole pod krzywą liftu nieskumulowanego zawsze wynosi 1. No to całkujemy:

\displaystyle\int_0^1 Lift.Niesk(q)dq

Oznaczenia + zależności:

  • N=N_1+N_0 - liczba obserwacji: łączna, z "klasy 1", z "klasy 0";
  • k - liczba przedziałów, na które dzielimy odcinek [0;1];
  • p=\frac{1}{k} - szerokość pojedynczego przedziału (zakres zmienności rzędu kwantyli);
  • p\cdot N - liczba obserwacji w przedziale (podział po kwantylach, zatem po równo);
  • i=\{1,2,3,\ldots,k\} - numer przedziału;
  • n_1^i+n_0^i=pN - liczba obserwacji w przedziale, osobno "z klasy 1" i "z klasy 0";
  • \Delta q^i - przedział, na którym wyznaczona jest wartość liftu nieskumulowanego;
  • \displaystyle\sum_{i=1}^k n_1^i=N_1
  • \displaystyle\sum_{i=1}^k n_0^i=N_0
  • \displaystyle\sum_{i=1}^k n_1^i+n_0^i=N_1+N_0=N

Lift nieskumulowany jest funkcją przedziałami stałą:

Lift.Niesk(q)=Lift.Niesk(\Delta q^i)\quad\text{dla}\quad q\in\Delta q^i

Lift.Niesk(\Delta q^i)=\frac{P(1|\Delta q^i)}{P(1)}

P(1|\Delta q^i)=\frac{n_1^i}{pN} oraz P(1)=\frac{N_1}{N}

Lift.Niesk(\Delta q^i)=\frac{n_1^i}{pN}\cdot \frac{N}{N_1}=\frac{n_1^i}{pN_1}

Lift.Niesk(\Delta q^i)=\frac{n_1^i}{pN_1}

\displaystyle\int_0^1 Lift.Niesk(q)dq=\displaystyle\sum_{i=1}^k p\cdot Lift.Niesk(\Delta q^i)

\displaystyle\sum_{i=1}^k p\cdot Lift.Niesk(\Delta q^i)=\displaystyle\sum_{i=1}^k p\frac{n_1^i}{pN_1}=

=\displaystyle\sum_{i=1}^k \frac{n_1^i}{N_1}=\frac{\displaystyle\sum_{i=1}^k n_1^i}{N_1}=\frac{N_1}{N_1}=1

\displaystyle\int_0^1 Lift.Niesk(q)dq=1

Lift nieskumulowany jako funkcja gęstości rozkładu prawdopodobieństwa

Funkcja liftu nieskumulowanego jest nieujemna i spełnia warunek "unormowania" (w przeciwieństwie do funkcji nieskumulowanego prawdopodobieństwa) w kontekście gęstości rozkładu prawdopodobieństwa - tzn. pole powierzchni pod krzywą wynosi 1. Taka gęstość opisuje rozkład rzędu kwantyli (kwantyle wyznaczane dla całej populacji "klasa 0 + klasa 1" względem malejącej oceny modelem) w klasie faktycznie pozytywnej - tzn. w "klasie 1".

Lift nieskumulowany jako gęstość

Jeśli

Q=(q_1,q_2)

to

P(q\in Q|1)=\displaystyle\int_{q_1}^{q_2}Lift.Niesk(q)dq

Captured Response jako dystrybuanta rozkładu prawdopodobieństwa

Captured Response jest funkcją niemalejącą, jednostronnie ciągłą (powiedzmy, że prawostronnie), o wartościach z przedziału [0;1], wartości 0 dla q\leq 0 oraz wartości 1 dla q\geq 1. Tym samym spełnione są warunki bycia dystrybuantą pewnego rozkładu prawdopodobieństwa. W części "#11 - Captured Response vs Lift" wykazałem, że pochodna z Captured Response to lift nieskumulowany. Wniosek: Captured Response i lift nieskumulowany to dystrybuanta i gęstość tego samego rozkładu prawdopodobieństwa.

Lift nieskumulowany jako gęstość, Captured Response jako dystrybuanta

Jeśli

Q=(q_1,q_2)

to

P(q\in Q|1)=\displaystyle\int_{q_1}^{q_2}Lift.Niesk(q)dq=CR(q_2)-CR(q_1)

Pozdrowienia,

Mariusz Gromada

Dlaczego pole powierzchni koła wynosi π·r²?

P=\pi r^2 to chyba najbardziej znany wzór, będący zarazem rzadko rozumianym 🙂 Choć wzór na pole powierzchni koła, bo o nim tu mowa, znany był już w Starożytnej Grecji, to jego uzasadnienie wcale nie jest łatwe. Jest to zatem świetny temat do wzbogacenia cyklu "Dlaczego?" 🙂 Do dzieła! 🙂

Pole powierzchni koła - wzór

Pole powierzchni koła - wzór

P=\pi r^2

Jak widać powyżej - kwadrat i koło, o tej samej powierzchni, nie są "jakoś intuicyjnie łatwo" powiązane. Więcej - wykazano nawet, że kwadratura koła (procedura wykonywana przy użyciu cyrkla i linijki bez podziałki) jest niewykonalna! I tu pojawia się genialny pomysł z prostokątem 🙂 Nim powiem o co chodzi przyjrzyjmy się co tak naprawdę mówi wzór \pi r^2.

Pole powierzchni kola - Pi r kwadrat

\pi\times r^2 - czyli w kole mieszczą się nieco ponad 3 kwadraty o boku r 🙂

Pole powierzchni koła - dowód przez animację 🙂

Koło - pole powierzchni - animacja

Trochę się napracowałem przy tej animacji 🙂

Pole powierzchni koła - wielokąty foremne

Uwaga - poniższe nie jest dowodem, a obrazuje jedynie sposób wnioskowania stosowany przez Starożytnych Greków (tak np. Archimedes wyznaczał liczbę pi).

Pole powierzchni koła - wielokąt foremny

Można zauważyć, że obwód n-kąta foremnego opisanego na kole wynosi

O_n=na

a jego pole to suma pól trójkątów o podstawie a i wysokości równej promieniowi koła r.

P_n=n\frac{ar}{2}=\frac{nar}{2}

Podstawiając

P_n=\frac{O_nr}{2}

Gdy n jest coraz większe, P_n coraz dokładniej przybliża pole koła, a O_n jego obwód. W "kroku granicznym" (zagadnienie wielkości nieskończenie małej) otrzymujemy

O_n\to 2\pi r - tu z definicji liczby \pi

P_n\to\frac{2\pi rr}{2}=\pi r^2

Pole powierzchni koła - dowód nieco bardziej formalny

Dowód, który przeprowadzę, nie będzie oparty na całkowaniu równania okręgu. Wykorzystam ciągi i ich granice oraz twierdzenie o trzech ciągach.

Twierdzenie o trzech ciągach

Niech będą dane trzy ciągi rzeczywiste a_n, b_n i c_n. Jeśli "prawie wszędzie" (tzn. pomijając co najwyżej skończenie wiele wyrazów) zachodzi zależność

a_n\leq b_n\leq c_n

oraz

\lim a_n = \lim c_n = g

to

\lim b_n = g

Twierdzenie o trzech ciągach - strona na Wikipedii.

Przyda się również \lim_{x\to 0}\frac{\sin x}{x} = 1

Pamiętam jak w szkole średniej, na lekcjach fizyki, mój nauczyciel wielokrotnie przyjmował, że dla małych x funkcję \sin x dobrze przybliża właśnie x. Wynika to z rozwinięcia \sin x w szereg Taylora - wyjaśnienie pomijam. Wyznaczę jednak samą granicę - bo się przyda 🙂

\lim_{x\to 0}\frac{\sin x}{x}=\big(\frac{0}{0}\big)\text{ reg. de l`Hospitala}=

=\lim_{x\to 0}\frac{(\sin x)\prime}{x\prime}=\lim_{x\to 0}\frac{\cos x}{1}=

=\frac{\cos 0}{1}=\frac{1}{1}=1

\lim_{x\to 0}\frac{\sin x}{x} = 1

Reguła de l’Hospitala - Wikipedia

Pole powierzchni koła - dowód

Rozważmy n-kąty foremne opisane na kole i wpisane w koło. Pole n-kąta opisanego nazwijmy "polem zewnętrznym" i oznaczmy Z_n. Analogicznie pole n-kąta wpisanego nazwiemy "polem wewnętrznym" oznaczając je W_n.

Pole powierzchni koła - wielokąt foremny wpisany i opisany

Oczywiście

W_n\leq P\leq Z_n

gdzie P oznacza pole koła.

W kolejnym kroku dzielimy n-kąty na n-trójkątów. Zauważmy, że w ten sposób kąt pełny został również podzielony na n równych części. Pole "trójkąta zewnętrznego" oznaczymy przez T_n, a trójkąta wewnętrznego t_n.

Pole powierzchni koła - awielokąt foremny wpisany i opisany

Z_n=nT_n

W_n=nt_n

Wyznaczamy pole trójkąta "zewnętrznego"

T_n=Ar

ale

\frac{A}{r}=\text{tg}\beta=\frac{\sin\beta}{\cos\beta}

\frac{A}{r}r^2=r^2\frac{\sin\beta}{\cos\beta}

Ar=r^2\frac{\sin\beta}{\cos\beta}

T_n=r^2\frac{\sin\beta}{\cos\beta}=r^2\frac{\sin\frac{\pi}{n}}{\cos\frac{\pi}{n}}

Wyznaczamy pole trójkąta "wewnętrznego"

t_n=ah

ale

\frac{a}{r}=\sin\beta

a=r\sin\beta

oraz

\frac{h}{r}=\cos\beta

h=r\cos\beta

podstawiając

t_n=r\sin\beta\cdot r\cos\beta=r^2\sin\beta\cos\beta

stosując tożsamości trygonometryczne

t_n=r^2\sin\beta\cos\beta=\frac{r^2}{2}2\sin\beta\cos\beta=

=\frac{r^2}{2}\sin2\beta=\frac{r^2}{2}\sin\alpha

t_n=\frac{r^2}{2}\sin\alpha=\frac{r^2}{2}\sin\frac{2\pi}{n}

Finalne ciągi

Z_n=nT_n=nr^2\frac{\sin\frac{\pi}{n}}{\cos\frac{\pi}{n}}

W_n=nt_n=\frac{nr^2}{2}\sin\frac{2\pi}{n}

Granice ciągów

\lim Z_n=\lim nr^2\frac{\sin\frac{\pi}{n}}{\cos\frac{\pi}{n}}=

=\lim \frac{nr^2}{\cos\frac{\pi}{n}}\cdot\frac{\pi}{n}\cdot\frac{\sin\frac{\pi}{n}}{\frac{\pi}{n}}=

=\lim \frac{\pi r^2}{\cos\frac{\pi}{n}}\cdot\frac{\sin\frac{\pi}{n}}{\frac{\pi}{n}}=\frac{\pi r^2}{\cos 0}\cdot 1=

=\frac{\pi r^2}{1}=\pi r^2

\lim Z_n=\pi r^2

\lim W_n=\lim\frac{nr^2}{2}\sin\frac{2\pi}{n}=

\lim \frac{nr^2}{2}\cdot \frac{2\pi}{n}\cdot\frac{\sin\frac{2\pi}{n}}{\frac{2\pi}{n}}=

\lim \pi r^2\cdot\frac{\sin\frac{2\pi}{n}}{\frac{2\pi}{n}}=\pi r^2\cdot 1=\pi r^2

\lim W_n=\pi r^2

Wniosek

Z twierdzenia o trzech ciągach wnioskujemy, że pole koła to

P=\lim W_n=\lim Z_n=\pi r^2

Tempo zbieżności ciągów W_n oraz Z_n

Pole powierzchni koła - tempo zbieżności ciągów

🙂

Pozdrowienia,

Mariusz Gromada

 

Wskaźnik Giniego na bazie Captured Response / Tips & Tricks na krzywych - czyli ocena jakości klasyfikacji (część 12)

Wskaźnik Giniego, który opisałem w części #7 poświęconej krzywej ROC, jest jednym z najważniejszych narzędzi wykorzystywanych w procesie oceny jakości klasyfikacji. Choć krzywa ROC jest ważna i bardzo przydatna, to z mojego doświadczenia wynika, że większość analityków woli wykreślać krzywą Captured Response. Sądzę, że wszyscy intuicyjnie czujemy, że "Gini z ROC" i "Gini z Captured Response" to to samo 🙂 Ale dlaczego tak jest? 🙂 Dziś odpowiem na to pytanie, jednocześnie wzbogacając serię "Tips & Tricks na krzywych"!

Wskaźnik Giniego z krzywej Captured Response

Gini=\frac{P_1}{P_1+P_2}=\frac{P_1^\prime}{P_1^\prime+P_2^\prime}

Krzywa Captured Response jako przekształcenie liniowe krzywej ROC

W części #8 wykazałem, że krzywą ROC i krzywą Captured Response łączy poniższa formuła.

X_{cr}=\Big(1-apriori\Big)\times X_{roc}+apriori\times Y_{roc}

Y_{cr}=Y_{roc}

Wskaźnik Giniego z krzywej Captured Response - wektory

Powyższy wzór można zapisać na bazie przekształcenia liniowego

\begin{bmatrix}1-apriori & apriori\\0 & 1\end{bmatrix}\times\begin{bmatrix}X_{ROC}\\Y_{ROC}\end{bmatrix}=\begin{bmatrix}X_{CR}\\Y_{CR}\end{bmatrix}

 opisanego macierzą przekształcenia liniowego

A=\begin{bmatrix}1-apriori & apriori\\0 & 1\end{bmatrix}

Po szczegóły odsyłam do części #8 "Captured Response = ROC x apriori".

Wyznacznik macierzy przekształcenia liniowego i współczynnik zmiany pola powierzchni

Przekształcenie liniowe - Pole powierzchni - Wyznacznik macierzy przekształcenia

Jeśli analizujemy przekształcenie liniowe

Ax

gdzie A jest macierzą przekształcenia liniowego, a x wektorem, to wyznacznik

\text{det}(A)

jest współczynnikiem o jaki zmienia się pole powierzchni / objętość / miara figury / obiektu transformowanego poprzez przekształcenie liniowe Ax. Polecam poniższy film.

Wyznacznik macierzy przekształcenia liniowego krzywej ROC w krzywą Captured Response

\text{det}(A)=\text{det}\begin{bmatrix}1-apriori & apriori\\0 & 1\end{bmatrix}=1-apriori

Z powyższego wynika, że pole powierzchni pomiędzy przestrzenią, w której "osadzona" jest krzywa ROC, a przestrzenią "zawierającą" krzywą Captured Response, powinno się skalować poprzez współczynniki 1-apriori. Sprawdźmy 🙂

P_1+P_2=\frac{1}{2}

Wykorzystując wzór na pole trójkąta wyznaczamy

P_1^\prime+P_2^\prime=\frac{1}{2}(1-apriori)

Zgadza się 🙂 I ostatecznie

\frac{P_1^\prime}{P_1^\prime+P_2^\prime}=\frac{P_1(1-apriori)}{(P_1+P2)(1-apriori)}=\frac{P_1}{P_1+P_2}

czyli

Gini=\frac{P_1}{P_1+P_2}=\frac{P_1^\prime}{P_1^\prime+P_2^\prime}

Jako ciekawostka - podobnie można policzyć AUROC z Captured Response:

AUROC=P_1+\frac{1}{2}=\frac{P_1^\prime}{1-apriori}+\frac{1}{2}

Pozdrowienia,

Mariusz Gromada

Dlaczego pole powierzchni trójkąta wynosi ½·a·h?

Jestem pewien, że wzór na pole powierzchni trójkąta, tj. P=\frac{1}{2}ah, jest znany niemal wszystkim 🙂  Dzieci, będąc we wczesnym wieku szkolnym, poznają podstawy geometrii, w tym długości obwodów i pola powierzchni figur płaskich. Jeśli interesuje cię dlaczego pole powierzchni trójkąta zależy od długości jego podstawy i wysokości na nią opadającej, to jest to wpis dla Ciebie 🙂 Jednocześnie wzbogacam cykl "Dlaczego?". Zaczynamy!

Pole powierzchni trójkąta - wzór

Trójkąt - Pole powierzchni

Wzór na pole powierzchni trójkąta, choć prosty, to na pierwszy rzut oka nie jest zbyt intuicyjny (no może poza przypadkiem trójkąta prostokątnego). Oto, w jakiś magiczny sposób, dla każdej podstawy, iloczyny ich długości i długości wysokości na nie opadających, są sobie równe - i więcej - określą pole powierzchni ograniczonej trójkątem 🙂

P=\frac{ah_a}{2}=\frac{bh_b}{2}=\frac{ch_c}{2}

Pole powierzchni trójkąta - dowód przez animację 🙂 - przypadek 1

Przypadek 1: kiedy wysokość trójkąta "opada" na jego podstawę.

 

Trójkąt - pole powierzchni - przypadek 1

Pole powierzchni trójkąta - dowód przez animację 🙂 - przypadek 2

Przypadek 2: kiedy wysokość trójkąta "opada" poza jego podstawą.

Trójkąt - pole powierzchni - przypadek 2

Pole powierzchni trójkąta - dowód nieco bardziej formalny

Trójkąt prostokątny: przypadek oczywisty, nie wymaga wyprowadzenia 🙂

Trójkąt - Pole powierzchni - Trójkąt prostokątny

P=\frac{ab}{2}

Przypadek 1: kiedy wysokość trójkąta "opada" na jego podstawę.

Trójkąt - Pole powierzchni - przypadek 1

Wyprowadzenie wzoru:

P=P_1+P_2

2P_1+2P_2=ah

P_1+P_2=\frac{ah}{2}

P=\frac{ah}{2}

Przypadek 2: kiedy wysokość trójkąta "opada" poza jego podstawą.

Trójkąt - Pole powierzchni - przypadek 2

Wyprowadzenie wzoru:

P+P_1=P_2

P=P_2-P_1

P_1=\frac{xh}{2}

P_2=\frac{(a+x)h}{2}=\frac{ah}{2}+\frac{xh}{2}

P=P_2-P_1=\frac{ah}{2}+\frac{xh}{2}-\frac{xh}{2}=\frac{ah}{2}

P=\frac{ah}{2}

Koniec na dziś 🙂

 

Pozdrowienia,

Mariusz Gromada

Captured Response vs Lift / Tips & Tricks na krzywych - czyli ocena jakości klasyfikacji (część 11)

W części #8 cyklu "Ocena jakości klasyfikacji" pokazałem, że ROC i Captured Response to te same krzywe, które łączy proste przekształcenie liniowe. W bieżącym odcinku #11, należącym również do serii "Tips & Tricks na krzywych", przedstawię zależność pomiędzy Captured Response i Lift w wariantach: nieskumulowanym i skumulowanym.

!!! Uwaga: dla uproszczenia - wszędzie tam, gdzie piszę kwantyl, mam na myśli jego rząd !!!

Pochodna z Captured Response to Lift nieskumulowany

Pochodna z Captured Response to Lift nieskumulowany

Oznaczamy:

  • N=N_1+N_0 - liczba obiektów (np. klientów): total, z klasy "1", z klasy"0";
  • \Delta q_n - zmiana argumentu (przyrasta kwantyl bazy), czyli przyrost % populacji;
  • n=n_1+n_0 - liczba obiektów składających się na przyrost \Delta q_n: total, z klasy "1", z klasy"0";
  • \Delta q_t - zmiana wartości funkcji (przyrasta kwantyl targetu), czyli przyrost frakcji targetu jako % całości targetu;
  • n_1 - liczba klientów z klasy "1" składających się na przyrost \Delta q_t.
  • \Delta q_n=\frac{n}{N}
  • \Delta q_t=\frac{n_1}{N_1}

CR'=\frac{\Delta q_t}{\Delta q_n}

I wyprowadzamy 🙂

CR'=\frac{\Delta q_t}{\Delta q_n}=\frac{n_1}{N_1}\bigg/\frac{n}{N}=\frac{n_1}{N_1}\cdot\frac{N}{n}=\frac{n_1}{n}\cdot\frac{N}{N_1}=\frac{n_1}{n}\bigg/\frac{N_1}{N}

CR'=\frac{n_1}{n}\bigg/\frac{N_1}{N}=\frac{p(1|\Delta q_n)}{p(1)}=Lift.Niesk

Fajne 🙂 prawda? Lift nieskumulowany można jednoznacznie wyprowadzić z krzywej Captured Response poprzez analizę "lokalnych" przyrostów frakcji bazy \Delta q_n i frakcji targetu \Delta q_t.

Captured Response - stosunek wartości dla badanego modelu oraz wartości dla modelu losowego to Lift skumulowany

Captured Response - stosunek wartości dla badanego modelu oraz wartości dla modelu losowego to Lift skumulowany

Oznaczamy:

  • N=N_1+N_0 - liczba obiektów (np. klientów): total, z klasy "1", z klasy"0";
  • q_n - kwantyl bazy, czyli argument na osi poziomej;
  • n=n_1+n_0 - liczba obiektów składających się na kwantyl q_n: total, z klasy "1", z klasy"0";
  • q_t^m - kwantyl targetu, czyli wartość Captured Response dla badanego modelu;
  • q_t^l - kwantyl targetu, czyli wartość Captured Response dla modelu losowego;
  • q_n=\frac{n}{N}
  • q_t^m=\frac{n_1}{N_1}
  • Zauważmy, że q_t^l=q_n=\frac{n}{N}

\frac{q_t^m}{q_t^l}=\frac{n_1}{N_1}\bigg/\frac{n}{N}=\frac{n_1}{N_1}\cdot\frac{N}{n}=\frac{n_1}{n}\cdot\frac{N}{N_1}=\frac{n_1}{n}\bigg/\frac{N_1}{N}

\frac{q_t^m}{q_t^l}=\frac{n_1}{n}\bigg/\frac{N_1}{N}=\frac{p(1|q_n)}{p(1)}=Lift.Skumul

Kolejny fajny wniosek 🙂 , który można również łatwo uzasadnić na bazie wyżej opisanej zależności pomiędzy Captured Response i Liftem nieskumulowanym. Mianowicie wystarczy "delty liczyć" od punktu (0,0) i zauważyć, że dla modelu losowego q_t = q_n. Pokazałem to na rysunku poniżej.

Captured Response - stosunek wartości dla badanego modelu oraz wartości dla modelu losowego to Lift skumulowany

Lift skumulowany można jednoznacznie wyprowadzić z krzywej Captured Response poprzez analizę "globalnych" przyrostów frakcji bazy \Delta q_n i frakcji targetu \Delta q_t.

Pozdrowienia,

Mariusz Gromada

Model teoretycznie idealny / Tips & Tricks na krzywych - czyli ocena jakości klasyfikacji (część 10)

Kilka kolejnych części cyklu "Ocena jakości klasyfikacji" skupi się na poradach i pewnych trickach (czyli seria "Tips & Tricks na krzywych"), które zastosowane do krzywych: Lift, Captured Response, ROC, znacząco pogłębiają ich interpretację.

!!! Uwaga: dla uproszczenia - wszędzie tam, gdzie piszę kwantyl, mam na myśli jego rząd !!!

Model teoretycznie idealny a prawdopodobieństwo a-priori

Model teoretycznie idealny to taki model, który daje najlepsze możliwe uporządkowanie - inaczej mówiąc najlepszą możliwą separację klas. Taki model nie myli się przy założeniu, że punkt odcięcia odpowiada prawdopodobieństwu a-priori. Wtedy faktycznie cała klasa pozytywna jest po jednej stronie, a cała klasa negatywna po drugiej stronie punktu cut-off.

Model Teoretycznie Idealny - Porządek - Cut-Off - Brak błędu

Przy każdym innym cut-off model teoretycznie idealny popełnia mniejszy lub większy błąd.

Model Teoretycznie Idealny - Porządek - Cut-Off - Błąd

Ile istnieje różnych modeli teoretycznie idealnych?

Liczba różnych modeli teoretycznie idealnych to funkcja liczności klasy faktycznie pozytywnej i liczności klasy faktycznie negatywnej. Liczba ta będzie iloczynem możliwych permutacji w klasie pozytywnej i możliwych permutacji w klasie negatywnej. Takie modele, z punktu widzenia klasycznej oceny jakości klasyfikacji, są nierozróżnialne (dlatego na wykresach oznaczamy tylko jeden). Sytuacja może się zmienić, jeśli, w celu lepszego uporządkowania, rozważymy dodatkowe cechy (oprócz samej przynależności do badanej klasy), takie jak: wartość klienta, oczekiwany life-time, etc...

Model teoretycznie idealny i maksymalny Lift nieskumulowany

Lift nieskumulowany to stosunek prawdopodobieństwa w przedziale bazy \Delta q_n i prawdopodobieństwa a-priori (w całej bazie).

Lift.Nieskum=\frac{p(1|\Delta n)}{p(1)}

Jeśli baza jest uszeregowana malejąco względem oceny modelem, maksymalny możliwy lift nieskumulowany będzie funkcją dwuwartościową.

Lift.Nieskum(q)=\begin{cases}\frac{1}{apriori}&\text{dla}\quad q\leq apriori\\0&\text{dla}\quad q>apriori\end{cases}

q - kwantyl bazy (malejąco względem oceny modelem)

Model Teoretycznie Idealny - Lift Nieskumulowany

Model teoretycznie idealny i maksymalny Lift skumulowany

Również w przypadku skumulowanym, będąc "na lewo od a-priori", maksymalny możliwy lift skumulowany wynosi \frac{1}{apriori} (cały czas mamy do dyspozycji "1-dynki"). Jeśli "cut-off przekroczy kwantyl a-priori", klasyfikacja pozytywna zaczyna być "zaśmiecana" frakcją False-Positive, gdyż nie ma już "1-dynek" - co wynika z najlepszego możliwego porządku (model teoretycznie idealny) - tzn. wszystkie obiekty z klasy faktycznie pozytywnej znajdują się w kwantylach z przedziału [0,apriori].

Lift.Skum(q)=\begin{cases}\frac{1}{apriori}&\text{dla}\quad q\leq apriori\\\frac{1}{q}&\text{dla}\quad q>apriori\end{cases}

q - kwantyl bazy (malejąco względem oceny modelem)

Dlaczego \frac{1}{q}? Przyjmijmy q>apriori, wtedy

  • q to rozmiar "bazy"
  • apriori to rozmiar klasy faktycznie pozytywnej w rozważanej "bazie"

p\big(1\big|~[0,q]~\big)=\frac{apriori}{q}

Lift.Skum(q)=\frac{p\big(1\big|~[0,q]~\big)}{p(1)}=\frac{apriori}{q\times apriori}=\frac{1}{q}

Model Teoretycznie Idealny - Lift Skumulowany

Model teoretycznie idealny i maksymalny Captured Response

Dysponując najlepszym możliwym uporządkowaniem krzywa Captured Response liniowo rośnie dla argumentów "na lewo" od apriori - każdy dodany obiekt, to klasa faktycznie pozytywna. W punkcie "apriori" całość targetu jest już pokryta - zatem wartość krzywej to 100%.

Capt.Resp(q)=\begin{cases}\frac{q}{apriori}&\text{dla}\quad q\leq apriori\\1&\text{dla}\quad q>apriori\end{cases}

q - kwantyl bazy (malejąco względem oceny modelem)

Model Teoretycznie Idealny - Captured Response

Model teoretycznie idealny i ROC

  • Jeśli cut-off jest "na lewo" od a-priori: pokrywamy wyłącznie elementy klasy faktycznie pozytywnej, zatem rośnie wyłącznie TPR, przy zerowym FPR.
  • Dla cut-off odpowiadającego a-priori: pokryto 100% klasy faktycznie pozytywnej (TPR = 100%), jednocześnie nie popełniając żadnego błędu (FPR = 0%).
  • Dla cut-off większego od a-priori: TPR już wcześniej osiągnęło 100%, teraz klasyfikując pozytywnie popełniamy coraz większy błąd - tzn. FPR zaczyna rosnąć.
  • Dla cut-off = 1: pokryliśmy całość klasy faktycznie pozytywnej (TPR=100%), jednak w tym samym kroku wszelkie obiekty faktycznie negatywne zaliczyliśmy do klasy pozytywnej (FPR=100%).

Model Teoretycznie Idealny - ROC

"Przestrzeń na model" - czyli sens budowy modelu

  • Dla dużych a-priori (np. 50-60%) przestrzeń na model (tzn. możliwy do osiągnięcia lift) jest bardzo mała. W takich sytuacjach należy najpierw zadać sobie pytanie co chcemy osiągnąć, czym jest target, czy nie istnieją proste reguły biznesowe odpowiadające naszym potrzebom? Duże a-priori nie jest przypadkiem abstrakcyjnym - szereg pytań dotyczy cech / zdarzeń bardzo częstych w bazach / populacjach, np: czy rodzina ma dziecko?, czy ktoś posiada samochód?, etc..
  • Małe a-priori (np. kilka promili) daje bardzo dużą przestrzeń na model (typowo duży osiągany lift), ale należy pamiętać, że 5 razy 0 daje 0!! Przykładowa kalkulacja:
    • a-priori = 0.5%
    • lift (na którymś niskim centylu) = 10
    • wtedy prawdopodobieństwo targetu na bazie klasyfikowanej pozytywnie = 0.5% * 10 = 5%
    • wtedy w 95% przypadkach mylimy się - owszem możemy pokryć sporą część targetu, ale sami sobie odpowiedzcie czy nieprawidłowy komunikat do 95% grupy ma sens?
  • Pośrednie a-priori (kilka - kilkanaście procent) - sytuacja optymalna 🙂

Pozdrowienia,

Mariusz Gromada