Analiza resztkowa regresji logistycznej

12

To pytanie jest dość ogólne i wyczerpujące, ale proszę o wyrozumiałość.

W mojej aplikacji mam wiele zestawów danych, z których każdy składa się z ~ 20 000 punktów danych z ~ 50 funkcjami i jedną zależną zmienną binarną. Usiłuję modelować zestawy danych przy użyciu regularnej regresji logistycznej (pakiet R glmnet )

W ramach mojej analizy stworzyłem wykresy szczątkowe w następujący sposób. Dla każdej funkcji sortuję punkty danych zgodnie z wartością tej funkcji, dzielę punkty danych na 100 segmentów, a następnie obliczam średnią wartość wyjściową i średnią wartość prognozy w każdym segmencie. Spisuję te różnice.

Oto przykładowy wykres resztkowy:

Na powyższym wykresie cecha ma zakres [0,1] (z dużym stężeniem przy 1). Jak widać, gdy wartość funkcji jest niska, model wydaje się tendencyjny do przeszacowania prawdopodobieństwa wystąpienia 1 wyjścia. Na przykład w najbardziej wysuniętym w lewo segmencie model przecenia prawdopodobieństwo o około 9%.

Uzbrojony w te informacje, chciałbym zmienić definicję funkcji w prosty sposób, aby z grubsza poprawić ten błąd. Zmiany takie jak wymiana

xx

lub

