Essa é a aparência que você espera desse gráfico quando a variável dependente é discreta.
Cada traço curvilíneo de pontos no gráfico corresponde a um valor fixo da variável dependente y . Todos os casos em que y = k tem uma previsão y ; seu residual - por definição - é igual a k - y . A trama de k - y contra y é, obviamente, uma linha com o declive - um . Em regressão de Poisson, o eixo x é mostrado numa escala logarítmica: é log ( y ) . As curvas agora dobram-se exponencialmente. Como kkyy=ky^k−y^k−y^y^−1log(y^)kvaria, essas curvas aumentam em valores integrais. Exponenciá-los fornece um conjunto de curvas quase paralelas. (Para provar isso, o gráfico será explicitamente construído abaixo, colorindo separadamente os pontos pelos valores de .)y
Podemos reproduzir o enredo em questão bastante de perto por meio de um modelo semelhante, mas arbitrário (usando pequenos coeficientes aleatórios):
# 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")