Risposte:
What is the expected distribution of residuals?
Varia in base al modello in modi che rendono impossibile rispondere in generale.
For example, should the residuals be distributed normally?
Non generalmente, no.
C'è un'intera industria di cottage incentrata sulla progettazione di residui per GLM che sono più simmetrici o persino approssimativamente "normali" (cioè gaussiani), ad esempio residui di Pearson, residui di Anscombe, residui di deviazione (regolati), ecc. Vedi ad esempio il capitolo 6 di James W Hardin e Joseph M. Hilbe (2007) "Generalized Linear Models and Extensions" seconda edizione. College Station, TX: Stata Press. Se la variabile dipendente è discreta (una variabile indicatore o un conteggio), è ovviamente molto difficile rendere la distribuzione prevista dei residui esattamente gaussiana.
Una cosa che puoi fare è simulare ripetutamente nuovi dati supponendo che il tuo modello sia vero, stimare il tuo modello usando quei dati simulati e calcolare i residui, quindi confrontare i tuoi residui effettivi con i tuoi residui simulati. In Stata lo farei così:
sysuse nlsw88, clear
glm wage i.union grade c.ttl_exp##c.ttl_exp, link(log) family(poisson)
// collect which observations were used in estimation and the predicted mean
gen byte touse = e(sample)
predict double mu if touse
// predict residuals
predict resid if touse, anscombe
// prepare variables for plotting a cumulative distribution function
cumul resid, gen(c)
// collect the graph command in the local macro `graph'
local graph "twoway"
// create 19 simulations:
gen ysim = .
forvalues i = 1/19 {
replace ysim = rpoisson(mu) if touse
glm ysim i.union grade c.ttl_exp##c.ttl_exp, link(log) family(poisson)
predict resid`i' if touse, anscombe
cumul resid`i', gen(c`i')
local graph "`graph' line c`i' resid`i', sort lpattern(solid) lcolor(gs8) ||"
}
local graph "`graph' line c resid, sort lpattern(solid) lcolor(black) "
// display the graph
`graph' legend(order(20 "actual residuals" 1 "simulations"))