Una forma de abordar esta cuestión es mirar a la inversa: ¿cómo podríamos comenzar con una distribución normal de los residuos y organizarlos para ser heteroscedastic? Desde este punto de vista la respuesta es obvia: asociar el más pequeño de los residuos con el más pequeño de los valores predichos.
Para ilustrar, aquí es una construcción explícita.
Los datos en la izquierda están claramente heteroscedastic relativa al ajuste lineal (mostrado en rojo). Esto es llevado a casa por los residuos vs predijo la parcela a la derecha. Pero--construcción--la desordenada conjunto de residuos está cerca de una distribución normal, como su histograma en el medio de la muestra. (El p-valor del test de Shapiro-Wilk de la normalidad es 0.60, obtenida con la R
comando shapiro.test(residuals(fit))
emitido después de ejecutar el código de abajo.)
Los datos reales pueden tener este aspecto, también. La moraleja es que heterocedasticidad caracteriza a una relación entre residual tamaño y predicciones , mientras que la normalidad no nos dice nada acerca de cómo los residuos se refieren a otra cosa.
Aquí es el R
código para esta construcción.
set.seed(17)
n <- 256
x <- (1:n)/n # The set of x values
e <- rnorm(n, sd=1) # A set of *normally distributed* values
i <- order(runif(n, max=dnorm(e))) # Put the larger ones towards the end on average
y <- 1 + 5 * x + e[rev(i)] # Generate some y values plus "error" `e`.
fit <- lm(y ~ x) # Regress `y` against `x`.
par(mfrow=c(1,3)) # Set up the plots ...
plot(x,y, main="Data", cex=0.8)
abline(coef(fit), col="Red")
hist(residuals(fit), main="Residuals")
plot(predict(fit), residuals(fit), cex=0.8, main="Residuals vs. Predicted")