EJERCICIO 1
Ajusta la variable millas por gal´on (mpg) en funci´on del peso del auto (wt)
# Cargar datos
data(mtcars)
# Ajustar el modelo
modelo1 <- lm(mpg ~ wt, data = mtcars)
# Resumen del modelo
summary(modelo1)
##
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.5432 -2.3647 -0.1252 1.4096 6.8727
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.2851 1.8776 19.858 < 2e-16 ***
## wt -5.3445 0.5591 -9.559 1.29e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446
## F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10
# Obtener residuales
residuos1 <- resid(modelo1)
# Gráfico de Residuos vs Valores Ajustados
library(ggplot2)
ggplot(data = data.frame(pred = fitted(modelo1), resid = residuos1), aes(x = pred, y = resid)) +
geom_point() +
geom_hline(yintercept = 0, col = "red") +
labs(title = "Residuos vs. Valores Ajustados", x = "Valores Ajustados", y = "Residuos")
# Gráfico Q-Q
qqnorm(residuos1)
qqline(residuos1, col = "red")
# Prueba de normalidad de Shapiro-Wilk
shapiro.test(residuos1)
##
## Shapiro-Wilk normality test
##
## data: residuos1
## W = 0.94508, p-value = 0.1044
Modelo mpg ~ wt (mtcars) Modelo: El peso del auto (wt) es una variable significativa que afecta el consumo de combustible (mpg). Gráfico de Residuos vs. Valores Ajustados: Si los puntos están distribuidos sin un patrón claro, los residuos son independientes y el modelo es adecuado. Gráfico Q-Q: Los puntos alineados en la línea diagonal sugieren que los residuos siguen una distribución normal. Prueba de Shapiro-Wilk: Si el valor p es mayor a 0.05, podemos considerar los residuos como normales. Si es menor, habría que revisar el modelo.
EJERCICIO 2
Se quiere evaluar si hay una relaci´on lineal entre el n´umero de asesinatos (variable dependiente) y el n´umero de arrestos por agresi´on (variable independiente). Despu´es de ajustar el modelo de regresi´on, verificar si los residuos del modelo cumplen el supuesto de normalidad mediante pruebas y gráficos. Redacte un informe corto en el que se expliquen sus observaciones
# Cargar datos
data(USArrests)
# Ajustar el modelo
modelo2 <- lm(Murder ~ Assault, data = USArrests)
# Resumen del modelo
summary(modelo2)
##
## Call:
## lm(formula = Murder ~ Assault, data = USArrests)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.8528 -1.7456 -0.3979 1.3044 7.9256
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.631683 0.854776 0.739 0.464
## Assault 0.041909 0.004507 9.298 2.6e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.629 on 48 degrees of freedom
## Multiple R-squared: 0.643, Adjusted R-squared: 0.6356
## F-statistic: 86.45 on 1 and 48 DF, p-value: 2.596e-12
# Obtener residuales
residuos2 <- resid(modelo2)
# Gráfico de Residuos vs Valores Ajustados
ggplot(data = data.frame(pred = fitted(modelo2), resid = residuos2), aes(x = pred, y = resid)) +
geom_point() +
geom_hline(yintercept = 0, col = "red") +
labs(title = "Residuos vs. Valores Ajustados", x = "Valores Ajustados", y = "Residuos")
# Gráfico Q-Q
qqnorm(residuos2)
qqline(residuos2, col = "red")
# Prueba de normalidad de Shapiro-Wilk
shapiro.test(residuos2)
##
## Shapiro-Wilk normality test
##
## data: residuos2
## W = 0.96942, p-value = 0.2191
Ejercicio 2
Modelo Murder ~ Assault (USArrests) Modelo: Los arrestos por agresión (Assault) tienen una influencia significativa en la tasa de asesinatos (Murder). Gráfico de Residuos vs. Valores Ajustados: Una dispersión aleatoria sin patrones sugiere independencia y varianza constante de los residuos. Gráfico Q-Q: La alineación de los puntos en la línea diagonal indica normalidad en los residuos. Prueba de Shapiro-Wilk: Un valor p alto (>0.05) confirmaría normalidad en los residuos; un valor bajo indicaría que podría ser necesario ajustar el modelo.
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.