Rejestrowanie resztek regresji logistycznej na innych rejestratorach

9

Stosując regresję OLS do ciągłej odpowiedzi, można zbudować równanie regresji wielokrotnej, uruchamiając sekwencyjnie regresje reszt na każdej współzmiennej. Moje pytanie brzmi: czy istnieje sposób, aby to zrobić za pomocą regresji logistycznej za pomocą reszt regresji logistycznej ?

To znaczy, jeśli chcę oszacować przy użyciu standardowego uogólnionego modelu modelowania liniowego, czy istnieje sposób na uruchomienie regresji logistycznej względem x i uzyskanie pseudo-reszt R_1 , a następnie regresję R_1 na z, aby uzyskaj obiektywny estymator współczynników regresji logistycznej. Doceniamy odniesienia do podręczników lub literatury.Pr(Y=1|x,z)xR1R1z

Ben Ogorek
źródło
Domyślam się, że to nie zadziała z tego samego powodu, dla którego REML nie obejmuje GLM; magia najmniejszych kwadratów została utracona. Zastanawiam się, czy zadziałałoby w kontekście całkowicie bayesowskim, w którym próbkowałeś ukrytą zmienną jako część karty SIM. Powodem, dla którego chciałem to zrobić, było to, że mogłem uruchomić glmnet na różnych klasach zmiennych i uzyskać różne poziomy regularyzacji dla klas - oczywiście istnieją inne sposoby uzyskania tego efektu.
Ben Ogorek,
Czy jest to bardzo podobne do używania algorytmu dopasowywania wstecznego do regresji logistycznej?
usεr11852
Wspomniałem o tym w komentarzu poniżej, ale w wielu implementacjach można przekazać prognozę „podstawową” (parametr offset w glmnet), więc być może byłoby to możliwe po zresetowaniu zależnych zmiennych. @BenOgorek czy chcesz dodać cel w tekście głównym
seanv507
@ seanv507 Martwię się, że dodanie w części regularyzacji zbytnio zwiększyłoby zakres, szczególnie teraz, gdy poniżej znajduje się kilka dobrych odpowiedzi. Po zakończeniu tych pytań i odpowiedzi utworzę osobne pytanie, w którym offset może rzeczywiście być naszym przyjacielem.
Ben Ogorek
To nie jest odpowiedź, ale nie mam wystarczającej reputacji, aby komentować. Pytanie dotyczy raczej regresji reszty na drugim regresorze (tj. Predyktorów ) niż regresji reszty na reszty . Jestem zdezorientowany odpowiedziami.
T Wu

Odpowiedzi:

3

W standardowej wielokrotnej regresji liniowej zdolność dopasowania szacunków zwykłych najmniejszych kwadratów (OLS) w dwóch krokach pochodzi z twierdzenia Frisch – Waugh – Lovell . Twierdzenie to pokazuje, że oszacowanie współczynnika dla konkretnego predyktora w wielokrotnym modelu liniowym jest równe oszacowaniu uzyskanemu przez regresję reszt odpowiedzi (reszt z regresji zmiennej odpowiedzi względem innych zmiennych objaśniających) względem reszt predyktora (reszty z regresji zmiennej predykcyjnej względem innych zmiennych objaśniających). Najwyraźniej poszukujesz analogii do tego twierdzenia, którą można zastosować w modelu regresji logistycznej.

W przypadku tego pytania pomocne jest przypomnienie charakterystyki ukrytej zmiennej regresji logistycznej :

Yi=I(Yi>0)Yi=β0+βXxi+βZzi+εiεiIID Logistic(0,1).

W tej charakterystyce modelu zmienna utajona odpowiedź jest nieobserwowalna, a zamiast tego obserwujemy wskaźnik który mówi nam, czy utajona odpowiedź jest dodatnia. Ta forma modelu wygląda podobnie do wielokrotnej regresji liniowej, z tym wyjątkiem, że stosujemy nieco inny rozkład błędów (rozkład logistyczny zamiast rozkładu normalnego), a co ważniejsze, obserwujemy tylko wskaźnik pokazujący, czy ukryta odpowiedź jest dodatnia, czy nie .YiYi

Stwarza to problem przy każdej próbie utworzenia dwuetapowego dopasowania modelu. To twierdzenie Frisch-Waugh-Lovell opiera się na zdolności do uzyskiwania pośrednich reszt dla odpowiedzi i predyktora zainteresowania w porównaniu z innymi zmiennymi objaśniającymi. W niniejszym przypadku resztki możemy uzyskać jedynie ze „skategoryzowanej” zmiennej odpowiedzi. Utworzenie dwuetapowego procesu dopasowania dla regresji logistycznej wymagałoby użycia resztkowych odpowiedzi z tej skategoryzowanej zmiennej odpowiedzi, bez dostępu do ukrytej odpowiedzi leżącej u podstaw. Wydaje mi się to poważną przeszkodą i chociaż nie okazuje się to niemożliwe, wydaje się, że niemożliwe jest dopasowanie modelu w dwóch etapach.

