• Post author:


Czy modele o R^2 = 0{,}99 lub AUC = 0{,}99 mogą być złe? Oczywiście: jeśli poprzednie były lepsze. Ale zostawmy ten przypadek na boku i zobaczmy, jak koszmarnie mogą w praktyce działać modele o podanych wyżej parametrach.

R kwadrat

Współczynnik R^2 jest interpretowany jako procent wyjaśnianej wariancji przez model. Ale dla modeli nieliniowych zwykle definiuje się go jako kwadrat korelacji między rzeczywistymi wartościami Y a szacowanymi przez model. Czyli

    \[R^2 = cor(Y, \hat{Y})^2.\]

Weźmy zatem prognozy zwracane przez dobry model A i załóżmy, że jakieś licho dodaje do nich pewną liczbę, przez co wszystkie prognozy są przeszacowane. Niestety, współczynnik R^2 tego nie zauważy.

Na poniższym obrazku, na osi poziomej mamy rzeczywiste wartości modelowanej cechy, na osi pionowej szacowane. W każdej sytuacji R^2 jest równe 99%. Czerwona linia to idealny model.

R kwadrat i AUC, uczenie maszynowe

Jak widać, poleganie tylko na R^2 jest ryzykowne i możemy nie wykryć np. prostego dryfu modelu. W biznesie to MAE jest często lepszą miarą.

(Dla tych, co znają matematykę trochę lepiej, przedstawiony problem z R^2 wynika z faktu, że |cor(X, aX+b)| = 1).

AUC

Weźmy teraz AUC. Powiedzmy, że model ma odróżniać koty od żbików i zwraca prawdopodobieństwo bycia żbikiem. Załóżmy, że ma taką własność, że jeśli wybiorę losową parę: żbik i kot, na 99% żbik otrzyma wyższe prawdopodobieństwo. W takim razie AUC = 0{,}99.

Niech teraz to samo licho pomnoży te prawdopodobieństwa przez jakąś dodatnią liczbę i coś doda/odejmie. Porządek „prawdopodobieństw” się od tego nie zmieni, jedynie będą absurdalne (spoza przedziału [0, 1]). Problem w tym, że biznesowi zwykle zależy na odpowiednio skalibrowanych prawdopodobieństwach, a nie tylko na uporządkowaniu przypadków.

Jeden z moich modeli na kaggle.com wyglądał tak: P(Y=1) = X, gdzie X był jednym z predyktorów, z wartościami SPOZA przedziału [0, 1] (szczegóły tutaj). Czyli jako prognozy („prawdopodobieństwa”) przesłałem po prostu wartości tego predyktora, bez żadnej transformacji. Metryką w tym turnieju było jednak AUC i uzyskałem 0,857, co było jednym z lepszych wyników (P(Y=1) zależało praktycznie tylko od X, na dodatek monotonicznie).

Na koniec warto jednak dodać, że tak naprawdę wszystkie te modele na wykresach, jak również opisany przed chwilą, są w pewnym sensie dobre. Mają POTENCJAŁ — i wystarczy je tylko skalibrować. Istnieją odpowiednie techniki i można to zrobić na podstawie tych samych danych, na których zbudowaliśmy model.