Kiedy współczynniki szacowane za pomocą regresji logistycznej i logit-liniowej różnią się?

11

Podczas modelowania ciągłych proporcji (np. Proporcjonalna pokrywa roślinności w kwadratowych badaniach lub odsetek czasu poświęconego na działanie) regresja logistyczna jest uważana za nieodpowiednią (np. Warton i Hui (2011). Arcsine jest asinine: analiza proporcji w ekologii ). Raczej regresja OLS po przekształceniu logitów proporcji, a może regresja beta, są bardziej odpowiednie.

W jakich warunkach szacunki współczynników regresji logit-liniowej i regresji logistycznej różnią się przy zastosowaniu R lmi glm?

Weźmy następujący symulowany zestaw danych, w którym możemy założyć, że psą to nasze surowe dane (tj. Ciągłe proporcje, zamiast reprezentować ):nsuccessesntrials

set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)

plot(p ~ x, ylim=c(0, 1))

wprowadź opis zdjęcia tutaj

Dopasowując model logit-liniowy, otrzymujemy:

summary(lm(logit.p ~ x))
## 
## Call:
## lm(formula = logit.p ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.64702 -0.13747 -0.00345  0.15077  0.73148 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.868148   0.006579   131.9   <2e-16 ***
## x           0.967129   0.006360   152.1   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared:  0.9586, Adjusted R-squared:  0.9586 
## F-statistic: 2.312e+04 on 1 and 998 DF,  p-value: < 2.2e-16

Regresja logistyczna daje:

summary(glm(p ~ x, family=binomial))
## 
## Call:
## glm(formula = p ~ x, family = binomial)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.32099  -0.05475   0.00066   0.05948   0.36307  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  0.86242    0.07684   11.22   <2e-16 ***
## x            0.96128    0.08395   11.45   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 176.1082  on 999  degrees of freedom
## Residual deviance:   7.9899  on 998  degrees of freedom
## AIC: 701.71
## 
## Number of Fisher Scoring iterations: 5
## 
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!

Czy oszacowania współczynnika regresji logistycznej zawsze będą obiektywne w stosunku do oszacowań modelu logit-liniowego?

jbaums
źródło
1
Zwróć uwagę na teoretyczne rozróżnienie: z modelem dwumianowym zastosowanym do proporcji zakładasz, że próby za każdą proporcją są niezależne, to znaczy za proporcją 0.1„było”, powiedzmy, 10 niezależnych prób dających jeden sukces. Dla modelu liniowego 0.1jest po prostu wartością, jakąś arbitralną miarą.
ttnphns,
1
Nieco wątpię w to, jak dalece sensowne jest zastosowanie modelu dwumianowego do proporcji w sposób wykonany przez PO. W końcu family=binomialimplikuje, że zmienna zależna reprezentuje liczby dwumianowe - a nie proporcje. A skąd miałby glmwiedzieć, że 0.1to jest jak „jeden na dziesięć”, a nie „dziesięć na sto”? Chociaż sama proporcja nie różni się, ma to poważne implikacje dla sposobu obliczania błędu standardowego.
Wolfgang,
1
@Wolfgang - Zdaję sobie sprawę (i wspominam w moim poście), że modelowanie ciągłych proporcji tego rodzaju za pomocą regresji logistycznej jest niewłaściwe. Byłem bardziej zainteresowany tym, czy / kiedy / jak punkty szacunkowe współczynników różnią się.
jbaums,
2
@Wolfgang, masz rację, ale zależy to od implementacji. Niektóre programy pozwalają na wprowadzanie proporcji jako DV i 1s zamiast zasad, podczas gdy zestaw danych jest ważony przez rzeczywiste zasady. Wygląda to tak, jakbyś analizował proporcje, a nie liczy.
ttnphns,
1
@ttnphns Podobnie, w R można wprowadzić proporcje jako DV i dostarczyć weightsargument zawierający liczbę prób do arg (chociaż nie tego próbowałem w swoim poście, w którym celowo analizowałem dane niepoprawnie).
jbaums,

Odpowiedzi:

5

Być może można na to odpowiedzieć w sposób „odwrotny” - tzn. Kiedy są one takie same?

Teraz algorytm IRLS zastosowany w regresji logistycznej zapewnia tutaj pewien wgląd. W zbieżności można wyrazić współczynniki modelu jako:

β^logistic=(XTWX)1XTWz

gdzie jest diagonalną macierzą wagi z i-tym terminem a jest pseudo-odpowiedzią, która ma i-ty element . Zauważ, że co sprawia, że ​​regresja logistyczna wydaje się bardzo podobna do ważonych najmniejszych kwadratów w „typie logit” wielkości. Zauważ, że wszystkie relacje są ukryte w regresji logistycznej (np. zależy od która zależy od ).WWii=nipi(1pi)zzi=xiTβ^logistic+yinipinipi(1pi)var(zixiTβ^)=Wii1zβz