Poniżej przedstawię opis tego, co byłoby wymagane, aby znaleźć dwuetapowy proces dopasowywania do regresji logistycznej. Nie jestem pewien, czy istnieje rozwiązanie tego problemu, czy też istnieje dowód niemożliwości, ale materiał tutaj powinien pomóc ci zrozumieć, co jest wymagane.


Jak wyglądałoby dopasowanie dwuetapowej regresji logistycznej? Załóżmy, że chcemy skonstruować dwuetapowe dopasowanie do modelu regresji logistycznej, w którym parametry są szacowane za pomocą oszacowania maksymalnego prawdopodobieństwa na każdym etapie. Chcemy, aby proces obejmował etap pośredni, który pasuje do następujących dwóch modeli:

Yi=I(Yi>0)Yi=α0+αXxi+τiτiIID Logistic(0,1),  Zi=γ0+γXxi+δiδiIID g.

Szacujemy współczynniki tych modeli (za pośrednictwem MLE), co daje wartości dopasowania pośredniego . Następnie w drugim kroku dopasowujemy model:α^0,α^X,γ^0,γ^X

Yi=logistic(α^0+α^1xi)+βZ(ziγ^0γ^Xxi)+ϵiϵiIID f.

Jak podano, procedura ma wiele stałych elementów, ale funkcje gęstości i w tych krokach pozostają nieokreślone (chociaż powinny to być rozkłady o zerowej średniej, które nie zależą od danych). Aby uzyskać dwuetapową metodę dopasowania przy tych ograniczeniach, musimy wybrać i aby upewnić się, że MLE dla w tym dwustopniowym algorytmie dopasowania modelu jest taki sam, jak MLE uzyskany z jednoetapowego modelu regresji logistycznej powyżej.gfgfβZ

Aby sprawdzić, czy jest to możliwe, najpierw piszemy wszystkie oszacowane parametry z pierwszego kroku:

y|x(α^0,α^X)=maxα0,αXi=1nlnBern(yi|logistic(α0+αXxi)),z|x(γ^0,γ^X)=maxγ0,γXi=1nlng(ziγ0γXxi).

Niech , aby funkcja logarytmu wiarygodności dla drugiego kroku była:ϵi=yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)

y|z|x(βZ)=i=1nlnf(yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)).

Wymagamy, aby maksymalizującą wartość tej funkcji był MLE modelu wielokrotnej regresji logistycznej. Innymi słowy wymagamy:

arg max βXy|z|x(βZ)=arg max βXmaxβ0,βZi=1nlnBern(yi|logistic(β0+βXxi+βZzi)).

Pozostawiam to innym do ustalenia, czy istnieje rozwiązanie tego problemu, czy dowód braku rozwiązania. Podejrzewam, że „kategoryzacja” zmiennej utajonej odpowiedzi w regresji logistycznej uniemożliwi znalezienie dwuetapowego procesu.

Ben - Przywróć Monikę
źródło
1
Cześć @ Ben, dzięki za nauczenie mnie o twierdzeniu Frischa-Waugha-Lovella. Zdmuchnąłem go na nagrodę - myśl, że „wygasła” oznacza, że ​​przestał być reklamowany. Przepraszam za to. Podoba mi się twój pomysł oparty na prawdopodobieństwie. Może wypróbować lub coś podobnego i opublikować poniżej.
Ben Ogorek,
@Ben Ogorek: Nie martw się o nagrodę. Cieszę się, że odpowiedź pomogła.
Ben - Przywróć Monikę
@Ben Ogorek: (Aby zrekompensować utratę 25 punktów nagrody, które znikają w eterze, po prostu obejrzyj stronę i głosuj na 3 dowolne odpowiedzi. Wtedy twoja karma zostanie przywrócona!)
Ben - Przywróć Monikę
1
Gotowy! (I najpierw je przeczytałem).
Ben Ogorek,
3

Być może źle interpretuję to pytanie. Wątpię, czy można zbudować równanie regresji liniowej przez regresję reszt w sposób określony przez OP . Metoda OP działałaby tylko wtedy, gdy predyktory są od siebie niezależne.

Aby to zadziałało, załóżmy, że jest wektorem wyniku, jest macierzą modelu dla predyktorów już w modelu i chcesz uwzględnić . Musisz uzyskać regresję reszty regresji na stosunku do reszty regresji na aby uzyskać współczynnik OLS dla .yXx1yXx1Xx1

Oto prosty przykład:

set.seed(12345)
n <- 5000
x1 <- rnorm(n)
x2 <- .5 * x1 + rnorm(n) # Correlated predictors
y <- x1 + x2 + rnorm(n)

