Verificando a normalidade dos resíduos em modelos lineares generalizados

12

Este artigo utiliza modelos lineares generalizados (distribuições binomiais e negativas de erros binomiais negativos) para analisar dados. Mas então, na seção de análise estatística dos métodos, há esta declaração:

... e segundo modelando os dados de presença usando Modelos de Regressão Logística e os dados de tempo de forrageamento usando um Modelo Linear Generalizado (GLM). Uma distribuição binomial negativa com uma função de link de log foi usada para modelar os dados do tempo de forrageamento (Welsh et al. 1996) e a adequação do modelo foi verificada pelo exame de residentes (McCullagh & Nelder 1989). Os testes de Shapiro – Wilk ou Kolmogorov – Smirnov foram utilizados para testar a normalidade, dependendo do tamanho da amostra; os dados foram transformados em log antes das análises para aderir à normalidade.

Se eles assumem distribuições binomiais e negativas de erros binomiais negativos, certamente não devem verificar a normalidade dos resíduos?

luciano
fonte
2
Observe que os erros não são distribuídos binomialmente - cada resposta é distribuída binomialmente com um parâmetro de probabilidade fornecido pelos valores preditivos correspondentes, de acordo com as respostas de uma de suas outras perguntas .
Scortchi - Restabelece Monica
3
Não há nada na regressão binomial ou negativa binomial do que precisa ser normal. Se é a resposta que eles transformam, isso pode muito bem ser contraproducente; estragar o GLM.
Glen_b -Reinstala Monica
1
Na sua citação, não está claro o que eles estão testando quanto à normalidade (você tem certeza de que são os resíduos?) Ou para que análise eles estão transformando dados (você tem certeza de que são os GLMs?).
Scortchi - Restabelece Monica
Expandi a citação um pouco. Alguém poderia confirmar se o que os autores do artigo fizeram foi certo ou errado?
Luciano
Receio que ainda não esteja totalmente claro - entre em contato com os autores para obter detalhes de como eles realizaram a análise, se ela não for explicada em outra parte do artigo ou em suas referências.
Scortchi - Restabelece Monica

Respostas:

16

Nota: os resíduos de desvio (ou Pearson) não devem ter uma distribuição normal, exceto para um modelo gaussiano. Para o caso de regressão logística, como diz @Stat, resíduos deviance para o th observação y i são dadas porEuyEu

rEuD=-2|registro(1-π^Eu)|

se eyEu=0 0

rEuD=2|registro(π^Eu)|

se , onde ^ π i é a probabilidade ajustada de Bernoulli. Como cada um pode ter apenas um dos dois valores, fica claro que sua distribuição não pode ser normal, mesmo para um modelo especificado corretamente:yEu=1πEu^

#generate Bernoulli probabilities from true model
x <-rnorm(100)
p<-exp(x)/(1+exp(x))

#one replication per predictor value
n <- rep(1,100)
#simulate response
y <- rbinom(100,n,p)
#fit model
glm(cbind(y,n-y)~x,family="binomial") -> mod
#make quantile-quantile plot of residuals
qqnorm(residuals(mod, type="deviance"))
abline(a=0,b=1)

Gráfico QQ n = 1

nEuEu

rEuD=sgn(yEu-nEuπ^Eu)2[yEuregistroyEunπ^Eu+(nEu-yEu)registronEu-yEunEu(1-π^Eu)]

yEunEunEu

#many replications per predictor value
n <- rep(30,100)
#simulate response
y<-rbinom(100,n,p)
#fit model
glm(cbind(y,n-y)~x,family="binomial")->mod
#make quantile-quantile plot of residuals
qqnorm(residuals(mod, type="deviance"))
abline(a=0,b=1)

Gráfico QQ n = 30

As coisas são semelhantes para Poisson ou GLMs binomiais negativos: para contagens previstas baixas, a distribuição de resíduos é discreta e distorcida, mas tende à normalidade para contagens maiores em um modelo especificado corretamente.

Não é comum, pelo menos não no meu pescoço, realizar um teste formal de normalidade residual; se o teste de normalidade é essencialmente inútil quando seu modelo assume a normalidade exata, a fortiori é inútil quando não. No entanto, para modelos não saturados, o diagnóstico gráfico de resíduos é útil para avaliar a presença e a natureza da falta de ajuste, normalizando com uma pitada ou um punhado de sal, dependendo do número de repetições por padrão preditivo.

Scortchi - Restabelecer Monica
fonte
1