Sugerowałbym więc, że różnica polega głównie na zastosowaniu ważonej metody najmniejszych kwadratów (logistyka) w porównaniu do nieważonych metod najmniejszych kwadratów (ols na logitach). Jeśli ważone są logi przez (gdzie jest liczbą „zdarzeń”, a liczbą „prób” w połączeniu, otrzymasz więcej podobnych wyników.log(y)log(ny)y(1y/n)ynlm ()

prawdopodobieństwo prawdopodobieństwa
źródło
Imponujący. Czy możesz podać ostatnie zdanie według kodu R przy użyciu podanych danych symulowanych? Dzięki!
JellicleCat
2

Nie wahaj się zwrócić na to uwagi, jeśli się mylę.

Po pierwsze, tak mówię, w drugim dopasowaniu dzwonisz glmw niewłaściwy sposób! Aby dopasować do regresji logistycznej glm, odpowiedź powinna być zmienną kategorialną (binarną), ale używasz pzmiennej liczbowej! Muszę powiedzieć, że warningjest po prostu zbyt delikatny, aby użytkownicy znali swoje błędy ...

I, jak można się spodziewać, otrzymujesz podobne oszacowania współczynników dla dwóch pasowań tylko według COINCIDENCE. Jeśli zastąpi logit.p <- a + b*x + rnorm(1000, 0, 0.2)się logit.p <- a + b*x + rnorm(1000, 0, 0.7), czyli zmianę wariancji składnika losowego od 0.2do 0.7, a następnie wyniki tych dwóch napadów będzie znacznie różni się, chociaż drugi Fit ( glm) nie ma sensu w ogóle ...

Do klasyfikacji (binarnej) stosowana jest regresja logistyczna, więc powinieneś mieć kategoryczną odpowiedź, jak podano powyżej. Na przykład obserwacje odpowiedzi powinny być serią „sukcesu” lub „porażki”, a nie serią „prawdopodobieństwa (częstotliwości)” jak w twoich danych. Dla danego jakościowego zestawu danych można obliczyć tylko jedną ogólną częstotliwość dla „odpowiedź = sukces” lub „odpowiedź = niepowodzenie”, a nie szereg. W generowanych danych nie ma żadnej zmiennej kategorialnej, więc nie można zastosować regresji logistycznej. Teraz możesz zobaczyć, chociaż mają podobny wygląd, regresja logit-liniowa (jak to nazywasz) jest zwykłym problemem REGRESJI liniowej (tj. Odpowiedź jest zmienną numeryczną) przy użyciu transformowanej odpowiedzi (podobnie jak transformacja sqr lub sqrt),

Zazwyczaj regresja liniowa jest dopasowywana za pomocą zwykłych najmniejszych kwadratów (OLS), co minimalizuje straty kwadratowe dla problemu regresji; regresja logistyczna jest dopasowywana za pomocą oszacowania maksymalnej wiarygodności (MLE), co minimalizuje utratę logów w przypadku problemu z klasyfikacją. Oto odniesienie do funkcji strat Loss Function, Deva Ramanan. W pierwszym przykładzie traktujesz pjako odpowiedź i dopasowujesz zwykły model regresji liniowej przez OLS; w drugim przykładzie powiesz R, że dopasowujesz model regresji logistycznej według family=binomial, więc Rdopasuj model według MLE. Jak widać, w pierwszym modelu otrzymujesz test t i test F, które są klasycznymi wyjściami OLS dopasowanymi do regresji liniowej. W drugim modelu test istotności współczynnika opiera się na zzamiastt, który jest klasycznym wyjściem dopasowania regresji logistycznej MLE.

JellicleCat
źródło
Ładne pytanie (+1) i ładna odpowiedź (+1). Nauczyłem się czegoś nowego.
Aleksandr Blekh
1
Zgodziłbym się. logistic regression is a CLASSIFICATION problemMoże to jednak zostać źle zinterpretowane w tym sensie, że warto tylko tak długo, jak można je dobrze sklasyfikować. Co byłoby błędem myśleć, ponieważ model „optymalny” teoretycznie i na podstawie tego, w jaki sposób modeluje prawdopodobieństwo, może czasem klasyfikować gorzej niż niezbyt dobry model.
ttnphns,
@ttnphns Dzięki za komentarz! Myślę, że konwencja nazywa to problemem klasyfikacji, jeśli odpowiedź jest kategoryczna. To, czy model działa dobrze, czy nie, jest ważne, ale może nie wpływa na nazewnictwo.
JellicleCat
Dzięki @JellicleCat - Zdaję sobie sprawę z tego, że dane dotyczące proporcji tego typu nie są dostosowane do regresji logistycznej, ale byłem ciekawy okoliczności, w których szacunki współczynników różniłyby się od oszacowań współczynnika OLS z proporcjami transformowanymi logitem. Dziękuję za twój przykład - jasne jest, że przy zwiększonej wariancji szacunki współczynników różnią się.
jbaums,