广义线性模型中残差的预期分布是什么?

机器算法验证 广义线性模型 残差 正态假设
2022-03-08 06:21:21

我正在执行一个广义线性模型,我必须在其中指定一个不同于正常家庭的家庭。

  • 残差的预期分布是什么?
  • 例如,残差是否应该正态分布?
2个回答

有一个完整的家庭手工业围绕着为 GLM 设计更对称甚至近似“正常”(即高斯)的残差,例如 Pearson 残差、Anscombe 残差、(调整的)偏差残差等。参见例如 James W 的第 6 章. Hardin 和 Joseph M. Hilbe (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")) 

在此处输入图像描述

What is the expected distribution of residuals?

它因模型而异,因此无法普遍回答。

For example, should the residuals be distributed normally?

一般不会,不会。