Dopasuj model do OLS:

coef(lm(y ~ x1 + x2))
(Intercept)          x1          x2 
0.001653707 1.037426007 0.996259446 

Regresja pozostałości:

coef(lm(residuals(lm(y ~ x1)) ~ x2))
(Intercept)          x2 
0.001219232 0.818774874 

To źle, musisz dopasować:

coef(lm(residuals(lm(y ~ x1)) ~ residuals(lm(x2 ~ x1))))
           (Intercept) residuals(lm(x2 ~ x1)) 
         -6.707350e-17           9.962594e-01 

Który zwraca odpowiedni współczynnik dla x2, wyrównuje się on z oczekiwanymi różnicami y, biorąc pod uwagę różnice x2, utrzymując stałą x1 (biorąc ją zarówno z y, jak i x1).

Poza tym w regresji logistycznej byłoby to nawet bardziej problematyczne, ponieważ współczynniki regresji logistycznej cierpią z powodu pomijanych zmiennych stronniczości nawet przy braku pomieszanych relacji, patrz tutaj i tutaj , więc dopóki wszystkie predyktory wyniku nie będą w modelu, nie można uzyskać obiektywne szacunki prawdziwych parametrów populacji. Co więcej, nie znam żadnych reszt z modelu, które można by poddać drugiej regresji logistycznej ze wszystkimi wartościami zawartymi między 0 a 1.

Niektóre odniesienia do regresji pozostałości:

  • Maxwell, SE, Delaney, HD, i Manheimer, JM (1985). Anova of Residuals i Ancova: Korygowanie iluzji za pomocą porównań modeli i wykresów. Journal of Educational Statistics, 10 (3), 197–209. Źródło: http://journals.sagepub.com/doi/pdf/10.3102/10769986010003197
  • Freckleton, RP (2002), O niewłaściwym wykorzystaniu pozostałości w ekologii: regresja reszt vs. regresja wielokrotna. Journal of Animal Ecology, 71 , 542-545. doi: 10.1046 / j.1365-2656.2002.00618.x
Heteroskedastic Jim
źródło
Myślę, że twoje pierwsze akapity są nieco mylące / niejasne ... byłoby lepiej, gdybyś zaczął od tego, w jaki sposób faktycznie wykonujesz „regresję liniową z resztami” .. (+ 1) i możesz to znaleźć w elementach statystycznego uczenia się ( regresja wielokrotna z podsekcji pojedynczej regresji?)
seanv507
W wielu implementacjach można przekazać prognozę „bazową” (parametr przesunięcia w glmnet), więc być może byłoby to możliwe po
zresetowaniu
@ seanv507 Już uwzględniam to w mojej odpowiedzi. To ostatnia demonstracja kodu, którą mam. Po prostu nie jest to możliwe w opisany sposób OP, regresowanie reszt na predyktorze. Ale mógłbym to napisać od nowa, aby pokazać właściwą drogę od samego początku, jeśli o to ci chodzi.
Heteroskedastic Jim
Tak, miałem na myśli przepisanie go, aby pokazać właściwą drogę od samego początku,
seanv507
@ seanv507 nie wiesz, co masz na myśli, że możesz przekazać podstawową prognozę? I regresowanie zmiennych zależnych?
Heteroskedastic Jim
1

Mam nadzieję, że nie źle interpretuję twoje pytanie, ponieważ moja odpowiedź zmieni nieco sformułowania tego, jak sformułowałeś swój temat.

Myślę, że próbujesz zbudować model regresji, dodając jedną niezależną zmienną na raz. Robisz to, obserwując, która zmienna prospektywna ma najwyższą korelację z resztą pierwszej regresji między Y a X1. Zatem zmienną o najwyższej korelacji z tą pierwszą resztą będzie X2. Masz teraz model z dwiema niezależnymi zmiennymi X1 i X2. Kontynuujesz ten dokładny proces, aby wybrać X3, X4 itp. Jest to proces stopniowy.

Możesz zrobić dokładnie to samo z regresją logistyczną z tego prostego powodu, że regresja logistyczna jest prawie regresją OLS, gdzie zmienną zależną jest log nieparzystej (lub logit). Ale to, czy Y jest logitem, czy nie, nie wpływa na krokowy proces naprzód wspomniany powyżej.

OLS minimalizuje sumę błędów kwadratowych w celu dopasowania do rzeczywistych danych. Regresja logitów wykorzystuje proces maksymalnego prawdopodobieństwa, który generuje dopasowanie, które nie różni się tak bardzo od OLS. I to również (mechanizm dopasowania) nie powinno wpływać na proces stopniowego przewijania, który pozwala zbudować model regresji wielokrotnej, niezależnie od tego, czy jest to regresja OLS, czy regresja Logit.

Sympa
źródło