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

Views All Time
Views All Time
479
Views Today
Views Today
1

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *