Wskaźnik KS na bazie Captured Response / Tips & Tricks na krzywych – czyli ocena jakości klasyfikacji (część 14)

Witaj w 14 części cyklu „Ocena jakości klasyfikacji”. Dziś rozwinę wątek oszacowania separacji klas na bazie krzywej Captured Response – będzie to kolejny odcinek z serii „Tips & Tricks na krzywych”.

Statystyka KS Kołmogorowa-Smirnowa jako miara różnicy rozkładów

Rozważmy dwie rzeczywiste zmienne losowe $$X_1$$ i $$X_2$$ oraz ich dystrybuanty odpowiednio $$F_{X_1}$$ oraz $$F_{X_2}$$. Statystyką Kołmogorowa-Smirnowa dla zmiennych $$X_1$$ oraz $$X_2$$ nazywamy odległość $$D\big(X_1,X_2\big)$$ zdefiniowaną następująco:

$$D\big(X_1,X_2\big)=\displaystyle\sup_{x\in\mathbb{R}}\bigg|F_{X_1}(x)-F_{X_2}(x)\bigg|$$

Statystyka KS Kołmogorowa-Smirnowa

Jeśli $$x$$ jest badaną wartością, to odległość KS interpretujemy jako maksymalną różnicę pomiędzy rzędem kwantyla w rozkładzie pierwszym i rzędem kwantyla w rozkładzie drugimi, które to rzędy odpowiadają wspólnej wartości $$x$$.

Do tanga trzeba dwojga

Przy modelach predykcyjnych, dla problemu klasyfikacji binarnej, tak naprawdę dysponujemy trzema rozkładami:

  • rozkład populacji / próby względem oceny modelem;
  • rozkład klasy pozytywnej względem oceny tym samym modelem;
  • rozkład klasy negatywnej również względem oceny tym samym modelem.

W części #13 „Lift i Captured Response to gęstość i dystrybuanta tego samego rozkładu” pokazałem jak „wygląda” rozkład klasy pozytywnej. Dziś interesuje nas odległość KS rozkładu „jedynek” od rozkładu „zer”, przechodzimy więc do zdefiniowana gęstości i dystrybuanty dla klasy negatywnej.

Lift nieskumulowany dla klasy negatywnej – tzn. „klasy 0”

Załóżmy, że dana jest funkcja $$Lift.Niesk_1(\Delta q)$$ liftu nieskumulowanego dla klasy pozytywnej, gdzie $$\Delta q$$ to przedział rzędu kwantyla (w całej populacji) względem malejącej oceny modelem.

$$Lift.Niesk_0(\Delta q)=\frac{P(0|\Delta q)}{P(0)}$$

$$Lift.Niesk_0(\Delta q)=\frac{1-P(1|\Delta q)}{1-P(1)}=$$

$$=\frac{1-P(1)\frac{P(1|\Delta q)}{P(1)}}{1-P(1)}=$$

$$=\frac{1-P(1)\cdot Lift.Niesk_1(\Delta q)}{1-P(1)}$$

$$Lift.Niesk_0(\Delta q)=\frac{1-apriori\times Lift.Niesk_1(\Delta q)}{1-apriori}$$

Przykład dla pewnej funkcji liftu nieskumulowanego i apriori = 30%.

Lift nieskumulowany - klasa "1" + klasa "0"

Warto zwrócić uwagę na punkt przecięcia tych krzywych – spotykają się w tym samym miejscu, gdzie dochodzi do zrównania z krzywą dla modelu losowego. Dosyć łatwo to uzasadnić: jeśli $$P(1|\Delta q^i)=apriori$$ to $$P(0|\Delta q^i)=1-apriori$$.

Sprawdźmy jeszcze czy $$Lift.Niesk_0(\Delta q)$$ spełnia warunek „unormowania”.

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

$$=\displaystyle\int_0^1 \frac{1-apriori\times Lift.Niesk_1(q)}{1-apriori}dq=$$

$$=\frac{1}{1-apriori}\displaystyle\int_0^1 \bigg(1-apriori\times Lift.Niesk_1(q)\bigg)dq=$$

$$=\frac{1}{1-apriori}\bigg(\displaystyle\int_0^1 1dq-apriori\displaystyle\int_0^1Lift.Niesk_1(q)dq\bigg)=$$

$$=\frac{1}{1-apriori}(1-apriori)=1$$

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

Captured Response dla klasy negatywnej – tzn. „klasy 0”

Załóżmy, że dana jest funkcja $$CR_1(q)$$ Captured Response dla klasy pozytywnej, gdzie $$q$$ to rząd kwantyla (w całej populacji) względem malejącej oceny modelem.

Oznaczenia:

  • $$q$$ – punkt, dla którego wyznaczamy wartość krzywej;
  • $$N=N_1+N_0$$ – liczba obserwacji: łączna, z „klasy 1”, z „klasy 0”;
  • $$n=n_1+n_2=q\cdot N$$ – liczba obserwacji „na lewo” od $$q$$: łączna, z „klasy 1”, z „klasy 0”;

Wtedy:

$$CR_1(q)=\frac{n_1}{N_1}$$

$$CR_0(q)=\frac{n_0}{N_0}$$

Wyprowadzamy $$CR_0(q)$$ w zależności od $$CR_1(q)$$.

$$CR_0(q)=\frac{n_0}{N_0}=\frac{n-n_1}{N_0}=\frac{n-N_1\frac{n_1}{N_1}}{N_0}=$$

