Quando os coeficientes estimados por regressão logística e logit-linear diferem?


11

Ao modelar proporções contínuas (por exemplo, cobertura proporcional da vegetação em quadrats da pesquisa ou proporção de tempo envolvido em uma atividade), a regressão logística é considerada inadequada (por exemplo, Warton & Hui (2011 ). Em vez disso, a regressão OLS após transformar as proporções em logit, ou talvez a regressão beta, é mais apropriada.

Sob quais condições as estimativas do coeficiente de regressão logit-linear e regressão logística diferem ao usar R lme glm?

Pegue o seguinte conjunto de dados simulado, onde podemos assumir que psão nossos dados brutos (ou seja, proporções contínuas, em vez de representar ):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))

insira a descrição da imagem aqui

Ajustando um modelo logit-linear, obtemos:

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

A regressão logística produz:

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!

As estimativas do coeficiente de regressão logística sempre serão imparciais em relação às estimativas do modelo logit-linear?


1
Observe uma distinção teórica: com um modelo binomial aplicado às proporções, você assume que as tentativas por trás de cada proporção são independentes, ou seja, por trás da proporção 0.1"havia", digamos, 10 tentativas independentes que produzem um sucesso. Para o modelo linear, 0.1é simplesmente um valor, alguma medida arbitrária.
precisa saber é o seguinte

1
Estou um pouco duvidoso quanto até faz sentido aplicar um modelo binomial a proporções da maneira feita pelo OP. Afinal, family=binomialimplica que a variável dependente representa contagens binomiais - não proporções. E como glmsaberia isso 0.1como "um em cada dez" e não "dez em cem"? Embora a proporção em si não seja diferente, isso tem implicações importantes na maneira como o erro padrão é calculado.
21415 Wolfgang #

1
@ Wolfgang - Eu percebo (e mencionei no meu post) que não é adequado modelar proporções contínuas desse tipo com regressão logística. Eu estava mais interessado em saber se / quando / como as estimativas pontuais dos coeficientes diferem.
jbaums

2
@ Wolfgang, você está certo, mas isso depende da implementação. Alguns programas permitem inserir proporções como DV e 1s no lugar das bases, enquanto o conjunto de dados é ponderado pelas bases reais. Então, parece que você analisa proporções, não conta.
precisa saber é o seguinte

1
@ttnphns Da mesma forma, em R, é possível inserir proporções como o DV e fornecer um vetor contendo números de tentativas para o weightsargumento (embora não seja isso que eu estava tentando no meu post, onde analisei intencionalmente os dados).
jbaums

Respostas:


5

Talvez isso possa ser respondido da maneira "inversa" - isto é, quando são iguais?

Agora, o algoritmo IRLS usado na regressão logística fornece algumas dicas aqui. Na convergência, você pode expressar os coeficientes do modelo como:

β^logistic=(XTWX)1XTWz

onde é uma matriz de pesos diagonal com o i-ésimo termo e é uma pseudo resposta que possui o i-ésimo elemento . Observe que que faz com que a regressão logística pareça muito semelhante aos mínimos quadrados ponderados em um "tipo de logit" de quantidade. Observe que todos os relacionamentos estão implícitos na regressão logística (por exemplo, depende de que depende de ).WWii=nipi(1pi)z vumr(Zi-x t i β )=W - 1 i i zβzzi=xiTβ^logistic+yinipinipi(1pi)var(zixiTβ^)=Wii1zβz

Então, eu sugeriria que a diferença está principalmente no uso de mínimos quadrados ponderados (logísticos) versus mínimos quadrados não ponderados (ols em logits). Se você ponderasse os logits por (onde é o número de "eventos" e o número de "tentativas") na chamada, você receberá resultados mais semelhantes.y ( 1 - y / n ) y nlog(y)log(ny)y(1y/n)ynlm ()


Impressionante. Você poderia mostrar sua última frase pelo código R usando os dados simulados? Obrigado!
precisa

2

Por favor, não hesite em apontar se estou errado.

Primeiro, eu tenho que dizer, no segundo ataque, você liga de glmmaneira errada! Para ajustar uma regressão logística glm, a resposta deve ser uma variável categórica (binária), mas você usa puma variável numérica! Devo dizer que warningé gentil demais para que os usuários saibam seus erros ...

E, como você poderia esperar, você obtém estimativas semelhantes de coeficientes pelos dois ajustes apenas pela COINCIDÊNCIA. Se você substituir logit.p <- a + b*x + rnorm(1000, 0, 0.2)por logit.p <- a + b*x + rnorm(1000, 0, 0.7), ou seja, alterar a variação do termo de erro de 0.2para 0.7, então os resultados dos dois ajustes serão muito diferentes, embora o segundo ajuste ( glm) não tenha sentido algum ...

A regressão logística é usada para a classificação (binária), portanto, você deve ter uma resposta categórica, como afirmado acima. Por exemplo, as observações da resposta devem ser uma série de "sucesso" ou "falha", em vez de uma série de "probabilidade (frequência)", como nos seus dados. Para um determinado conjunto de dados categóricos, você pode calcular apenas uma frequência geral para "resposta = sucesso" ou "resposta = falha", em vez de uma série. Nos dados que você gera, não há variável categórica, portanto, é impossível aplicar a regressão logística. Agora você pode ver, embora eles tenham aparência semelhante, a regressão logit-linear (como você chama) é apenas um problema REGRESSION linear comum (ou seja, a resposta é uma variável numérica) usando a resposta transformada (assim como a transformação sqr ou sqrt),

Normalmente, a regressão linear é ajustada através dos mínimos quadrados ordinários (OLS), o que minimiza a perda quadrada para o problema de regressão; a regressão logística é ajustada através da estimativa máxima de verossimilhança (MLE), que minimiza a perda de log para o problema de classificação. Aqui está uma referência sobre as funções de perda Loss Function, Deva Ramanan. No primeiro exemplo, você considera pa resposta e ajusta um modelo de regressão linear comum através do OLS; no segundo exemplo, você diz Rque está ajustando um modelo de regressão logística family=binomial, portanto, Rajuste-o pelo MLE. Como você pode ver, no primeiro modelo, você obtém o teste t e o teste F, que são saídas clássicas do OLS adequadas para regressão linear. No segundo modelo, o teste de significância do coeficiente é baseado em zvez det, que é o resultado clássico do ajuste MLE da regressão logística.


Boa pergunta (+1) e boa resposta (+1). Eu aprendi algo novo.
Aleksandr Blekh

1
Eu concordaria. No entanto, isso logistic regression is a CLASSIFICATION problempode ser mal interpretado no sentido de que vale a pena apenas enquanto puder ser classificado. O que seria errado pensar, porque um modelo "ideal" teoricamente e pela maneira como modela as probabilidades às vezes podem classificar pior do que um modelo não tão bom.
precisa saber é o seguinte

Obrigado pelo seu comentário! Eu acho que é uma convenção chamar isso de problema de classificação se a resposta for categórica. Se o modelo tem bom desempenho ou não, é importante, mas talvez não afete a nomeação.
precisa

Obrigado @JellicleCat - Estou ciente de que os dados de proporção desse tipo não são adequados para a regressão logística, mas fiquei curioso sobre as circunstâncias nas quais as estimativas de coeficientes difeririam das do OLS com proporções transformadas por logit. Obrigado pelo seu exemplo - é claro que, com o aumento da variação, as estimativas do coeficiente divergem.
jbaums
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.