Captured Response = ROC x apriori - czyli ocena jakości klasyfikacji (część 8)

W części #6 oraz części #7 cyklu "Ocena jakości klasyfikacji" przedstawiłem krzywą zysku (aka: Gain, Captured Response) oraz krzywą ROC. Dzisiaj skupię się na mało znanej, acz bardzo prostej i przydatnej, relacji pomiędzy tymi krzywymi - okazuje się bowiem, że wykresy są "niemal identyczne" 🙂

Captured Response vs ROC

Wzór łączący ROC z Captured Response

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

Y_{cr}=Y_{roc}

Geometryczne podobieństwo Captured Response i ROC

Odpowiednio spoglądając na umieszczone obok siebie wykresy ciężko odeprzeć wrażenie, że krzywe są bardzo podobne. Intuicja podpowiada, że mamy tu do czynienia z tymi samymi funkcjami, jedynie naszkicowanymi w nieco różnych układach współrzędnych.

Captured Response vs ROC

W obu przypadkach to "przestrzeń" pomiędzy modelem losowym i modelem idealnym definiuje odpowiedni układ współrzędnych, a różnica obecna w Captured Response powiązana jest z a-priori (CR jest zależna od a-priori, ROC nie zależy od a-priori). Idąc za kolejnym przeczuciem powiemy, że najprawdopodobniej dla tej samej wartości "Y" różnić się będą wartości "X" (ze względu na "ściśniecie" obecne w Captured Response).

Wzór na bazie macierzy przekształcenia liniowego - jedynie poglądowo

Uwaga: poniższe wyprowadzenie jest jedynie pomocnicze, nie stanowi wystarczającej argumentacji uzasadniającej "identyczność" krzywych Captured Response i ROC!!! Formalna argumentacja znajduje się w kolejnej sekcji.

ROC w CR - przekształcenie liniowe - wektory

Zauważmy, że wektor

\begin{bmatrix}X_{ROC}=0\\Y_{ROC}=1\end{bmatrix} przechodzi w \begin{bmatrix}X_{CR}=apriori\\Y_{CR}=1\end{bmatrix}

oraz wektor

\begin{bmatrix}X_{ROC}=1\\Y_{ROC}=1\end{bmatrix} przechodzi w \begin{bmatrix}X_{CR}=1\\Y_{CR}=1\end{bmatrix}

Zatem macierz przekształcenia liniowego przyjmuje postać (potrzeba rozwiązać prościutki układ równań):

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

Finalne przekształcenie ROC w Capture Response to:

\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}

Wynik bardzo ciekawy - faktycznie wystarczy a-priori 🙂 Jednak to nie jest dowód, wyprowadzenie bazowało na intuicji ...

Wzór na bazie proporcji - jedynie poglądowo

Uwaga: Ponownie - poniższe wyprowadzenie jest jedynie pomocnicze, nie stanowi wystarczającej argumentacji uzasadniającej "identyczność" krzywych Captured Response i ROC!!! Formalna argumentacja znajduje się w kolejnej sekcji.

Oznaczmy punkty (wykres powyżej):

B_{cr}=\Big(X_{cr}, Y_{cr}\Big) - punkt na krzywej Captured Response

B_{roc}=\Big(X_{roc}, Y_{roc}\Big) - punkt na krzywej ROC

Podążając za "głosem wewnętrznym" 🙂 napiszemy równość

Y_{cr}=Y_{roc}

oraz równość proporcji długości odcinków

{\Large\frac{a_{cr}}{a_{cr}+b_{cr}}=\frac{a_{roc}}{a_{roc}+b_{roc}}}

To pozwoli wyprowadzić formułę dla wartość X_{cr} w zależności od współrzędnych \Big(X_{roc}, Y_{roc}\Big).

Długość odcinka: a_{roc}=X_{roc}

Długość odcinka: a_{roc}+b_{roc}=Y_{roc} (wynika z pozycji punktu C_{roc}=C_{cr}).

Przechodzimy od wyznaczenia współrzędnych punktu A_{cr} leżącego na krzywej idealnej wykresu Capture Response.

Prosta "idealna" jest opisana równaniem: y={\Large\frac{x}{apriori}} dla x mniejszych od a-priori, zatem

x=y\times apriori

I dalej współrzędne

A_{cr}=\Big(Y_{cr}\times apriori, Y_{cr}\Big)=\Big(Y_{roc}\times apriori, Y_{roc}\Big)

Zaś współrzędne

B_{cr}=\Big(X_{cr}, Y_{cr}\Big)=\Big(X_{cr}, Y_{roc}\Big)

C_{cr}=\Big(Y_{cr}, Y_{cr}\Big)=\Big(Y_{roc}, Y_{roc}\Big)

W tej chwili przystępujemy do wyznaczenia długości odcinków

Długość odcinka: a_{cr}=X_{cr}-Y_{roc}\times apriori

Długość odcinka: a_{cr}+b_{cr}=Y_{roc}-Y_{roc}\times apriori=Y_{roc}\Big(1-apriori\Big)

Kilka ostatnich kroków

{\Large\frac{a_{cr}}{a_{cr}+b_{cr}}=\frac{a_{roc}}{a_{roc}+b_{roc}}}

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

Mnożymy przez Y_{roc}

{\Large\frac{X_{cr}-Y_{roc}\times apriori}{1-aprior}}=X_{roc}

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

I finalnie

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

Y_{cr}=Y_{roc}

Wynik identyczny - jednak to nadal nie dowód ...

Pełny dowód na bazie macierzy błędu i prawdopodobieństw

Oś "Y" w przypadku ROC to True-Positive Rate, czyli

TPR={\Large\frac{TP}{TP+FN}}={\Large\frac{TP}{Faktyczne.P}}=P(1|1)

Macierz błędu

Z powyższego bezpośrednio wynika, że

Y_{cr}=Y_{roc}

Współrzędna "X" krzywej Captured Response to kwantyl bazy, tzn. gdyby założyć, że X% bazy klasyfikujemy pozytywnie, to dotrzemy do Y% frakcji targetu - zatem X_{cr} jest rozmiarem frakcji przewidywania pozytywnego. Rozważmy poniższy rozkład oceny modelem.

True-Positive, False-Positive, True-Negative, False-Negative vs ocena modelem

Przewidywanie pozytywne składa się z frakcji TP+FP, ale

Klasyf.P=TP+FP=...

...=TPR\times Faktyczne.P+FPR\times Faktyczne.N

P(klasyf=P)=...

...=TPR\times apriori+FPR\times (1-apriori)=...

...=P(1|1)P(1)+P(1|0)P(0)

Finalnie

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

Y_{cr}=Y_{roc}

Co z tego wynika?

  • Rozumiejąc relację pomiędzy krzywą ROC a krzywą Captured Response analiza modelu jest znacznie prostsza, szczególnie jeśli korzystamy z narzędzia, które prezentuje tylko jeden wariant krzywej (często ROC). Przy małych apriori oś "X" krzywej ROC można praktycznie uznać za oś "X" krzywej Captured Response. Przy większych apriori należy intuicyjnie przesuwać "X" w prawo aby z ROC uzyskać Captured Response.
  • Gini policzone na ROC oraz na CR (pamiętając o przestrzeni pomiędzy modelem losowym i modelem idealnym) bedą sobie równe.

Przykład działania wzoru

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Captured Response

Pozdrowienia,

Mariusz Gromada

Views All Time
Views All Time
398
Views Today
Views Today
1

Dodaj komentarz

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