Vérification de la normalité des résidus dans les modèles linéaires généralisés

12

Cet article utilise des modèles linéaires généralisés (distributions d'erreur binomiale et binomiale négative) pour analyser les données. Mais ensuite, dans la section analyse statistique des méthodes, il y a cette déclaration:

... et deuxièmement en modélisant les données de présence à l'aide de modèles de régression logistique et les données de temps de recherche de nourriture à l'aide d'un modèle linéaire généralisé (GLM). Une distribution binomiale négative avec une fonction de liaison logarithmique a été utilisée pour modéliser les données de temps de recherche de nourriture (Welsh et al. 1996) et l'adéquation du modèle a été vérifiée en examinant les résidus (McCullagh et Nelder 1989). Des tests de Shapiro – Wilk ou de Kolmogorov – Smirnov ont été utilisés pour tester la normalité en fonction de la taille de l'échantillon; les données ont été transformées en logarithme avant les analyses pour respecter la normalité.

S'ils supposent des distributions d'erreur binomiale et binomiale négative, alors ils ne devraient certainement pas vérifier la normalité des résidus?

luciano
la source
2
Notez que les erreurs ne sont pas distribuées binomialement - chaque réponse est distribuée binomialement avec un paramètre de probabilité donné par les valeurs de prédicteur correspondantes, selon les réponses à l' une de vos autres questions .
Scortchi - Réintégrer Monica
3
Il n'y a rien dans la régression binomiale ou binomiale négative qui doit être normal. Si c'est la réponse qu'ils transforment, cela pourrait très bien être contre-productif; il va bousiller le GLM.
Glen_b -Reinstate Monica
1
Votre citation ne précise pas ce qu'ils testent en fait pour la normalité (êtes-vous sûr que ce sont les résidus?) Ou pour quelle analyse ils transforment les données (êtes-vous sûr que ce sont les GLM?).
Scortchi - Réintégrer Monica
J'ai développé un peu la citation. Quelqu'un pourrait-il confirmer si ce que les auteurs de l'article ont fait était faux ou correct?
luciano
Je crains que ce ne soit toujours pas très clair - contactez les auteurs pour savoir comment ils ont effectué l'analyse si cela n'est pas expliqué ailleurs dans le document ou ses références.
Scortchi - Réintégrer Monica

Réponses:

16

NB: les résidus de déviance (ou Pearson) ne devraient pas avoir une distribution normale, sauf pour un modèle gaussien. Pour le cas de régression logistique, comme le dit @Stat, les résidus de déviance pour la ème observation y i sont donnés pariyi

riD=2|log(1π^i)|

yi=0

riD=2|log(π^i)|

yi=1πi^

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

Graphique QQ n = 1

nii

riD=sgn(yiniπ^i)2[yilogyinπ^i+(niyi)logniyini(1π^i)]

yinini

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

Graphique QQ n = 30

Les choses sont similaires pour les GLM binomiaux de Poisson ou négatifs: pour les comptages prédits faibles, la distribution des résidus est discrète et asymétrique, mais tend à la normalité pour les comptages plus importants sous un modèle correctement spécifié.

Il n'est pas habituel, du moins pas dans mon coin de bois, d'effectuer un test formel de normalité résiduelle; si le test de normalité est essentiellement inutile lorsque votre modèle suppose une normalité exacte, alors a fortiori il est inutile quand il ne le fait pas. Néanmoins, pour les modèles non saturés, les diagnostics graphiques résiduels sont utiles pour évaluer la présence et la nature du manque d'ajustement, en prenant la normalité avec une pincée ou une poignée de sel en fonction du nombre de répétitions par modèle de prédicteur.

Scortchi - Réintégrer Monica
la source
1

Ce qu'ils ont fait est correct! Je vais vous donner une référence à la double vérification. Voir la section 13.4.4 dans Introduction à l'analyse de régression linéaire, 5e éditionpar Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining. En particulier, regardez les exemples à la page 460, où ils s'adaptent à une glm binomiale et revérifiez l'hypothèse de normalité des «résidus de déviance». Comme mentionné à la page 458, cela est dû au fait que «les résidus de déviance se comportent un peu comme les résidus ordinaires dans un modèle de régression linéaire standard de théorie normale». Il est donc logique de les tracer sur une échelle de tracé de probabilité normale ainsi que sur des valeurs ajustées. Voir à nouveau la page 456 de la référence ci-dessus. Dans les exemples qu'ils ont fournis aux pages 460 et 461, non seulement pour le cas binomial, mais aussi pour le glm de Poisson et le Gamma avec (lien = log), ils ont vérifié la normalité des résidus de déviance.
Pour le cas binomial, le résiduel de déviance est défini comme:

riD=2|ln(1πi^)|
yi=0
riD=2|ln(πi^)|
yi=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 
> 

Vérifiez ici également le cas de Poisson.

Stat
la source
2
Votre exemple est un choix étrange. Avez- vous fait un tracé PP ou QQ de ces résidus de déviance; si oui, qu'avez-vous conclu?
Scortchi - Réintégrer Monica
5
Dans ce cas, il serait inutile de vérifier la normalité des résidus - ils ne sont clairement pas distribués normalement, et ne devraient pas l'être. Ce n'est qu'à mesure que le nombre d'observations pour chaque modèle de prédiction augmente que la distribution des résidus (un résidu étant calculé par modèle de prédicteur) tend vers la normale. De même pour un modèle de Poisson ou binomial négatif - les nombres doivent être de grande taille pour que l'approximation normale soit bonne.
Scortchi - Réintégrer Monica
2
La question est de savoir si les résidus des modèles linéaires généralisés devraient être normalement distribués. Votre réponse semble être un «oui» sans réserve (bien que vos sources donnent sans doute les qualifications nécessaires, tous les lecteurs ne les vérifieront pas). Vous donnez ensuite un exemple dans lequel il n'y a aucune raison de s'attendre à ce que les résidus soient normalement distribués, même si le modèle a été correctement spécifié: un lecteur imprudent supposera qu'ils devraient l'être et que, comme ils ne le sont clairement pas, c'est donc un exemple de détection de spécification erronée du modèle en examinant les résidus (bien que vous ...
Scortchi - Reinstate Monica
2
... je ne l'ai pas dit). Je pense donc que la réponse nécessite beaucoup de précisions pour être utile.
Scortchi - Réintégrer Monica
2
Les commentaires de l'OMI @ Scortchi sont raisonnables ici. En regardant ce que je peux voir du livre de Montgomery sur Google Books, ils font l'intrigue QQ, mais n'effectuent pas un test de normalité réel comme mentionné par l'affiche originale. Bien sûr, faire le tracé QQ est raisonnable comme test de diagnostic, mais dans presque toutes les circonstances réalistes, même la déviance demeure. ne sera pas normal.
Andy W