13 votos

Heterocedasticidad y de los residuos de la normalidad

Tengo una regresión lineal que es bastante bueno, supongo (es para un proyecto de la universidad así que realmente no tienen que ser super exacto).

El punto es, si yo gráco de los residuos versus valores de predicción, no es (según mi maestro) un toque de heterocedasticidad.

Pero si me parcela Q-Q-Plot de los residuos, es claro que ellos están distribuidos normalmente. Por otra parte, la prueba de Shapiro en los residuos tiene un $p$-valor de $0.8$, así que creo que no hay duda de que los residuos son en realidad una distribución normal.

Pregunta: ¿Cómo puede haber heterocedasticidad en los valores predichos si los residuos siguen una distribución normal?

17voto

jldugger Puntos 7490

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.

Figure

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")

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X