Quando differiscono i coefficienti stimati dalla regressione logistica e logit-lineare?


11

Quando si modellano proporzioni continue (ad es. Copertura vegetale proporzionale in quadrat di rilievo o percentuale di tempo impegnata in un'attività), la regressione logistica è considerata inappropriata (ad es. Warton & Hui (2011) L'arcosina è asinina: l'analisi delle proporzioni in ecologia ). Piuttosto, la regressione OLS dopo aver trasformato le proporzioni in logit, o forse la regressione beta, sono più appropriate.

In quali condizioni le stime dei coefficienti di regressione logit-lineare e regressione logistica differiscono quando si utilizzano R lme glm?

Prendi il seguente set di dati simulato, in cui possiamo supporre che psiano i nostri dati non elaborati (ovvero proporzioni continue, anziché rappresentare ):nSucceSSeSntrioun'lS

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))

inserisci qui la descrizione dell'immagine

Adattando un modello logit-lineare, otteniamo:

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

Rendimento della regressione logistica:

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!

Le stime del coefficiente di regressione logistica saranno sempre imparziali rispetto alle stime del modello logit-lineare?


1
Nota una distinzione teorica: con un modello binomiale applicato alle proporzioni supponi che le prove dietro ogni proporzione siano indipendenti, cioè dietro la proporzione 0.1ci fossero "erano", diciamo, 10 prove indipendenti che producono un successo. Per il modello lineare, 0.1è semplicemente un valore, una misura arbitraria.
ttnphns

1
Sono in qualche modo dubbioso su quanto abbia persino senso applicare un modello binomiale alle proporzioni nel modo in cui è stato fatto il PO. Dopotutto, family=binomialimplica che la variabile dipendente rappresenta i conteggi binomiali, non le proporzioni. E come farebbe a glmsapere che 0.1è come "uno su dieci" e non "dieci su cento"? Sebbene la proporzione stessa non differisca, ciò ha importanti implicazioni sul modo in cui viene calcolato l'errore standard.
Wolfgang,

1
@ Wolfgang - Mi rendo conto (e menziono nel mio post) che è inappropriato modellare proporzioni continue di questo tipo con regressione logistica. Mi interessava di più se / quando / come differiscono le stime puntuali dei coefficienti.
jbaums

2
@ Wolfgang, hai ragione, ma dipende dall'implementazione. Alcuni programmi consentiranno di inserire proporzioni come DV e 1 al posto delle basi, mentre il set di dati è ponderato dalle basi reali. Quindi sembra che tu analizzi le proporzioni, non i conteggi.
ttnphns

1
@ttnphns Allo stesso modo, in R si possono inserire proporzioni come DV e fornire un argomento contenente un numero di prove weightsall'arg (anche se questo non è ciò che stavo tentando nel mio post, dove ho intenzionalmente analizzato i dati in modo errato).
jbaums

Risposte:


5

Forse si può rispondere a questa domanda "al contrario", cioè quando sono uguali?

Ora l'algoritmo IRLS utilizzato nella regressione logistica fornisce alcune informazioni qui. Alla convergenza puoi esprimere i coefficienti del modello come:

β^logioStioc=(XTWX)-1XTWz

W i i = n i p i ( 1 - p i )WWioio=niopio(1-pio)zzio=XioTβ^logioStioc+yio-niopioniopio(1-pio)vun'r(zio-XioTβ^)=Wioio-1zβz

log(y)-log(n-y)y(1-y/n)ynlm ()


Degno di nota. Potresti mostrare l'ultima frase per codice R usando i dati simulati forniti? Grazie!
JellicleCat

2

Per favore, non esitate a segnalarlo se sbaglio.

In primo luogo, ho detto così, nella seconda misura, si chiama glmin modo sbagliato! Per adattarsi a una regressione logistica glm, la risposta dovrebbe essere una variabile categoriale (binaria), ma tu usi puna variabile numerica! Devo dire che warningè troppo gentile per far sapere agli utenti i loro errori ...

E, come ci si potrebbe aspettare, si ottengono stime simili dei coefficienti per i due accoppiamenti solo per COINCIDENCE. Se si sostituisce logit.p <- a + b*x + rnorm(1000, 0, 0.2)con logit.p <- a + b*x + rnorm(1000, 0, 0.7), cioè, cambiando la varianza del termine di errore da 0.2a 0.7, quindi i risultati dei due attacchi saranno notevolmente differente, anche se la seconda misura ( glm) è insignificante affatto ...

La regressione logistica viene utilizzata per la classificazione (binaria), quindi si dovrebbe avere una risposta categorica, come indicato sopra. Ad esempio, le osservazioni della risposta dovrebbero essere una serie di "successo" o "fallimento", piuttosto che una serie di "probabilità (frequenza)" come nei tuoi dati. Per un determinato set di dati categorici, è possibile calcolare solo una frequenza complessiva per "risposta = successo" o "risposta = fallimento", anziché una serie. Nei dati generati non esiste alcuna variabile categoriale, quindi è impossibile applicare la regressione logistica. Ora puoi vedere, sebbene abbiano un aspetto simile, la regressione logit-lineare (come la chiami tu) è solo un normale problema di REGRESSIONE lineare (cioè la risposta è una variabile numerica) usando la risposta trasformata (proprio come la trasformazione sqr o sqrt),

Tipicamente, la regressione lineare viene adattata tramite Ordinary Least Squares (OLS), che minimizza la perdita quadrata per problemi di regressione; la regressione logistica viene fornita tramite la stima della massima verosimiglianza (MLE), che minimizza la perdita di log per problemi di classificazione. Ecco un riferimento alle funzioni di perdita Loss Function, Deva Ramanan. Nel primo esempio, si considera pla risposta e si adatta un normale modello di regressione lineare tramite OLS; nel secondo esempio, dici Rche stai adattando un modello di regressione logistica family=binomial, quindi Radatta il modello di MLE. Come puoi vedere, nel primo modello ottieni t-test e F-test, che sono output classici di OLS adatti alla regressione lineare. Nel secondo modello, il test di significatività del coefficiente si basa zinvece dit, che è l'output classico di MLE in forma di regressione logistica.


Bella domanda (+1) e bella risposta (+1). Ho imparato qualcosa di nuovo.
Aleksandr Blekh

1
Sarei d'accordo Tuttavia, questo logistic regression is a CLASSIFICATION problempotrebbe essere frainteso nel senso che vale solo fino a quando può ben classificarlo. Il che sarebbe sbagliato pensare, perché un modello "ottimale" teoricamente e in base al modo in cui modella le probabilità a volte può classificare peggio di un modello non così buono.
ttnphns

@ttnphns Grazie per il tuo commento! Penso che sia una convenzione chiamarlo un problema di classificazione se la risposta è categorica. È importante che il modello funzioni bene o meno, ma forse non influisce sulla denominazione.
JellicleCat

Grazie @JellicleCat - Sono consapevole che i dati proporzionali di questo tipo non sono adatti alla regressione logistica, ma ero curioso delle circostanze in cui le stime dei coefficienti differivano da quelle dell'OLS con proporzioni trasformate in logit. Grazie per il tuo esempio: è chiaro che con una maggiore varianza, le stime dei coefficienti divergono.
jbaums
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.