O que eles fizeram está correto! Vou lhe dar uma referência para verificar novamente. Consulte a Seção 13.4.4 em Introdução à análise de regressão linear, 5ª ediçãopor Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining. Em particular, veja os exemplos na página 460, onde eles se encaixam em um binômio glm e verifique duas vezes a suposição de normalidade dos "Deviance Residuals". Como mencionado na página 458, isso ocorre porque "os resíduos de desvio se comportam como os resíduos comuns em um modelo de regressão linear da teoria normal padrão". Portanto, faz sentido se você os plotar na escala normal de plotagem de probabilidade, bem como vs valores ajustados. Novamente, consulte a página 456 da referência acima. Nos exemplos que eles forneceram nas páginas 460 e 461, não apenas para o caso binomial, mas também para o Poisson glm e o Gamma com (link = log), eles verificaram a normalidade dos resíduos de desvio.
Para o caso binomial, o desvio residual é definido como:

rEuD=-2|em(1-πEu^)|
yEu=0 0
rEuD=2|em(πEu^)|
yEu=1
> attach(npk)

> #Fitting binomila glm
> fit.1=glm(P~yield,family=binomial(logit))
> 
> #Getting deviance residuals directly
> rd=residuals(fit.1,type = c("deviance"))
> rd
         1          2          3          4          5          6          7 
 1.1038306  1.2892945 -1.2912991 -1.1479881 -1.1097832  1.2282009 -1.1686771 
         8          9         10         11         12         13         14 
 1.1931365  1.2892945  1.1903473 -0.9821829 -1.1756061 -1.0801690  1.0943912 
        15         16         17         18         19         20         21 
-1.3099491  1.0333213  1.1378369 -1.2245380 -1.2485566  1.0943912 -1.1452410 
        22         23         24 
 1.2352561  1.1543163 -1.1617642 
> 
> 
> #Estimated success probabilities
> pi.hat=fitted(fit.1)
> 
> #Obtaining deviance residuals directly
> rd.check=-sqrt(2*abs(log(1-pi.hat)))
> rd.check[P==1]=sqrt(2*abs(log(pi.hat[P==1])))
> rd.check
         1          2          3          4          5          6          7 
 1.1038306  1.2892945 -1.2912991 -1.1479881 -1.1097832  1.2282009 -1.1686771 
         8          9         10         11         12         13         14 
 1.1931365  1.2892945  1.1903473 -0.9821829 -1.1756061 -1.0801690  1.0943912 
        15         16         17         18         19         20         21 
-1.3099491  1.0333213  1.1378369 -1.2245380 -1.2485566  1.0943912 -1.1452410 
        22         23         24 
 1.2352561  1.1543163 -1.1617642 
> 

Verifique aqui também o caso Poisson.

Estado
fonte
2
Seu exemplo é uma escolha estranha. Você fez um gráfico de PP ou QQ desses resíduos de desvio; Se sim, o que você concluiu?
Scortchi - Restabelece Monica
5
A questão é que, nesse caso, não faria sentido verificar a normalidade dos resíduos - eles claramente não estão normalmente distribuídos, nem deveriam estar. Somente quando o número de observações para cada padrão preditivo aumenta, a distribuição de resíduos (um residual calculado por padrão preditivo) tende ao normal. Da mesma forma, para um modelo binomial de Poisson ou negativo - as contagens precisam ser grandes para que a aproximação normal seja boa.
Scortchi - Restabelece Monica
2
A questão é se os resíduos de modelos lineares generalizados devem ser normalmente distribuídos. Sua resposta parece ser um "sim" não qualificado (embora suas fontes, sem dúvida, forneçam as qualificações necessárias, nem todos os leitores as verificam). Você então dá um exemplo no qual não há nenhuma razão para esperar que os resíduos sejam normalmente distribuídos, mesmo que o modelo tenha sido especificado corretamente: um leitor incauto assumirá que eles deveriam ser e que, como claramente não são, isso é portanto, um exemplo de detecção de erros de especificação do modelo examinando os resíduos (embora você ...
Scortchi - Restabelecer Monica
2
... não disse que é). Então, acho que a resposta requer muitos esclarecimentos para ser útil.
Scortchi - Restabelece Monica
2
Os comentários do IMO @ Scortchi são razoáveis ​​aqui. Olhando o que posso ver do livro de Montgomery na visualização dos livros do Google, eles fazem o gráfico QQ, mas não realizam um teste de normalidade real, como mencionado no pôster original. Certamente, fazer o gráfico QQ é razoável como teste de diagnóstico, mas em praticamente todas as circunstâncias realistas até o desvio reside. não será normal.
Andy W