2010-03-28 18 views
7

Mi puoi dire quello che viene restituito dalla glm $ residui e resid (GLM) dove GLM è un oggetto quasipoisson. per esempio. Come dovrei crearli usando glm $ y e glm $ linear.predictors.

glm $ residui

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

più basso: -4,243 -3,552 -3,509 -3,481 -3,464 più 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

più basso: -1,0000 -0,8415 -0,8350 -0,8333 -0,8288 più alto: 7,2491 7,6110 7,6486 7,9574 10,1932

risposta

16

La chiamata di resid (modello) imposterà automaticamente i residui di devianza, mentre il modello $ resid fornirà i residui di lavoro. A causa della funzione di collegamento, non esiste un'unica definizione di cosa sia un residuo del modello. Esistono devianza, lavoro, parziale, Pearson e residui di risposta. Poiché si basano solo sulla struttura media (non sulla varianza), i residui per il quasipoisson e il poisson hanno la stessa forma.È possibile dare un'occhiata alla funzione residuals.glm per i dettagli, ma qui è un esempio:

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

Questo è fantastico. Ora ho solo bisogno di sapere quando ogni tipo di residuo è più utile nella diagnostica di regressione. La raccomandazione del libro fatta da Adam in basso ("Modelli e estensioni generalizzate lineari" di Hardin e Hilbe) sembra utile, qualche altro suggerimento? –

4

non so abbastanza di poisson e quasi-poisson distribuzioni per rispondere alla tua domanda nella profondità richiesta (es un'equazione esatta che trasformerà le variabili nei residui utilizzando il modello), ma se una delle confusioni è dovuta a quali tipi di residui vengono utilizzati e perché i due comandi danno una risposta diversa, questo potrebbe aiutare:

resid() imposta un tipo di "devianza" in R. Tuttavia, glm() assegna residui diversi al vettore $ residui.

Se si utilizza la famiglia quasi-poisson, glm() assegnerà i residui del tipo di lavoro, mentre resid() restituirà il tipo di devianza come predefinito.

Per provare questo fuori, si può utilizzare:

resid (GLM, type = "lavoro")

e

glm $ residui

e questo dovrebbe darti la stessa risposta (almeno, lo ha fatto su un set di dati campione sed).

Secondo R, residui di lavorazione sono: "i residui nella ripetizione finale dei IWLS fit"

Se si guarda il libro: "Modelli lineari generalizzati ed estensioni" (di Hardin e Hilbe) su googlebooks , è possibile accedere alla sezione 4.5 che spiega i vari tipi di residui.

+0

grande riferimento al libro di Hardin e Hilbe! Grazie! –

Problemi correlati