Preambuła
To jest długi post. Jeśli ponownie to czytasz, pamiętaj, że poprawiłem część pytania, chociaż materiał tła pozostaje taki sam. Dodatkowo uważam, że opracowałem rozwiązanie problemu. To rozwiązanie pojawia się na dole wpisu. Dzięki CliffAB za wskazanie, że moje oryginalne rozwiązanie (edytowane z tego postu; zobacz historię edycji tego rozwiązania) koniecznie wygenerowało stronnicze oszacowania.
Problem
W problemach z klasyfikacją uczenia maszynowego jednym ze sposobów oceny wydajności modelu jest porównanie krzywych ROC lub obszaru pod krzywą ROC (AUC). Jednak obserwuję, że nie ma cennej dyskusji na temat zmienności krzywych ROC lub oszacowań AUC; to znaczy, że są to statystyki szacowane na podstawie danych, a więc związane są z nimi pewne błędy. Scharakteryzowanie błędu w tych szacunkach pomoże scharakteryzować, na przykład, czy jeden klasyfikator jest rzeczywiście lepszy od drugiego.
Opracowałem następujące podejście, które nazywam analizą Bayesowską krzywych ROC, aby rozwiązać ten problem. Myślę o tym problemie w dwóch kluczowych spostrzeżeniach:
Krzywe ROC składają się z oszacowanych wielkości z danych i podlegają analizie bayesowskiej.
Krzywa ROC składa się z wykreślenia rzeczywistej dodatniej stopy względem fałszywie dodatniej stopy , z których każda jest oszacowana na podstawie danych. Uważam i funkcje , próg decyzja używane do sortowania klasy A z B (głosów drzewa w lesie losowej, odległość od hiperpłaszczyzny w SVM, przewidywanych prawdopodobieństw w regresji logistycznej, itd.). Zmiana wartości progu decyzyjnego zwróci różne oszacowania i . Ponadto możemy rozważyćF P R ( θ ) T P R F P R θ θ T P R F P R T P R ( θ )być oszacowaniem prawdopodobieństwa sukcesu w sekwencji prób Bernoulliego. W rzeczywistości, TPR jest zdefiniowana jako która jest również MLE z dwumianowego prawdopodobieństwem sukcesu w eksperymencie z sukcesów i całkowitej prób.TPTP+FN>0
Tak więc, biorąc pod uwagę, że dane wyjściowe i są zmiennymi losowymi, stajemy przed problemem oszacowania prawdopodobieństwa sukcesu eksperymentu dwumianowego, w którym liczba sukcesów i niepowodzeń jest dokładnie znana (biorąc pod uwagę przez , , i , które, jak zakładam, są naprawione). Konwencjonalnie po prostu używa się MLE i zakłada się, że TPR i FPR są ustalone dla określonych wartościF P R ( θ ) T P F P F N T N θ θ. Ale w mojej bayesowskiej analizie krzywych ROC rysuję tylne symulacje krzywych ROC, które uzyskuje się poprzez narysowanie próbek z rozkładu tylnego na krzywych ROC. Standardowym modelem Bayesana dla tego problemu jest prawdopodobieństwo dwumianowe z beta przed prawdopodobieństwem sukcesu; rozkład późniejszy prawdopodobieństwa sukcesu jest również beta, więc dla każdego mamy rozkład tylny wartości TPR i FPR. To prowadzi nas do mojej drugiej obserwacji.
- Krzywe ROC nie maleją. Zatem po pobraniu próbki wartości i istnieje zerowe prawdopodobieństwo próbkowania punktu w przestrzeni ROC „na południowy wschód” próbkowanego punktu. Jednak próbkowanie z ograniczeniem kształtu jest trudnym problemem.F P R ( θ )
Podejście bayesowskie można wykorzystać do symulacji dużej liczby AUC na podstawie jednego zestawu danych szacunkowych. Na przykład 20 symulacji wygląda tak w porównaniu do oryginalnych danych.
Ta metoda ma wiele zalet. Na przykład prawdopodobieństwo, że AUC jednego modelu jest większe od drugiego, można bezpośrednio oszacować, porównując AUC ich tylnych symulacji. Oszacowania wariancji można uzyskać za pomocą symulacji, która jest tańsza niż metody ponownego próbkowania, a szacunki te nie wiążą się z problemem skorelowanych próbek, które wynikają z metod ponownego próbkowania.
Rozwiązanie
Opracowałem rozwiązanie tego problemu, czyniąc trzecią i czwartą uwagę na temat natury problemu, oprócz dwóch powyższych.
F P R ( θ ) i mają krańcowe gęstości, które można poddać symulacji.
Jeśli (vice ) jest rozkładem losowym o rozkładzie beta z parametrami i (vice i ), możemy również rozważyć, jaka gęstość TPR jest uśredniana dla kilku różnych wartości które odpowiadają naszej analizie. Oznacza to, że możemy rozważyć hierarchiczny proces, w którym próbkuje się wartość z kolekcji wartości uzyskanych przez nasze prognozy modelu poza próbą, a następnie próbkuje wartość . Rozkład na wynikowe próbkiwartości to gęstość prawdziwej wartości dodatniej, która jest bezwarunkowa dla samej . Ponieważ zakładamy model beta dla , wynikowy rozkład jest mieszaniną rozkładów beta, z liczbą składników równą wielkości naszej kolekcji i współczynnikami mieszanki .
W tym przykładzie uzyskałem następujący CDF na TPR. W szczególności ze względu na degenerację rozkładów beta, w których jeden z parametrów wynosi zero, niektóre składniki mieszaniny mają funkcję delta Diraca przy 0 lub 1. To powoduje nagłe skoki przy 0 i 1. Te „skoki” oznaczają, że gęstości te nie są ani ciągłe, ani dyskretne. Wybór wcześniejszego, który jest dodatni w obu parametrach, spowodowałby „wygładzenie” tych nagłych skoków (nie pokazano), ale wynikowe krzywe ROC zostaną przesunięte w kierunku wcześniejszego. To samo można zrobić dla FPR (nie pokazano). Pobieranie próbek z gęstości krańcowych jest prostym zastosowaniem odwrotnego próbkowania.
Aby rozwiązać wymaganie dotyczące ograniczenia kształtu, musimy po prostu posortować TPR i FPR niezależnie.
Wymóg nie zmniejszania jest taki sam, jak wymóg, aby próbki marginalne z TPR i FPR były sortowane niezależnie - to znaczy kształt krzywej ROC jest całkowicie określony przez wymóg, aby najmniejszą wartość TPR sparować z najmniejszą FPR wartość i tak dalej, co oznacza, że konstrukcja losowej próbki o ograniczonym kształcie jest tutaj trywialna. W przypadku wcześniejszego niepoprawnego symulacje dostarczają dowodów, że skonstruowanie krzywej ROC w ten sposób daje próbki o średniej AUC, która jest zbieżna z pierwotną AUC na granicy dużej liczby próbek. Poniżej znajduje się KDE 2000 symulacji.
Porównanie do Bootstrap
W długiej dyskusji na czacie z @AdamO (dzięki, AdamO!) Zauważył, że istnieje kilka ustalonych metod porównywania dwóch krzywych ROC lub charakteryzowania zmienności pojedynczej krzywej ROC, w tym bootstrap. Tak więc w ramach eksperymentu próbowałem bootstrapować mój przykład, który jako obserwacji w zestawie wstrzymań i porównując wyniki z metodą bayesowską. Wyniki są porównane poniżej (Implementacja bootstrap tutaj jest prostym bootstrap - losowe próbkowanie z zamiennikiem wielkości oryginalnej próbki. Czytanie kursorów na bootstrapach ujawnia znaczne luki w mojej wiedzy na temat metod ponownego próbkowania, więc być może nie jest to odpowiednie podejście).
Ta demonstracja pokazuje, że średnia wartość bootstrap jest tendencyjna poniżej średniej z oryginalnej próbki i że KDE bootstrap daje dobrze zdefiniowane „garby”. Geneza tych garbów nie jest tajemnicza - krzywa ROC będzie wrażliwa na włączenie każdego punktu, a efekt małej próbki (tutaj, n = 20) jest taki, że podstawowa statystyka jest bardziej wrażliwa na włączenie każdego punktu punkt. (Z naciskiem ten wzór nie jest artefaktem przepustowości jądra - zwróć uwagę na wykres dywanika. Każdy pasek to kilka powtórzeń bootstrapu, które mają tę samą wartość. Bootstrap ma 2000 powtórzeń, ale liczba różnych wartości jest znacznie mniejsza. może stwierdzić, że garby są nieodłączną cechą procedury ładowania początkowego.) Natomiast średnie szacunki AUC Bayesa są bardzo zbliżone do pierwotnych szacunków,
Pytanie
Moje zmienione pytanie dotyczy tego, czy moje zmienione rozwiązanie jest nieprawidłowe. Dobra odpowiedź udowodni (lub obali), że uzyskane próbki krzywych ROC są stronnicze, lub podobnie udowodni lub obali inne cechy tego podejścia.