$$=\frac{n-N_1 CR_1(q)}{N_0}=\frac{qN-N_1 CR_1(q)}{N_0}=$$

$$=\frac{qN}{N_0}+\frac{N_1 CR_1(q)}{N_0}=q\bigg(\frac{N_0}{N}\bigg)^{-1}-\frac{N_1}{N_0}CR_1(q)=$$

$$=\frac{q}{1-apriori}-\frac{N_1 N}{NN_0}CR_1(q)=0$$

$$=\frac{q}{1-apriori}-\frac{N_1}{N}\bigg(\frac{N_0}{N}\bigg)^{-1}CR_1(q)=$$

$$=\frac{q}{1-apriori}-apriori\frac{1}{1-apriori}CR_1(q)$$

$$CR_0(q)=\frac{q-apriori\times CR_1(q)}{1-apriori}$$

Przykład dla pewnej funkcji Captured Response i apriori = 30%.

Captured Response - klasa klasa pozytywna i klasa negatywna

$$CR_0(q)$$ jest dystrybuantą, gdyż:

  • $$CR_0(0)=\frac{0-apriori\times CR_1(0)}{1-apriori}=\frac{0-apriori\times 0}{1-apriori}=0$$
  • $$CR_0(1)=\frac{1-apriori\times CR_1(1)}{1-apriori}=\frac{1-apriori\times 1}{1-apriori}=1$$
  • Jest funkcją niemalejącą, co wynika bezpośrednio z jej definicji.

Lift nieskumulowany dla klasy negatywnej to pochodna Captured Response dla klasy negatywnej

$$CR_0^\prime(q)=\bigg(\frac{q-apriori\times CR_1(q)}{1-apriori}\bigg)^\prime=$$

$$=\frac{\big(q-apriori\times CR_1(q)\big)^\prime}{1-apriori}=\frac{1-apriori\times CR_1^\prime(q)}{1-apriori}=$$

$$=\frac{1-apriori\times Lift.Niesk_1(q)}{1-apriori}=Lift.Niesk_0(q)$$

$$CR_0^\prime(q)=Lift.Niesk_0(q)$$

Aby w pełni zrozumieć powyższe przejścia zapoznaj się z częścią #11 „Captured Response vs Lift”, gdzie uzasadniam, że pochodna Captured Response to lift nieskumulowany.

Wniosek: Lift nieskumulowany dla klasy negatywnej oraz Captured Response dla klasy negatywnej to gęstość i dystrybuanta tego samego rozkładu.

Jeśli

$$Q=(q_1,q_2)$$

to

$$P(q\in Q|0)=\displaystyle\int_{q_1}^{q_2}Lift.Niesk_0(q)dq=$$

$$=CR_0(q_2)-CR_0(q_1)$$

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

$$=CR_1(q_2)-CR_1(q_1)$$

Wskaźnik KS dla $$CR_1$$ i $$CR_0$$ – czyli miara separacji klas

Wskaźnik KS dla $$CR_1$$ i $$CR_0$$ zdefiniujemy następująco:

$$D\big(CR_1,CR_0\big)=\displaystyle\sup_{q\in[0,1]}\bigg|CR_1(q)-CR_0(q)\bigg|$$

Równoważnie poszukujemy takiego $$q_{max}\in[0,1]$$, że

$$D\big(CR_1,CR_0\big)=\displaystyle\sup_{q\in[0,1]}\bigg|CR_1(q)-CR_0(q)\bigg|=$$

$$=CR_1(q_{max})-CR_0(q_{max})$$

Zauważmy, że

$$CR_1(q)-CR_0(q)=\bigg(CR_1(q)-q\bigg)+\bigg(q-CR_0(q)\bigg)$$

Badamy przebieg zmienności – a konkretnie typujemy punkt maksimum na podstawie pochodnej.

Dla klasy „1”:

$$\bigg(CR_1(q)-q\bigg)^\prime=0$$

$$CR_1^\prime(q)=1$$

$$Lift.Niesk_1(q)=1$$

Dla klasy „0”:

$$\bigg(q-CR_0(q)\bigg)^\prime=0$$

$$CR_0^\prime(q)=1$$

$$Lift.Niesk_0(q)=1$$

$$\frac{1-apriori\times Lift.Niesk_1(q)}{1-apriori}=1$$

$$1-apriori\times Lift.Niesk_1(q)=1-apriori$$

$$-apriori\times Lift.Niesk_1(q)=-apriori$$

$$apriori\times Lift.Niesk_1(q)=apriori$$

$$Lift.Niesk_1(q)=1$$

Wniosek: odległość $$CR_1(q)-CR_0(q)$$ jest maksymalizowana w punkcie, w którym funkcja liftu nieskumulowanego ma wartość 1 – tzn. w punkcie przecięcia z liftem dla modelu losowego.

Captured Response - klasa klasa pozytywna i klasa negatywna - Statystyka KS Kołmogorowa-Smirnowa

Powyższy wniosek jest dosyć intuicyjny – jeśli lift nieskumulowany „wchodzi w obszar bycia mniejszym niż 1” oznacza to, że jego efekt jest mniejszy od działania modelu losowego. Dodawanie kolejnych obserwacji zaczyna zmniejszać separację rozkładów.

Pozdrowienia,

Mariusz Gromada