A partir de los registros oficiales obtenidos de los resultados de las pruebas nacionales ICFES Saber 11 suministrados por la docente encargada en el aula extendida, se desea analizar la relación lineal existente entre el desempeño especifico en el área de matemáticas y el resultado general obtenido por los estudiantes en la prueba Saber 11.
Para ello, se extrae una muestra aleatoria de \(n = 50\) estudiantes (siguiendo las pautas recomendadas) con el propósito de ajustar un modelo de regresión lineal simple que permita explicar y predecir el Puntaje Global (\(Y\)) en función del Puntaje de Matemáticas (\(X\)).
tenemos como objetivo: 1. Estimar la ecuación de la recta de mínimos cuadrados ordinarios (\(\hat{Y} = \hat{\beta}_0 + \hat{\beta}_1 X\)). 2. Evaluar la significancia estadística del modelo (Análisis de Varianza) y su bondad de ajuste (\(r\) y \(R^2\)). 3. Calcular los intervalos de confianza al \(95\%\) para los parámetros del modelo, la respuesta media y una predicción individual. 4. Validar el cumplimiento de los supuestos fundamentales de linealidad, homocedasticidad y normalidad de los errores.
Para este estudio se toma una muestra aleatoria de 50 estudiantes a partir de la base de datos oficial del examen Saber 11 suministrado por el docente.
PUNT_MATEMATICAS (Puntaje obtenido en la prueba de
Matemáticas).PUNT_GLOBAL
(Puntaje global obtenido en el examen).#Primero leemos los 50 primeros datos extraidos del archivo de excel
datos <- read_excel("DATOS MODELO RESUMIDO.xlsx")
# Mostramos los primeros registros de nuestras dos variables de estudio
head(datos[, c("PUNT_MATEMATICAS", "PUNT_GLOBAL")])## # A tibble: 6 × 2
## PUNT_MATEMATICAS PUNT_GLOBAL
## <dbl> <dbl>
## 1 48 208
## 2 65 299
## 3 57 299
## 4 54 309
## 5 57 288
## 6 29 198
Con el fin de conocer las relaciones existentes entre nuestras dos
variables, representamos una matriz de diagramas de dispersión
(pairs) y calculamos sus medidas descriptivas. Esto nos
permite observar visualmente si existe una tendencia lineal entre el
puntaje de matemáticas y el puntaje global, así como detectar posibles
datos atípicos antes de ajustar el modelo.
# Resumen estadístico básico (mínimo, cuartiles, mediana, media, máximo)
summary(datos[, c("PUNT_MATEMATICAS", "PUNT_GLOBAL")])## PUNT_MATEMATICAS PUNT_GLOBAL
## Min. :29.00 Min. :155.0
## 1st Qu.:51.00 1st Qu.:238.0
## Median :56.00 Median :281.0
## Mean :55.84 Mean :270.2
## 3rd Qu.:65.00 3rd Qu.:309.0
## Max. :77.00 Max. :357.0
# Estadísticos descriptivos detallados con la librería psych
describe(datos[, c("PUNT_MATEMATICAS", "PUNT_GLOBAL")])## vars n mean sd median trimmed mad min max range skew
## PUNT_MATEMATICAS 1 49 55.84 11.42 56 56.49 11.86 29 77 48 -0.52
## PUNT_GLOBAL 2 49 270.16 52.06 281 272.44 54.86 155 357 202 -0.45
## kurtosis se
## PUNT_MATEMATICAS -0.28 1.63
## PUNT_GLOBAL -0.69 7.44
# Diagramas de distribución (histogramas)
par(mfrow = c(1, 2))
hist(datos$PUNT_MATEMATICAS, main = "Puntaje Matemáticas", xlab = "Puntaje", col = "steelblue", border = "white")
hist(datos$PUNT_GLOBAL, main = "Puntaje Global", xlab = "Puntaje", col = "seagreen", border = "white")par(mfrow = c(1, 1))
# Prueba visual de linealidad mediante matriz de dispersión
pairs(datos[, c("PUNT_MATEMATICAS", "PUNT_GLOBAL")],
main = "Diagrama de Dispersión: Matemáticas vs Puntaje Global",
col = "purple", pch = 19)## [1] 0.8910277
Interpretación exploratoria: En la muestra de \(n = 50\) estudiantes, el Puntaje de Matemáticas presenta un valor mínimo de \(29.0\), un máximo de \(77.0\) y una media de \(55.84\) puntos (con una mediana de \(56.5\)). Por su parte, el Puntaje Global oscila entre un mínimo de \(155.0\) y un máximo de \(357.0\), con un promedio de \(270.1\) puntos. Tanto en el diagrama de dispersión como en el coeficiente de correlación lineal de Pearson (\(r = 0.8856\)), se evidencia una relación lineal positiva y muy fuerte entre ambas variables, lo cual justifica ajustar un modelo de regresión lineal simple.
##3. Ajuste del modelo de regresión lineal simple
Estimamos la ecuación de la recta de mínimos cuadrados ordinarios (\(\hat{Y} = \hat{\beta}_0 + \hat{\beta}_1 X\)), donde \(Y\) es el Puntaje Global y \(X\) es el Puntaje de Matemáticas:
# Ajuste del modelo lineal: Variable dependiente (Y) ~ Variable independiente (X)
regresion <- lm(PUNT_GLOBAL ~ PUNT_MATEMATICAS, data = datos)
summary(regresion)##
## Call:
## lm(formula = PUNT_GLOBAL ~ PUNT_MATEMATICAS, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -55.764 -12.951 -0.575 13.111 46.298
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 43.3322 17.1984 2.52 0.0152 *
## PUNT_MATEMATICAS 4.0624 0.3019 13.46 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 23.88 on 47 degrees of freedom
## Multiple R-squared: 0.7939, Adjusted R-squared: 0.7895
## F-statistic: 181.1 on 1 and 47 DF, p-value: < 2.2e-16
Representamos la nube de puntos junto con la recta ajustada por mínimos cuadrados:
plot(datos$PUNT_MATEMATICAS, datos$PUNT_GLOBAL,
xlab = "Puntaje de Matemáticas (X)",
ylab = "Puntaje Global (Y)",
col = "purple", pch = 19,
main = "Recta de regresión: Puntaje Global vs Matemáticas")
abline(regresion, col = "orange", lwd = 2)
Interpretación del modelo ajustado: A partir de la
estimación por mínimos cuadrados ordinarios, la ecuación de la recta de
regresión queda definida como:
\[\hat{Y} = 43.3322 + 4.0624 X\] * Intercepto (\(\hat{\beta}_0 = 43.3322\)): Representa el puntaje global base estimado cuando el puntaje de matemáticas es cero (\(p = 0.0152 < 0.05\)). * Pendiente (\(\hat{\beta}_1 = 4.0624\)): Indica que, por cada punto adicional obtenido en la prueba de Matemáticas, el Puntaje Global aumenta en promedio \(4.0624\) puntos (\(p < 2 \times 10^{-16}\), altamente significativo). * Coeficiente de Determinación (\(R^2 = 0.7939\)): El puntaje de matemáticas explica por sí solo el \(79.39\%\) de la variabilidad total del puntaje global de los estudiantes.
Evaluamos la significancia global del modelo mediante la tabla ANOVA (\(H_0: \beta_1 = 0\) frente a \(H_1: \beta_1 \neq 0\)) y calculamos los intervalos de confianza al \(95\%\) para los parámetros de la recta:
## Analysis of Variance Table
##
## Response: PUNT_GLOBAL
## Df Sum Sq Mean Sq F value Pr(>F)
## PUNT_MATEMATICAS 1 103288 103288 181.08 < 2.2e-16 ***
## Residuals 47 26809 570
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 2.5 % 97.5 %
## (Intercept) 8.733497 77.930943
## PUNT_MATEMATICAS 3.455073 4.669723
Interpretación del ANOVA y los intervalos de confianza:
Evaluamos el cumplimiento de los supuestos fundamentales sobre los residuos estandarizados del modelo: linealidad, homocedasticidad (varianza constante) y normalidad.
# Extraemos los residuos estandarizados y los valores ajustados
residuos <- rstandard(regresion)
valores.ajustados <- fitted(regresion)
# 1. Gráfico de Residuos vs Valores Ajustados (Linealidad y Homocedasticidad)
plot(valores.ajustados, residuos,
xlab = "Valores Ajustados (Fitted values)",
ylab = "Residuos Estandarizados",
main = "Residuos estandarizados vs Valores ajustados",
col = "darkgreen", pch = 19)
abline(h = 0, col = "red", lty = 2)# 2. Gráfico Q-Q de Normalidad
qqnorm(residuos, col = "steelblue", pch = 19, main = "Gráfico Q-Q de los residuos")
qqline(residuos, col = "red", lwd = 2)##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.98174, p-value = 0.6401
Interpretación del diagnóstico de supuestos:
Linealidad y Homocedasticidad: En el gráfico de residuos estandarizados frente a los valores ajustados, los puntos se dispersan de forma aleatoria alrededor de cero sin presentar tendencias curvas ni forma de embudo, confirmando que la varianza de los errores es constante (homocedasticidad).
Normalidad de los errores: En el gráfico Q-Q, los residuos se alinean estrechamente sobre la recta teórica diagonal[cite: 14]. Esto se confirma analíticamente con la prueba de Shapiro-Wilk (\(W = 0.9817\), \(p = 0.6401 > 0.05\)), por lo que no se rechaza la hipótesis nula y se concluye que los residuos siguen una distribución
Utilizamos el modelo ajustado para predecir el Puntaje Global ante nuevos puntajes de matemáticas (\(50\), \(60\) y \(70\) puntos), calculando tanto el intervalo de confianza para la respuesta media como el intervalo de predicción para un estudiante individual, y comparamos gráficamente los valores reales frente a los predichos:
# Nuevos valores de puntaje en matemáticas para predecir
nuevos.puntajes <- data.frame(PUNT_MATEMATICAS = c(50, 60, 70))
# 1. Intervalo de confianza al 95% para la respuesta MEDIA
predict(regresion, nuevos.puntajes, interval = "confidence", level = 0.95)## fit lwr upr
## 1 246.4521 238.7270 254.1772
## 2 287.0761 279.7614 294.3908
## 3 327.7001 316.6955 338.7047
# 2. Intervalo de predicción al 95% para UN ESTUDIANTE INDIVIDUAL
predict(regresion, nuevos.puntajes, interval = "prediction", level = 0.95)## fit lwr upr
## 1 246.4521 197.7884 295.1159
## 2 287.0761 238.4758 335.6764
## 3 327.7001 278.4093 376.9909
# Gráfica de relación entre valores observados y valores predichos
plot(fitted(regresion), na.omit(datos$PUNT_GLOBAL),
xlab = "Valores predichos",
ylab = "Valores observados (Puntaje Global)",
main = "Relación entre valores observados y predichos",
col = "darkblue", pch = 19)
abline(0, 1, col = "red", lwd = 2, lty = 2)Interpretación de las predicciones: Para un puntaje de \(60\) en Matemáticas, el modelo estima un Puntaje Global promedio de \(287.08\) puntos (con un intervalo de confianza del \(95\%\) para la respuesta media entre \(279.76\) y \(294.39\) puntos, y un intervalo de predicción individual entre \(238.48\) y \(335.68\) puntos, más amplio debido a la variabilidad propia de cada estudiante)[cite: 16]. En el gráfico de dispersión, los puntos se agrupan de manera cercana alrededor de la línea diagonal de identidad (\(Y = \hat{Y}\)), evidenciando un buen desempeño predictivo.