En regresión lineal, uno de los supuestos importantes es que los errores (residuos) deben seguir una distribución normal.
Esto es importante para que:
Los intervalos de confianza sean correctos.
Los tests de hipótesis (como los p-valores) sean válidos.
No afecta mucho a las predicciones si la muestra es grande, pero sí a las inferencias estadísticas.
Hay varias formas sencillas:
Histograma de los residuos: debería parecer una campana.
Gráfico Q-Q (Quantile-Quantile Plot): los puntos deberían seguir una línea recta.
Test de Shapiro-Wilk: prueba estadística formal.
Vamos a simular un conjunto de datos sencillo usado durante la clase: horas de sueño y promedio.
## New names:
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.49931 -0.33520 -0.01725 0.24685 0.91864
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9916 0.2031 4.881 2.30e-05 ***
## x 0.4179 0.0310 13.482 2.01e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4062 on 35 degrees of freedom
## Multiple R-squared: 0.8385, Adjusted R-squared: 0.8339
## F-statistic: 181.8 on 1 and 35 DF, p-value: 2.015e-15
Min -0.49931
1Q -0.33520
Median -0.01725
3Q 0.24685
Max 0.91864
El residuo mediano es casi cero (-0.06144). No hay residuos excesivamente grandes ni desbalanceados (máximo y mínimo parecidos en magnitud).
# Residuos
residuos <- modelo$residuals
hist(residuos, main = "Histograma de los residuos", xlab = "Residuos", col = "lightblue", breaks = 10)
qqnorm(residuos)
qqline(residuos, col = "red")
Interpretación:
- Si los puntos del Q-Q plot caen cerca de la línea roja, los residuos
son aproximadamente normales.
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.92061, p-value = 0.0116
Interpretación del test:
Hipótesis nula (H0): los residuos siguen una distribución normal.
Si el p-valor > 0.05, no rechazamos H0 ⇒ podemos asumir normalidad.
Si el p-valor < 0.05, rechazamos H0 ⇒ los residuos no serían normales.