xfa(x)={a if x<a x else

W jaki sposób mogę to zrobić? Szukam ogólnej metodologii, aby człowiek mógł szybko przewijać wszystkie ~ 50 wykresów i wprowadzać zmiany, a także robić to dla wszystkich zestawów danych i często powtarzać, aby aktualizować modele wraz z upływem czasu.

Jako ogólne pytanie, czy jest to nawet właściwe podejście? Wyszukiwania Google dla „analizy resztkowej regresji logistycznej” nie zwracają wielu wyników z dobrymi praktycznymi poradami. Wydaje się, że są naprawieni po odpowiedzi na pytanie: „Czy ten model jest dobrze dopasowany?” i zaoferuj różne testy, takie jak Hosmer-Lemeshow, aby odpowiedzieć. Ale nie dbam o to, czy mój model jest dobry, chcę wiedzieć, jak go ulepszyć!

dshin
źródło

Odpowiedzi:

4

W regresji logistycznej nie można tak naprawdę ocenić uprzedzeń. Oczekuje się, że regresja logistyki będzie obiektywna jedynie w odniesieniu do szans na log lub wyników logit, log (p / (1-p)). Proporcje zostaną wypaczone i dlatego będą wyglądały na stronnicze. Musisz wykreślić wartości resztkowe w kategoriach dziennych szans.

Jan
źródło
Jak połączyć nieparzyste logarytmiczne resztki w wiadrze? Średnia arytmetyczna? To jest dla mnie trochę niepokojące. Intuicyjnie, jeśli analiza resztkowa nie wykazuje odchylenia, to spodziewam się, że gdy model przewiduje Pr [y = 1] <0,2, to y powinno być równe 1 z prawdopodobieństwem mniejszym niż 0,2. Ale twoja odpowiedź wydaje się sugerować, że tak nie jest. Czy rozumiem poprawnie?
dshin
jest to prawdopodobnie lepiej opublikowane jako komentarz.
probabilityislogic
Nie, David, nie sugeruje nic innego niż prawdopodobieństwo 0.2, może moje zmiany wyjaśniają.
John
Przepraszam, wciąż jestem trochę zdezorientowany. Moje intuicyjne rozumienie bezstronnego modelu jest takie, że jeśli model przewiduje p = 0,2 na każdym z wielu punktów danych, to 20% tych punktów danych powinno mieć y = 1. Czy to zrozumienie jest prawidłowe? Jeśli tak, to wydaje się, że moja metodologia kreślenia powinna poprawnie wyświetlać stronniczość. Jeśli nie ... to nie jestem bardzo zadowolony z tej koncepcji „stronniczości”! Jeśli bezstronny odczyt modelu 0,2 nie mówi mi nic o prawdopodobieństwie, że y = 1, to co dobrego jest bezstronnością?
dshin
Tak, 20% powinno mieć y = 1. Ale to nie będzie martwe, będzie trochę wyłączone. Jak myślisz, w jakim kierunku będzie to kierunek i o ile? Jeśli jest bezstronny, spadnie jednakowo gdzieś w .2: 1 lub 0: .2. Jednak, jak widać po wielkości tych przestrzeni, będą one znajdować się dalej na większym obszarze tylko dlatego, że mogą. W przestrzeni logów odległość powinna być równa + lub -.
John
2

jest mało prawdopodobne, aby istniało w tym celu ogólne oprogramowanie. najprawdopodobniej dlatego, że nie ma ogólnej teorii rozwiązywania problemów w regresji. stąd jest to raczej odpowiedź typu „co bym zrobił” niż teoretycznie uzasadniona procedura.

tworzony wykres jest w zasadzie wizualnym testem HL ze 100 przedziałami, ale z użyciem jednego predyktora zamiast przewidywanego prawdopodobieństwa zrobienia binowania. oznacza to, że twoja procedura może odziedziczyć niektóre właściwości testu HL.

Twoja procedura wydaje się rozsądna, chociaż powinieneś być świadomy „przeszacowania” swoich kryteriów. twoje kryteria są również mniej przydatne jako diagnostyka, ponieważ stały się częścią procesu szacowania. Ponadto, ilekroć robisz coś intuicyjnie, powinieneś zapisać swój proces decyzyjny tak szczegółowo, jak to praktyczne. dzieje się tak, ponieważ możesz odkryć zalążki ogólnego procesu lub teorii, które po opracowaniu prowadzą do lepszej procedury (bardziej automatycznej i optymalnej w odniesieniu do niektórych teorii).

myślę, że jednym ze sposobów jest zmniejszenie liczby działek, które należy zbadać. jednym ze sposobów jest dopasowanie każdej zmiennej jako splajnu sześciennego, a następnie zbadanie wykresów, które mają niezerowe nieliniowe oszacowania. biorąc pod uwagę liczbę punktów danych, jest to również łatwe automatyczne rozwiązanie dla nieliniowości. zwiększy to twój model z 50 do 200 + 50k, gdzie k jest liczbą węzłów. można by pomyśleć o tym jako o zastosowaniu „statystycznego rozszerzenia szeregu Taylora” „prawdziwej” transformacji.

jeśli po tym diagnostyka nadal wygląda źle, spróbuję dodać warunki interakcji.

części twojego pytania wydają się bardziej na temat pisania interaktywnego programu, który jest bardziej domeną przepływu stosu niż tutaj. przydatne może być również poszukiwanie narzędzi analizy danych eksploracyjnych, ponieważ są one bardziej prawdopodobne, że mają funkcje, które można wyłączyć.

prawdopodobieństwo prawdopodobieństwa
źródło
Dziękuję za tę odpowiedź. Zajmę się pomysłem splajnu sześciennego. Zastosowałem to podejście „spójrz na wykresy i dostosuj funkcje” w regresji liniowej, gdzie wydawało się bardziej oczywiste, jak osiągnąć lepsze dopasowanie. Na przykład, jeśli widzisz kij hokejowy, oczywiste jest, że zastosowanie korekcji f_a (x) prowadzi do lepszego dopasowania. Często wiedza z dziedziny problemowej zbiega się z tą decyzją: jeśli na przykład przewidujesz szczęście z dochodu, sensowne byłoby ograniczenie dochodu, chyba że uważasz, że miliarderzy są 1000 razy szczęśliwsi od milionerów.
dshin
Ale kiedy przełączyłem się na ustawienie regresji logistycznej, zdałem sobie sprawę, że tak naprawdę nie byłem pewien, jak przenieść moją metodologię. Stąd to przesłanie.
dshin