En este documento analizamos datos relacionados con estudiantes para ajustar un modelo de predicción del puntaje global con base en diversas variables. Se explican los pasos de preprocesamiento, análisis y evaluación del modelo.
library(MASS)
library(ISLR)
library(corrplot)
library(ggplot2)
library(lmtest)
library(readxl)
Aquí estamos cargando varias librerías en R:
MASS: Proporciona funciones para modelado estadístico,
particularmente útiles para análisis de regresión.ISLR: Contiene datos y funciones útiles para aprender
sobre métodos estadísticos.corrplot: Para visualizar matrices de correlación de
manera gráfica.ggplot2: Librería popular para crear gráficos.lmtest: Proporciona herramientas para hacer pruebas de
diagnóstico en modelos lineales.readxl: Permite leer archivos Excel.datos <- read_excel("multiple.xlsx")
summary(datos)
## ESTU_GENERO PERIODO ESTU_TIENEETNIA ESTU_DEPTO_RESIDE
## Length:222 Min. :20194 Length:222 Length:222
## Class :character 1st Qu.:20194 Class :character Class :character
## Mode :character Median :20194 Mode :character Mode :character
## Mean :20194
## 3rd Qu.:20194
## Max. :20194
## ESTU_COD_RESIDE_DEPTO FAMI_ESTRATOVIVIENDA COLE_NATURALEZA
## Min. : 5.00 Length:222 Length:222
## 1st Qu.:11.00 Class :character Class :character
## Median :20.00 Mode :character Mode :character
## Mean :30.68
## 3rd Qu.:49.25
## Max. :95.00
## COLE_CALENDARIO PUNT_LECTURA_CRITICA PERCENTIL_LECTURA_CRITICA
## Length:222 Min. :28.00 Min. : 1.00
## Class :character 1st Qu.:43.00 1st Qu.: 22.00
## Mode :character Median :51.00 Median : 44.00
## Mean :50.43 Mean : 45.38
## 3rd Qu.:58.00 3rd Qu.: 69.00
## Max. :80.00 Max. :100.00
## DESEMP_LECTURA_CRITICA PUNT_MATEMATICAS PERCENTIL_MATEMATICAS
## Min. :1.000 Min. :20.00 Min. : 1.00
## 1st Qu.:2.000 1st Qu.:40.00 1st Qu.:19.25
## Median :3.000 Median :47.00 Median :39.00
## Mean :2.491 Mean :47.44 Mean :42.61
## 3rd Qu.:3.000 3rd Qu.:55.00 3rd Qu.:65.00
## Max. :4.000 Max. :77.00 Max. :99.00
## DESEMP_MATEMATICAS PUNT_C_NATURALES PERCENTIL_C_NATURALES DESEMP_C_NATURALES
## Min. :1.000 Min. :24.00 Min. : 1.00 Min. :1.000
## 1st Qu.:2.000 1st Qu.:37.00 1st Qu.:16.25 1st Qu.:1.000
## Median :2.000 Median :44.00 Median :36.00 Median :2.000
## Mean :2.261 Mean :44.51 Mean :40.19 Mean :1.779
## 3rd Qu.:3.000 3rd Qu.:51.00 3rd Qu.:61.75 3rd Qu.:2.000
## Max. :4.000 Max. :72.00 Max. :99.00 Max. :4.000
## PUNT_SOCIALES_CIUDADANAS PERCENTIL_SOCIALES_CIUDADANAS
## Min. :23.00 Min. : 1.00
## 1st Qu.:36.00 1st Qu.: 23.00
## Median :42.50 Median : 42.00
## Mean :44.03 Mean : 44.98
## 3rd Qu.:51.00 3rd Qu.: 66.50
## Max. :75.00 Max. :100.00
## DESEMP_SOCIALES_CIUDADANAS PUNT_INGLES PERCENTIL_INGLES DESEMP_INGLES
## Min. :1.000 Min. :23.00 Min. : 1.00 Length:222
## 1st Qu.:1.000 1st Qu.:38.00 1st Qu.:21.00 Class :character
## Median :2.000 Median :44.00 Median :39.00 Mode :character
## Mean :1.743 Mean :44.48 Mean :41.08
## 3rd Qu.:2.000 3rd Qu.:51.75 3rd Qu.:60.50
## Max. :4.000 Max. :77.00 Max. :98.00
## PUNT_GLOBAL PERCENTIL_GLOBAL
## Min. :133.0 Min. : 1.00
## 1st Qu.:197.0 1st Qu.:19.00
## Median :226.5 Median :38.00
## Mean :232.2 Mean :42.14
## 3rd Qu.:263.8 3rd Qu.:64.00
## Max. :365.0 Max. :99.00
str(datos)
## tibble [222 × 25] (S3: tbl_df/tbl/data.frame)
## $ ESTU_GENERO : chr [1:222] "F" "F" "F" "F" ...
## $ PERIODO : num [1:222] 20194 20194 20194 20194 20194 ...
## $ ESTU_TIENEETNIA : chr [1:222] "No" "No" "No" "No" ...
## $ ESTU_DEPTO_RESIDE : chr [1:222] "CUNDINAMARCA" "ANTIOQUIA" "VALLE" "SANTANDER" ...
## $ ESTU_COD_RESIDE_DEPTO : num [1:222] 25 5 76 68 76 54 19 20 11 19 ...
## $ FAMI_ESTRATOVIVIENDA : chr [1:222] "Estrato 2" "Estrato 1" "Estrato 1" "Estrato 1" ...
## $ COLE_NATURALEZA : chr [1:222] "NO OFICIAL" "OFICIAL" "OFICIAL" "OFICIAL" ...
## $ COLE_CALENDARIO : chr [1:222] "A" "A" "A" "A" ...
## $ PUNT_LECTURA_CRITICA : num [1:222] 64 61 47 36 54 43 38 56 64 43 ...
## $ PERCENTIL_LECTURA_CRITICA : num [1:222] 86 78 32 6 56 22 10 62 86 20 ...
## $ DESEMP_LECTURA_CRITICA : num [1:222] 3 3 2 2 3 2 2 3 3 2 ...
## $ PUNT_MATEMATICAS : num [1:222] 63 61 30 33 53 51 26 55 40 59 ...
## $ PERCENTIL_MATEMATICAS : num [1:222] 84 79 4 8 56 50 2 64 21 75 ...
## $ DESEMP_MATEMATICAS : num [1:222] 3 3 1 1 3 3 1 3 2 3 ...
## $ PUNT_C_NATURALES : num [1:222] 61 59 42 28 49 44 31 51 47 35 ...
## $ PERCENTIL_C_NATURALES : num [1:222] 87 84 30 2 54 36 5 60 46 12 ...
## $ DESEMP_C_NATURALES : num [1:222] 3 3 2 1 2 2 1 2 2 1 ...
## $ PUNT_SOCIALES_CIUDADANAS : num [1:222] 63 55 37 31 44 37 24 39 52 34 ...
## $ PERCENTIL_SOCIALES_CIUDADANAS: num [1:222] 91 76 26 10 47 25 2 32 68 17 ...
## $ DESEMP_SOCIALES_CIUDADANAS : num [1:222] 3 2 1 1 2 1 1 1 2 1 ...
## $ PUNT_INGLES : num [1:222] 67 42 38 36 41 53 29 53 50 46 ...
## $ PERCENTIL_INGLES : num [1:222] 92 34 21 16 32 65 4 64 56 46 ...
## $ DESEMP_INGLES : chr [1:222] "A2" "A-" "A-" "A-" ...
## $ PUNT_GLOBAL : num [1:222] 315 288 195 162 247 222 148 252 253 215 ...
## $ PERCENTIL_GLOBAL : num [1:222] 90 78 17 4 52 35 1 56 57 30 ...
read_excel("multiple.xlsx"): Carga los datos desde un
archivo Excel llamado “datos.xlsx”.summary(datos): Muestra un resumen estadístico de las
variables (mínimo, máximo, media, etc.).str(datos): Muestra la estructura del conjunto de
datos, es decir, los nombres de las columnas y el tipo de cada una
(numérico, factor, etc.).datos_filtrados <- datos[, c("ESTU_GENERO", "ESTU_TIENEETNIA", "ESTU_DEPTO_RESIDE",
"FAMI_ESTRATOVIVIENDA", "COLE_NATURALEZA", "COLE_CALENDARIO",
"PUNT_LECTURA_CRITICA", "PUNT_MATEMATICAS",
"PUNT_C_NATURALES", "PUNT_SOCIALES_CIUDADANAS",
"PUNT_INGLES", "PUNT_GLOBAL")]
Seleccionamos un subconjunto de las columnas que consideramos relevantes para el análisis, como las variables del puntaje de las distintas áreas y algunas características del estudiante y la escuela.
datos_filtrados$ESTU_GENERO <- as.factor(datos_filtrados$ESTU_GENERO)
datos_filtrados$ESTU_TIENEETNIA <- as.factor(datos_filtrados$ESTU_TIENEETNIA)
datos_filtrados$ESTU_DEPTO_RESIDE <- as.factor(datos_filtrados$ESTU_DEPTO_RESIDE)
datos_filtrados$FAMI_ESTRATOVIVIENDA <- as.factor(datos_filtrados$FAMI_ESTRATOVIVIENDA)
datos_filtrados$COLE_NATURALEZA <- as.factor(datos_filtrados$COLE_NATURALEZA)
datos_filtrados$COLE_CALENDARIO <- as.factor(datos_filtrados$COLE_CALENDARIO)
Convertimos las variables categóricas a factores, ya que R maneja de forma distinta las variables numéricas y categóricas en los modelos de regresión.
datos_filtrados <- datos_filtrados[, sapply(datos_filtrados, function(x) {
!(is.factor(x) && nlevels(x) < 2)
})]
Este paso elimina las columnas que contienen factores con un solo nivel, es decir, variables que no aportan variabilidad al análisis.
numericas <- subset(datos_filtrados, select = c(PUNT_LECTURA_CRITICA,
PUNT_MATEMATICAS,
PUNT_C_NATURALES,
PUNT_SOCIALES_CIUDADANAS,
PUNT_INGLES,
PUNT_GLOBAL))
corrplot(round(cor(numericas), digits = 3), type = "lower", method = "circle")
La gráfica es una matriz de correlación que muestra las relaciones lineales entre los puntajes de distintas áreas evaluadas (PUNT_LECTURA_CRITICA, PUNT_MATEMATICAS, etc.) y el puntaje global (PUNT_GLOBAL). Los círculos más grandes y de color azul oscuro indican una correlación positiva fuerte, como la observada entre PUNT_GLOBAL y PUNT_MATEMATICAS, o PUNT_LECTURA_CRITICA, mientras que círculos más pequeños representan relaciones más débiles, como la de PUNT_INGLES con las demás variables. No hay correlaciones negativas en la matriz, lo que sugiere que todas las áreas contribuyen de manera positiva al puntaje global, siendo Matemáticas y Lectura Crítica las más influyentes. Esta información es útil para identificar las variables más relevantes al construir un modelo predictivo.
modelo_inicial <- lm(PUNT_GLOBAL ~ ., data = datos_filtrados)
summary(modelo_inicial)
##
## Call:
## lm(formula = PUNT_GLOBAL ~ ., data = datos_filtrados)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.5561 -0.2341 -0.0186 0.2110 0.6147
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.155696 0.161171 -0.966 0.3353
## ESTU_GENEROM 0.074271 0.067315 1.103 0.2713
## ESTU_TIENEETNIASi 0.075609 0.076401 0.990 0.3237
## ESTU_DEPTO_RESIDEARAUCA -0.326127 0.332455 -0.981 0.3279
## ESTU_DEPTO_RESIDEATLANTICO 0.089794 0.104772 0.857 0.3925
## ESTU_DEPTO_RESIDEBOGOTÃ\u0081 -0.070794 0.083082 -0.852 0.3953
## ESTU_DEPTO_RESIDEBOLIVAR -0.011635 0.099165 -0.117 0.9067
## ESTU_DEPTO_RESIDEBOYACA 0.343521 0.190602 1.802 0.0731 .
## ESTU_DEPTO_RESIDECALDAS -0.114645 0.226894 -0.505 0.6140
## ESTU_DEPTO_RESIDECASANARE -0.024195 0.172821 -0.140 0.8888
## ESTU_DEPTO_RESIDECAUCA -0.073870 0.170574 -0.433 0.6655
## ESTU_DEPTO_RESIDECESAR 0.107275 0.111757 0.960 0.3384
## ESTU_DEPTO_RESIDECHOCO 0.009389 0.121640 0.077 0.9386
## ESTU_DEPTO_RESIDECORDOBA 0.081800 0.109585 0.746 0.4563
## ESTU_DEPTO_RESIDECUNDINAMARCA 0.095432 0.111980 0.852 0.3952
## ESTU_DEPTO_RESIDEGUAVIARE 0.220016 0.321861 0.684 0.4951
## ESTU_DEPTO_RESIDEHUILA -0.063936 0.192448 -0.332 0.7401
## ESTU_DEPTO_RESIDELA GUAJIRA 0.054437 0.142361 0.382 0.7026
## ESTU_DEPTO_RESIDEMAGDALENA -0.031560 0.115132 -0.274 0.7843
## ESTU_DEPTO_RESIDEMETA 0.047209 0.169628 0.278 0.7811
## ESTU_DEPTO_RESIDENARIÑO 0.153465 0.332211 0.462 0.6447
## ESTU_DEPTO_RESIDENORTE SANTANDER 0.199520 0.141380 1.411 0.1599
## ESTU_DEPTO_RESIDERISARALDA -0.231199 0.227190 -1.018 0.3102
## ESTU_DEPTO_RESIDESANTANDER 0.148721 0.107202 1.387 0.1670
## ESTU_DEPTO_RESIDESUCRE 0.064703 0.119942 0.539 0.5902
## ESTU_DEPTO_RESIDETOLIMA 0.035905 0.142201 0.252 0.8009
## ESTU_DEPTO_RESIDEVALLE 0.072152 0.114605 0.630 0.5298
## FAMI_ESTRATOVIVIENDAEstrato 2 -0.117655 0.053685 -2.192 0.0297 *
## FAMI_ESTRATOVIVIENDAEstrato 3 -0.015393 0.068571 -0.224 0.8226
## FAMI_ESTRATOVIVIENDAEstrato 4 -0.056243 0.143834 -0.391 0.6962
## FAMI_ESTRATOVIVIENDAEstrato 5 -0.382985 0.351356 -1.090 0.2771
## FAMI_ESTRATOVIVIENDASin Estrato 0.009762 0.092985 0.105 0.9165
## COLE_NATURALEZAOFICIAL 0.029159 0.071511 0.408 0.6839
## PUNT_LECTURA_CRITICA 1.153770 0.004302 268.211 <2e-16 ***
## PUNT_MATEMATICAS 1.153054 0.003266 353.066 <2e-16 ***
## PUNT_C_NATURALES 1.154746 0.003667 314.867 <2e-16 ***
## PUNT_SOCIALES_CIUDADANAS 1.157678 0.003725 310.793 <2e-16 ***
## PUNT_INGLES 0.382887 0.003440 111.294 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3083 on 184 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 1.39e+05 on 37 and 184 DF, p-value: < 2.2e-16
lm(PUNT_GLOBAL ~ ., data = datos_filtrados): Ajusta un
modelo de regresión lineal para predecir el puntaje global
(PUNT_GLOBAL) a partir de todas las demás variables en
datos_filtrados.summary(modelo_inicial): Muestra un resumen del modelo
ajustado, incluyendo los coeficientes, el valor de R² y la significancia
de las variables.modelo_stepwise <- step(modelo_inicial, direction = "both", trace = 1)
## Start: AIC=-488.11
## PUNT_GLOBAL ~ ESTU_GENERO + ESTU_TIENEETNIA + ESTU_DEPTO_RESIDE +
## FAMI_ESTRATOVIVIENDA + COLE_NATURALEZA + PUNT_LECTURA_CRITICA +
## PUNT_MATEMATICAS + PUNT_C_NATURALES + PUNT_SOCIALES_CIUDADANAS +
## PUNT_INGLES
##
## Df Sum of Sq RSS AIC
## - ESTU_DEPTO_RESIDE 24 1.7 19.2 -515.93
## - FAMI_ESTRATOVIVIENDA 5 0.6 18.1 -490.25
## - COLE_NATURALEZA 1 0.0 17.5 -489.91
## - ESTU_TIENEETNIA 1 0.1 17.6 -488.93
## - ESTU_GENERO 1 0.1 17.6 -488.64
## <none> 17.5 -488.11
## - PUNT_INGLES 1 1177.4 1194.9 447.66
## - PUNT_LECTURA_CRITICA 1 6838.1 6855.6 835.49
## - PUNT_SOCIALES_CIUDADANAS 1 9181.8 9199.3 900.77
## - PUNT_C_NATURALES 1 9424.1 9441.6 906.54
## - PUNT_MATEMATICAS 1 11849.4 11866.9 957.30
##
## Step: AIC=-515.93
## PUNT_GLOBAL ~ ESTU_GENERO + ESTU_TIENEETNIA + FAMI_ESTRATOVIVIENDA +
## COLE_NATURALEZA + PUNT_LECTURA_CRITICA + PUNT_MATEMATICAS +
## PUNT_C_NATURALES + PUNT_SOCIALES_CIUDADANAS + PUNT_INGLES
##
## Df Sum of Sq RSS AIC
## - COLE_NATURALEZA 1 0.0 19.2 -517.89
## - ESTU_TIENEETNIA 1 0.1 19.3 -516.78
## - ESTU_GENERO 1 0.1 19.3 -516.76
## <none> 19.2 -515.93
## - FAMI_ESTRATOVIVIENDA 5 0.9 20.1 -515.55
## + ESTU_DEPTO_RESIDE 24 1.7 17.5 -488.11
## - PUNT_INGLES 1 1404.3 1423.4 438.51
## - PUNT_LECTURA_CRITICA 1 7980.6 7999.8 821.76
## - PUNT_C_NATURALES 1 10093.1 10112.3 873.78
## - PUNT_SOCIALES_CIUDADANAS 1 10831.2 10850.4 889.42
## - PUNT_MATEMATICAS 1 13019.2 13038.4 930.20
##
## Step: AIC=-517.89
## PUNT_GLOBAL ~ ESTU_GENERO + ESTU_TIENEETNIA + FAMI_ESTRATOVIVIENDA +
## PUNT_LECTURA_CRITICA + PUNT_MATEMATICAS + PUNT_C_NATURALES +
## PUNT_SOCIALES_CIUDADANAS + PUNT_INGLES
##
## Df Sum of Sq RSS AIC
## - ESTU_GENERO 1 0.1 19.3 -518.75
## - ESTU_TIENEETNIA 1 0.1 19.3 -518.69
## <none> 19.2 -517.89
## - FAMI_ESTRATOVIVIENDA 5 0.9 20.1 -517.44
## + COLE_NATURALEZA 1 0.0 19.2 -515.93
## + ESTU_DEPTO_RESIDE 24 1.7 17.5 -489.91
## - PUNT_INGLES 1 1404.5 1423.6 436.54
## - PUNT_LECTURA_CRITICA 1 7980.7 7999.8 819.76
## - PUNT_C_NATURALES 1 10115.2 10134.4 872.26
## - PUNT_SOCIALES_CIUDADANAS 1 10976.7 10995.8 890.38
## - PUNT_MATEMATICAS 1 13140.3 13159.5 930.25
##
## Step: AIC=-518.75
## PUNT_GLOBAL ~ ESTU_TIENEETNIA + FAMI_ESTRATOVIVIENDA + PUNT_LECTURA_CRITICA +
## PUNT_MATEMATICAS + PUNT_C_NATURALES + PUNT_SOCIALES_CIUDADANAS +
## PUNT_INGLES
##
## Df Sum of Sq RSS AIC
## - ESTU_TIENEETNIA 1 0.1 19.4 -519.40
## <none> 19.3 -518.75
## - FAMI_ESTRATOVIVIENDA 5 0.9 20.1 -518.73
## + ESTU_GENERO 1 0.1 19.2 -517.89
## + COLE_NATURALEZA 1 0.0 19.3 -516.76
## + ESTU_DEPTO_RESIDE 24 1.6 17.6 -490.52
## - PUNT_INGLES 1 1404.6 1423.8 434.57
## - PUNT_LECTURA_CRITICA 1 7991.5 8010.8 818.06
## - PUNT_C_NATURALES 1 10163.3 10182.5 871.32
## - PUNT_SOCIALES_CIUDADANAS 1 11027.0 11046.3 889.39
## - PUNT_MATEMATICAS 1 13908.5 13927.8 940.85
##
## Step: AIC=-519.4
## PUNT_GLOBAL ~ FAMI_ESTRATOVIVIENDA + PUNT_LECTURA_CRITICA + PUNT_MATEMATICAS +
## PUNT_C_NATURALES + PUNT_SOCIALES_CIUDADANAS + PUNT_INGLES
##
## Df Sum of Sq RSS AIC
## - FAMI_ESTRATOVIVIENDA 5 0.8 20.2 -519.92
## <none> 19.4 -519.40
## + ESTU_TIENEETNIA 1 0.1 19.3 -518.75
## + ESTU_GENERO 1 0.1 19.3 -518.69
## + COLE_NATURALEZA 1 0.0 19.4 -517.46
## + ESTU_DEPTO_RESIDE 24 1.7 17.7 -491.30
## - PUNT_INGLES 1 1406.5 1425.9 432.89
## - PUNT_LECTURA_CRITICA 1 8064.5 8083.8 818.08
## - PUNT_C_NATURALES 1 10166.8 10186.2 869.40
## - PUNT_SOCIALES_CIUDADANAS 1 11136.7 11156.1 889.59
## - PUNT_MATEMATICAS 1 13944.0 13963.4 939.42
##
## Step: AIC=-519.92
## PUNT_GLOBAL ~ PUNT_LECTURA_CRITICA + PUNT_MATEMATICAS + PUNT_C_NATURALES +
## PUNT_SOCIALES_CIUDADANAS + PUNT_INGLES
##
## Df Sum of Sq RSS AIC
## <none> 20.2 -519.92
## + FAMI_ESTRATOVIVIENDA 5 0.8 19.4 -519.40
## + ESTU_GENERO 1 0.1 20.1 -518.74
## + ESTU_TIENEETNIA 1 0.1 20.1 -518.73
## + COLE_NATURALEZA 1 0.0 20.2 -518.04
## + ESTU_DEPTO_RESIDE 24 1.9 18.4 -493.37
## - PUNT_INGLES 1 1450.8 1471.0 429.81
## - PUNT_LECTURA_CRITICA 1 8140.0 8160.3 810.17
## - PUNT_C_NATURALES 1 10216.7 10237.0 860.50
## - PUNT_SOCIALES_CIUDADANAS 1 11387.7 11407.9 884.54
## - PUNT_MATEMATICAS 1 14143.1 14163.4 932.57
summary(modelo_stepwise)
##
## Call:
## lm(formula = PUNT_GLOBAL ~ PUNT_LECTURA_CRITICA + PUNT_MATEMATICAS +
## PUNT_C_NATURALES + PUNT_SOCIALES_CIUDADANAS + PUNT_INGLES,
## data = datos_filtrados)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.47105 -0.27548 -0.01985 0.24741 0.54909
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.063620 0.114773 -0.554 0.58
## PUNT_LECTURA_CRITICA 1.151635 0.003905 294.890 <2e-16 ***
## PUNT_MATEMATICAS 1.154050 0.002969 388.705 <2e-16 ***
## PUNT_C_NATURALES 1.154687 0.003495 330.372 <2e-16 ***
## PUNT_SOCIALES_CIUDADANAS 1.157980 0.003320 348.790 <2e-16 ***
## PUNT_INGLES 0.382678 0.003074 124.495 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.306 on 216 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 1.045e+06 on 5 and 216 DF, p-value: < 2.2e-16
step(modelo_inicial, direction = "both"): Aplica un
proceso de selección hacia adelante y hacia atrás para incluir solo las
variables más significativas en el modelo.summary(modelo_stepwise): Muestra el resumen del modelo
final, con las variables seleccionadas.7.Intervalos de confianza del modelo
confint(modelo_stepwise)
## 2.5 % 97.5 %
## (Intercept) -0.2898390 0.1625996
## PUNT_LECTURA_CRITICA 1.1439373 1.1593320
## PUNT_MATEMATICAS 1.1481980 1.1599017
## PUNT_C_NATURALES 1.1477981 1.1615759
## PUNT_SOCIALES_CIUDADANAS 1.1514363 1.1645238
## PUNT_INGLES 0.3766195 0.3887367
Calcula los intervalos de confianza de los coeficientes del modelo final, lo que nos ayuda a entender la precisión de las estimaciones.
ggplot(datos_filtrados, aes(x = PUNT_MATEMATICAS, y = PUNT_GLOBAL)) +
geom_point(color = "blue") +
labs(title = "Diagrama de Dispersión: PUNT_MATEMATICAS vs PUNT_GLOBAL",
x = "PUNT_MATEMATICAS", y = "PUNT_GLOBAL") +
theme_minimal()
La gráfica muestra la relación entre el puntaje en matemáticas (PUNT_MATEMATICAS) y el puntaje global (PUNT_GLOBAL). Cada punto representa un estudiante, y su ubicación indica el puntaje en ambas variables. Se observa una tendencia positiva: a medida que aumenta el puntaje en matemáticas, también lo hace el puntaje global. Esto sugiere una relación lineal directa entre ambas variables, lo que indica que el desempeño en matemáticas tiene un impacto significativo en el puntaje global. La dispersión relativamente baja alrededor de esta tendencia refuerza la fuerza de la correlación.
qqnorm(modelo_stepwise$residuals)
qqline(modelo_stepwise$residuals, col = "blue")
La gráfica evalúa si los datos de una muestra siguen una distribución normal, comparando los cuantiles de los datos observados (Sample Quantiles) con los cuantiles teóricos de una distribución normal (Theoretical Quantiles). Aunque los puntos están alineados con la línea azul central en la región media, en los extremos se observan desviaciones significativas: los puntos de las colas izquierda y derecha se alejan de la línea, indicando que los datos no siguen completamente una distribución normal, posiblemente debido a colas más gruesas o valores atípicos. Esto sugiere que los datos tienen una distribución que difiere de la normalidad, especialmente en los valores extremos.
shapiro.test(modelo_stepwise$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo_stepwise$residuals
## W = 0.94062, p-value = 7.349e-08
La prueba de Shapiro-Wilk evalúa si los residuos del modelo siguen una distribución normal. Si la prueba indica que los residuos no son normales, podría ser necesario ajustar el modelo.
En este análisis, se exploraron diversas variables relacionadas con los estudiantes con el objetivo de construir un modelo predictivo para el puntaje global. A través del preprocesamiento de los datos, se seleccionaron y transformaron las variables relevantes, convirtiendo aquellas categóricas en factores y eliminando aquellas sin variabilidad significativa. El análisis de correlación reveló relaciones positivas entre el puntaje global y áreas como matemáticas y lectura crítica, lo que sugiere que estas son las variables más influyentes en la predicción del puntaje global. Al ajustar un modelo de regresión lineal, se observó que las variables de puntaje en áreas específicas (como lectura crítica, matemáticas, ciencias naturales y sociales) tienen una fuerte relación con el puntaje global, con coeficientes altamente significativos. El modelo alcanzó un R-cuadrado ajustado cercano a 1, indicando un ajuste excelente, lo que demuestra la capacidad de las variables seleccionadas para predecir eficazmente el puntaje global de los estudiantes.