当因变量是离散的时,这是您期望的此类图的外观。
图上点的每个曲线轨迹对应于因变量。每个的情况都有一个预测 ; 它的残差——根据定义——等于。与的图显然是一条斜率为的线。在泊松回归中,x 轴显示在对数刻度上:它是。曲线现在呈指数弯曲。作为kyy=ky^k−y^k−y^y^−1log(y^)k变化,这些曲线上升了整数。对它们求幂得到一组准平行曲线。(为了证明这一点,下面将显式构建图,分别用的值对点进行着色。)y
我们可以通过类似但任意的模型(使用小的随机系数)非常接近地再现有问题的图:
# Create random data for a random model.
set.seed(17)
n <- 2^12 # Number of cases
k <- 12 # Number of variables
beta = rnorm(k, sd=0.2) # Model coefficients
x <- matrix(rnorm(n*k), ncol=k) # Independent values
y <- rpois(n, lambda=exp(-0.5 + x %*% beta + 0.1*rnorm(n)))
# Wrap the data into a data frame, create a formula, and run the model.
df <- data.frame(cbind(y,x))
s.formula <- apply(matrix(1:k, nrow=1), 1, function(i) paste("V", i+1, sep=""))
s.formula <- paste("y ~", paste(s.formula, collapse="+"))
modl <- glm(as.formula(s.formula), family=poisson, data=df)
# Construct a residual vs. prediction plot.
b <- coefficients(modl)
y.hat <- x %*% b[-1] + b[1] # *Logs* of the predicted values
y.res <- y - exp(y.hat) # Residuals
colors <- 1:(max(y)+1) # One color for each possible value of y
plot(y.hat, y.res, col=colors[y+1], main="Residuals v. Fitted")