Відповіді:
What is the expected distribution of residuals?
Це змінюється в залежності від моделі способами, які не дають змоги взагалі дати відповідь.
For example, should the residuals be distributed normally?
Як правило, ні.
Існує ціла котеджна галузь, орієнтована на проектування залишків для ГЛМ, які є більш симетричними або навіть приблизно "нормальними" (тобто гауссовими), наприклад, залишки Пірсона, залишки Anscombe, (скориговані) залишки відхилень тощо. Див. Наприклад, Глава 6 Джеймса У Гардін та Джозеф М. Хільбе (2007) "Узагальнені лінійні моделі та розширення", друге видання. Коледж Станція, Техас: Stata Press. Якщо залежна змінна є дискретною (індикаторна змінна чи кількість), то очевидно дуже важко зробити очікуваний розподіл залишків саме гауссовим.
Одне, що ви можете зробити, - це багаторазово моделювати нові дані, припускаючи, що ваша модель правдива, оцінити модель за допомогою цих модельованих даних та обчислити залишки, а потім порівняти фактичні залишки з імітованими залишками. У Stata я би зробив це так:
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"))