Mam model regresji logistycznej (dopasowanie za pomocą glmnet w R z elastyczną regulacją sieci) i chciałbym zmaksymalizować różnicę między wartościami dodatnimi a fałszywymi. W tym celu przyszła mi do głowy następująca procedura:
- Dopasuj standardowy model regresji logistycznej
- Używając progu prognozy jako 0,5, zidentyfikuj wszystkie pozytywne prognozy
- Przypisz wagę 1 dla pozytywnie przewidywanych obserwacji, 0 dla wszystkich innych
- Dopasuj ważony model regresji logistycznej
Jakie byłyby wady tego podejścia? Jaki byłby właściwy sposób rozwiązania tego problemu?
Powodem, dla którego chcę zmaksymalizować różnicę między liczbą pozytywnych i fałszywych negatywów, jest projekt mojej aplikacji. W ramach projektu klasowego buduję autonomicznego uczestnika rynku internetowego - jeśli mój model przewiduje, że może coś kupić i sprzedać później po wyższej cenie, składa ofertę. Chciałbym trzymać się regresji logistycznej i wyjściowych wyników binarnych (wygrana, przegrana) w oparciu o koszty stałe i przyrosty ceny jednostkowej (zyskuję lub tracę tę samą kwotę przy każdej transakcji). Fałszywy pozytyw boli mnie, ponieważ oznacza, że coś kupuję i nie jestem w stanie sprzedać go za wyższą cenę. Jednak fałszywy negatyw nie szkodzi mi (tylko pod względem kosztów alternatywnych), ponieważ oznacza to po prostu, że nie kupiłbym, ale gdybym to zrobił, zrobiłbym pieniądze. Podobnie,
Zgadzam się, że granica 0,5 jest całkowicie dowolna, a kiedy zoptymalizowałem model od kroku 1 na progu predykcji, co daje największą różnicę między pozytywnymi / fałszywymi pozytywami, okazuje się, że jest bliższy 0,4. Myślę, że wynika to z wypaczonej natury moich danych - stosunek negatywów do pozytywów wynosi około 1: 3.
W tej chwili wykonuję następujące kroki:
- Podziel dane na szkolenie / test
- Dopasuj model do treningu, dokonaj prognoz w zestawie testów i oblicz różnicę między pozytywnymi / fałszywymi wynikami dodatnimi
- Dopasuj model w całości, wykonaj prognozy w zestawie testowym i oblicz różnicę między pozytywnymi / fałszywymi wynikami dodatnimi
Różnica między pozytywnymi / fałszywymi pozytywami jest mniejsza w kroku 3 niż w kroku 2, pomimo że zestaw treningowy jest podzbiorem pełnego zestawu. Ponieważ nie dbam o to, czy model z nr 3 ma więcej prawdziwych negatywów i mniej fałszywych negatywów, czy jest coś, co mogę zrobić bez zmiany samej funkcji prawdopodobieństwa?
źródło
Odpowiedzi:
Wydaje się, że wcale nie chcesz regresji logistycznej. Mówisz: „Chciałbym zmaksymalizować różnicę między wynikami pozytywnymi a fałszywymi”. To dobra funkcja celu, ale nie jest to regresja logistyczna. Zobaczmy co to jest.
Po pierwsze, jakiś zapis. Będzie zmienna zależnaYja :
Będą to zmienne niezależne (rzeczy, których używasz do przewidywania, czy powinieneś kupić)Xja (wektor). Będzie to parametr, który próbujesz oszacowaćβ (wektor). Przewidzisz, kiedy kupiszXjaβ> 0 . Do obserwacjija , przewidujesz, kiedy kupisz Xjaβ> 0 lub gdy funkcja wskaźnika 1Xjaβ> 0= 1 .
Prawdziwy pozytyw pojawia się podczas obserwacjija gdy oboje Yja= 1 i 1Xjaβ> 0= 1 . Fałszywie pozytywny na podstawie obserwacjija dzieje się kiedy Yja= 0 i 1Xjaβ> 0= 1 . Chcesz znaleźćβ co maksymalizuje wyniki prawdziwie dodatnie minus wyniki fałszywie dodatnie, lub:
To nie jest szczególnie znana funkcja celu do oszacowania dyskretnego modelu reakcji, ale trzymaj się mnie, póki wykonuję małą algebrę na temat funkcji celu:
OK, zauważ teraz, że dwa ostatnie terminy w tej sumie nie są funkcjamiβ , abyśmy mogli je zignorować podczas maksymalizacji. Wreszcie, właśnie pokazaliśmy, że problem, który chcesz rozwiązać, „maksymalizacja różnicy między wartościami dodatnimi a fałszywymi” jest taki sam jak ten problem:
Teraz ten estymator ma nazwę! Nazywa się to estymatorem maksymalnego wyniku. Jest to bardzo intuicyjny sposób oszacowania parametru modelu reakcji dyskretnej. Parametr jest wybrany tak, aby zmaksymalizować liczbę poprawnych prognoz. Pierwszy termin to liczba prawdziwych pozytywów, a drugi to liczba prawdziwych negatywów.
Jest to całkiem dobry sposób na oszacowanie (binarnego) dyskretnego modelu odpowiedzi. Na przykład estymator jest spójny. (Manski, 1985, J of Econometrics) Jednak w tym estymatorze występują pewne osobliwości. Po pierwsze, nie jest to wyjątkowe w małych próbkach. Kiedy już znajdzieszβ co rozwiązuje maksymalizację, a następnie każdą inną β co sprawia, że dokładnie te same prognozy w zbiorze danych rozwiążą maksymalizację - więc nieskończenie wiele β jest blisko tego, który znalazłeś. Ponadto estymator nie jest asymptotycznie normalny i zbiega się wolniej niż typowe estymatory maksymalnego prawdopodobieństwa --- pierwiastek kostnyN. zamiast rootowania N. konwergencja. (Kim and Pollard, 1990, Ann of Stat) Wreszcie, nie można użyć ładowania początkowego do wnioskowania na jego temat. (Abrevaya i Huang, 2005, Econometrica) Istnieje jednak kilka artykułów wykorzystujących ten estymator --- zabawne jest przewidywanie wyników w turnieju koszykówki NCAA przez Caudill, International Journal of Forecasting, kwiecień 2003, w. 19, iss. 2, ss. 313–17.
Estymatorem, który przezwycięża większość tych problemów, jest wygładzony estymator maksymalnego wyniku Horowitza (Horowitz, 1992, Econometrica i Horowitz, 2002, J of Econometrics). Daje root-N. spójny, asymptotycznie normalny, unikalny estymator, który może zostać załadowany. Horowitz podaje przykładowy kod do implementacji swojego estymatora na swojej stronie internetowej.
źródło
Jest kilka wad tego podejścia, w tym:
źródło
Najlepszym podejściem do osiągnięcia tego, co próbujesz opisać, jest prawdopodobnie bezpośrednia optymalizacja parametrów regresji logistycznej za pomocą funkcji utraty AUC. Podręcznik „Metody statystyczne w medycynie diagnostycznej” autorstwa Zhou opisuje tę metodę.
AUC (pole pod krzywą charakterystyczną działania odbiornika - lub ROC) jest z grubsza interpretowane jako prawdopodobieństwo, że losowo dobrany „przypadek” ma wyższą wartość markera niż „kontrola”. Jest to miara dyskryminacji modelowej lub jej zdolności do prawidłowej klasyfikacji wyniku. ROC jest krzywą w płaszczyźnie jednostkowej, która pokazuje czułość względem 1 - specyficzności dla wszystkich możliwych wartości markerów (dopasowanych wyników) w modelu regresji.
Stosując tradycyjne sformułowanie modelu regresji logistycznej,
z logarytmicznymi ilorazami szans dla parametrów modelu, można z grubsza zdefiniować funkcję strat opartą na AUC, aby uzyskać optymalne parametry. W przeciwieństwie do regresji logistycznej opartej na prawdopodobieństwie, regresja AUC nie jest regularna i może zbiegać się z lokalnymi maksimami w przestrzeni parametrów.
źródło