13 votos

Comprobar la normalidad de los residuos en los modelos lineales generalizados

Este documento utiliza modelos lineales generalizados (distribuciones de error binomiales y binomiales negativos) para analizar los datos. Pero luego en la sección de análisis estadístico de los métodos, está esta afirmación:

...y segundo, modelando los datos de presencia usando la Regresión Logística Modelos, y los datos de tiempo de búsqueda utilizando un Modelo Lineal Generalizado (GLM). Una distribución binomial negativa con una función de enlace logarítmico fue utilizado para modelar los datos de tiempo de forrajeo (Welsh et al. 1996) y modelar La adecuación fue verificada por el examen de los resi- duales (McCullagh y Nelder 1989). Las pruebas de Shapiro-Wilk o Kolmogorov-Smirnov se utilizaron para prueba de normalidad en función del tamaño de la muestra; los datos se transformaron en logaritmos antes de que los análisis se adhieran a la normalidad.

Si asumen distribuciones de error binomiales y binomiales negativas, entonces seguramente no deberían comprobar la normalidad de los residuos.

18voto

jasonmray Puntos 1303

NB los residuos de desviación (o de Pearson) no se espera que tengan una distribución normal excepto para un modelo gaussiano. Para el caso de regresión logística, como dice @Stat, los residuos de desviación para el $i$ La observación $y_i$ están dadas por

$$r^{ \mathrm {D}}_i=- \sqrt {2 \left | \log {(1- \hat { \pi }_i)} \right |}$$

si $y_i=0$ &

$$r^{ \mathrm {D}}_i= \sqrt {2 \left | \log {( \hat { \pi }_i)} \right |}$$

si $y_i=1$ donde $ \hat { \pi_i }$ es la probabilidad ajustada de Bernoulli. Como cada uno puede tomar sólo uno de dos valores, está claro que su distribución no puede ser normal, ni siquiera para un modelo correctamente especificado:

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

Q-Q plot n=1

Pero si hay $n_i$ replicar las observaciones para la $i$ el patrón de predicción, y el residuo de desviación se define para recoger estos

$$r^{ \mathrm {D}}_i= \operatorname {sgn}({y_i-n_i \hat { \pi }_i}) \sqrt {2 \left [y_i \log { \frac {y_i}{n \hat { \pi }_i}} + (n_i-y_i) \log { \frac {n_i-y_i}{n_i(1- \hat { \pi }_i)}} \right ]}$$

(donde $y_i$ es ahora el recuento de éxitos de 0 a $n_i$ ) entonces como $n_i$ se hace más grande la distribución de los residuos se aproxima más a la normalidad:

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

Q-Q plot n=30

Las cosas son similares para Poisson o los GLM binomiales negativos: para los bajos recuentos previstos la distribución de los residuos es discreta y sesgada, pero tiende a la normalidad para los recuentos más grandes bajo un modelo correctamente especificado.

No es habitual, al menos no en mi zona, realizar una prueba formal de normalidad residual; si la prueba de normalidad es esencialmente inútil cuando su modelo asume la normalidad exacta, entonces a fortiori es inútil cuando no lo hace. Sin embargo, para los modelos insaturados, los diagnósticos gráficos residuales son útiles para evaluar la presencia y la naturaleza de la falta de ajuste, tomando la normalidad con un pellizco o un puñado de sal dependiendo del número de réplicas por patrón de predicción.

1voto

Stat Puntos 4224

¡Lo que hicieron es correcto! Le daré una referencia para que lo compruebe. Vea la sección 13.4.4 en Introducción al análisis de regresión lineal, 5ª edición por Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining. En particular, miren los ejemplos de la página 460, donde encajan un binomio glm y comprueben la suposición de normalidad de los "Residuos de Desviación". Como se menciona en la página 458, esto se debe a que "los residuos de desviación se comportan de manera muy similar a los residuos ordinarios en un modelo de regresión lineal de teoría normal estándar". Por lo tanto, tiene sentido si los graficas en una escala de probabilidad normal así como en valores ajustados. De nuevo, véase la página 456 de la referencia anterior. En los ejemplos que han proporcionado en las páginas 460 y 461, no sólo para el caso del binomio, sino también para la película de Poisson y la Gamma con (link=log), han comprobado la normalidad de los residuos de desviación.
En el caso del binomio, el residuo de desviación se define como: $$r^{D}_i=- \sqrt {2| \ln {(1- \hat { \pi_i })}|}$$ si $y_i=0$ y $$r^{D}_i= \sqrt {2| \ln {( \hat { \pi_i })}|}$$ si $y_i=1$ . Ahora un poco de codificación en R para mostrarte cómo puedes conseguirlo:

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

Revisa aquí para el caso Poisson también.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X