# Cargar las librerías necesarias
library(readxl)
# Cargar los datos desde el archivo Excel
file_path <- "~/Datos 2 punto E..xlsx"
df <- read_excel(file_path, sheet = "Sheet1")
# Ajustar el modelo de regresión lineal múltiple
modelo <- lm(Y ~ X1 + X2 + X3, data = df)
# Mostrar el resumen del modelo
summary(modelo)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.7048 -0.8534 -0.0010 0.4918 3.2952
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.4605 5.4585 4.481 0.000439 ***
## X1 -0.5072 0.3194 -1.588 0.133150
## X2 -3.4102 1.1950 -2.854 0.012072 *
## X3 0.1638 0.1119 1.464 0.163779
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.655 on 15 degrees of freedom
## Multiple R-squared: 0.6472, Adjusted R-squared: 0.5766
## F-statistic: 9.172 on 3 and 15 DF, p-value: 0.001087
F-Statistic = 9.172 con p-value = 0.001087
Como el p-value es menor que 0.05, rechazamos la hipótesis nula (H0) e que el modelo no explica la variabilidad de y.
Conclusión: El modelo es significativo en general, lo que indica que al menos una de las variables X1.X2,X3 tiene un efecto sobre el tiempo que los estudiantes dedican a la práctica deportiva.
# Cargar librerías necesarias
library(dplyr)
library(knitr)
# Ajustar el modelo de regresión
modelo <- lm(Y ~ X1 + X2 + X3, data = df)
# Extraer los coeficientes, errores estándar, t-values y p-values
resultados <- summary(modelo)$coefficients
# Convertir en un data frame
tabla_resultados <- data.frame(
Variable = rownames(resultados),
Coeficiente = resultados[, 1],
`Error Estándar` = resultados[, 2],
`t-value` = resultados[, 3],
`p-value` = resultados[, 4],
Significancia = ifelse(resultados[, 4] < 0.001, "***",
ifelse(resultados[, 4] < 0.01, "**",
ifelse(resultados[, 4] < 0.05, "*", "No significativo")))
)
# Mostrar la tabla en formato bonito
kable(tabla_resultados, digits = 5, caption = "Resultados del Modelo de Regresión")
Variable | Coeficiente | Error.Estándar | t.value | p.value | Significancia | |
---|---|---|---|---|---|---|
(Intercept) | (Intercept) | 24.46047 | 5.45845 | 4.48121 | 0.00044 | *** |
X1 | X1 | -0.50724 | 0.31943 | -1.58795 | 0.13315 | No significativo |
X2 | X2 | -3.41023 | 1.19496 | -2.85385 | 0.01207 | * |
X3 | X3 | 0.16381 | 0.11188 | 1.46421 | 0.16378 | No significativo |
X2 (Promedio acumulado) es la única variable significativa, ya que su p-value (0.012072) es menor que 0.05.
X1 (Créditos matriculados) y X3 (Tiempo de ocio) no son estadísticamente significativos, ya que sus p-values son mayores a 0.05.
Intercepto (24.46): Representa el tiempo estimado de práctica deportiva si X1, X2 y X3 fueran 0 (aunque esto no es realista en la práctica).
X1 (Créditos matriculados: -0.5072): Aunque no es significativo, su coeficiente negativo sugiere que más créditos matriculados tienden a reducir el tiempo dedicado al deporte.
X2 (Promedio acumulado: -3.4102): Es significativo y negativo, lo que sugiere que los estudiantes con un mejor rendimiento académico dedican menos tiempo al deporte. Esto podría deberse a una mayor carga de estudio o una mayor prioridad en el desempeño académico.
X3 (Tiempo de ocio: 0.1638): No es significativo, pero su coeficiente positivo sugiere que quienes tienen más tiempo libre tienden a practicar más deporte.
El modelo en general es significativo, lo que indica que las variables en conjunto explican una parte importante del tiempo dedicado al deporte (R^2 = 0.6472, es decir, el 64.72% de la variabilidad en Y es explicada por X1, X2 y X3).
El promedio académico (X2) es la única variable individualmente significativa, lo que sugiere que el rendimiento académico tiene un impacto importante en la dedicación deportiva.
El número de créditos matriculados (X1) y el tiempo de ocio (X3) no tienen un impacto estadísticamente significativo, aunque sus coeficientes sugieren tendencias lógicas.
# Ajustar un nuevo modelo eliminando variables no significativas
modelo_reducido <- lm(Y ~ X2, data = df)
# Resumen del nuevo modelo
summary(modelo_reducido)
##
## Call:
## lm(formula = Y ~ X2, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.350 -1.216 -0.132 1.099 4.175
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 21.954 4.373 5.020 0.000105 ***
## X2 -4.744 1.122 -4.227 0.000567 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.827 on 17 degrees of freedom
## Multiple R-squared: 0.5125, Adjusted R-squared: 0.4838
## F-statistic: 17.87 on 1 and 17 DF, p-value: 0.0005674
# Cargar librerías necesarias
library(ggplot2)
library(car) # Para la prueba de homocedasticidad
library(lmtest) # Para la prueba de independencia de errores
# Ajustar el modelo final con X2
modelo_final <- lm(Y ~ X2, data = df)
# 1. Evaluar la linealidad con un gráfico de dispersión
ggplot(df, aes(x = X2, y = Y)) +
geom_point() +
geom_smooth(method = "lm", col = "blue") +
labs(title = "Relación entre X2 y Y", x = "Promedio Acumulado (X2)", y = "Tiempo en Deporte (Y)")
# 2. Diagnóstico gráfico de residuos
par(mfrow = c(2,2)) # Dividir la pantalla en 4 gráficos
plot(modelo_final) # Genera gráficos de residuos para evaluar supuestos
# 3. Prueba de independencia de los errores (Durbin-Watson)
dwtest(modelo_final)
##
## Durbin-Watson test
##
## data: modelo_final
## DW = 2.2414, p-value = 0.6887
## alternative hypothesis: true autocorrelation is greater than 0
# 4. Prueba de homocedasticidad (Test de Breusch-Pagan)
bptest(modelo_final)
##
## studentized Breusch-Pagan test
##
## data: modelo_final
## BP = 4.2397, df = 1, p-value = 0.03949
# 5. Prueba de normalidad de residuos (Shapiro-Wilk)
shapiro.test(resid(modelo_final))
##
## Shapiro-Wilk normality test
##
## data: resid(modelo_final)
## W = 0.9701, p-value = 0.7785
Autocorrelación (Durbin-Watson test): El valor DW = 2.2414 con p = 0.6887 indica que no hay autocorrelación significativa en los residuos, lo que es un buen indicio.
Heterocedasticidad (Breusch-Pagan test): El p = 0.03949 sugiere presencia de heterocedasticidad, lo cual puede afectar la eficiencia de los coeficientes estimados.
Normalidad de los residuos (Shapiro-Wilk test): El p = 0.7785 indica que los residuos siguen una distribución normal, lo cual es favorable.