2010-03-28 10 views
7

¿Me puede decir lo que se devuelve por GLM $ residuos y residuo (GLM) donde GLM es un objeto quasipoisson. p.ej. Cómo los crearía usando glm $ y y glm $ linear.predictors.

GLM $ residuos

n missing unique Mean  .05  .10 .25 .50  .75  .90  .95 

37715 10042 2174 -0,2574 -2,7538 -2,2661 -1,4480 -0,4381 0,7542 1,9845 2,7749

más bajo: -4,243 -3,552 -3,509 -3,481 -3,464 más alto : 8,195 8,319 8,592 9,089 9,416

resid (GLM)

n missing  unique  Mean  .05  .10  .25 
37715   0  2048 -2.727e-10 -1.0000 -1.0000 -0.6276 
    .50  .75  .90  .95 

-0,2080 0,4106 1,1766 1,7333

más bajo: -1,0000 -0,8415 -0,8350 -0,8333 -0,8288 más alto: 7,2491 7,6110 7,6486 7,9574 10,1932

Respuesta

16

La llamada residual (modelo) se ajustará por defecto a los residuales de desviación, mientras que el modelo $ residual le proporcionará los residuos de trabajo. Debido a la función de enlace, no hay una definición única de lo que es un residuo de modelo. Están los valores de desviación, trabajo, parcial, Pearson y respuesta. Debido a que estos solo se basan en la estructura media (no en la varianza), los residuos para el quasipoisson y poisson tienen la misma forma.Puede echar un vistazo a la función residuals.glm para los detalles, pero aquí es un ejemplo:

counts <- c(18,17,15,20,10,20,25,13,12) 
outcome <- gl(3,1,9) 
treatment <- gl(3,3) 
glm.D93 <- glm(counts ~ outcome + treatment, family=quasipoisson()) 
glm.D93$resid 


#working 
resid(glm.D93,type="working") 
(counts - glm.D93$fitted.values)/exp(glm.D93$linear) 

#deviance 
resid(glm.D93,type="dev") 
fit <- exp(glm.D93$linear) 
poisson.dev <- function (y, mu) 
    sqrt(2 * (y * log(ifelse(y == 0, 1, y/mu)) - (y - mu))) 
poisson.dev(counts,fit) * ifelse(counts > fit,1,-1) 

#response 
resid(glm.D93,type="resp") 
counts - fit 

#pearson 
resid(glm.D93,type="pear") 
(counts - fit)/sqrt(fit) 
+1

Esto es genial. Ahora solo necesito saber cuándo cada tipo de residuo es más útil para hacer diagnósticos de regresión. La recomendación del libro hecha por Adam a continuación ("Modelos lineales generalizados y extensiones" por Hardin y Hilbe) parece útil, ¿alguna otra sugerencia? –

4

no sé lo suficiente sobre Poisson y cuasi-Poisson distribuciones para responder a su pregunta en la profundidad solicitada (es decir, una ecuación exacta que transformará las variables en residuales utilizando el modelo), pero si la confusión se debe a qué tipos residuales se están utilizando y por qué los dos comandos dan una respuesta diferente, esto podría ayudar:

resid() se predetermina a un tipo de "desviación" en R. Sin embargo, glm() asigna diferentes residuos al vector de $ residuales.

Si está utilizando la familia cuasi-poisson, glm() asignará los residuos del tipo de trabajo, mientras que, resid() proporciona el tipo de desviación como predeterminado.

Para probar esto, puede utilizar:

residuo (GLM, type = "trabajo")

y

GLM $ residuos

y eso debería darle la misma respuesta (al menos, lo hizo en un conjunto de datos de muestra) sed).

Según R, residuos de trabajo son: "los residuos en la iteración final de los PLI encajan"

Si se mira el libro: "modelos lineales generalizados y extensiones" (por Hardin y Hilbe) en GoogleBooks , puede acceder a la sección 4.5 que explica los diversos tipos de residuos.

+0

gran referencia al libro de Hardin y Hilbe! ¡Gracias! –

Cuestiones relacionadas