library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.1 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Cargar el dataset (ajusta el nombre del archivo)
datos <- read_csv("data/saber11.csv")
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Rows: 546212 Columns: 25
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (8): ESTU_GENERO, ESTU_TIENEETNIA, ESTU_DEPTO_RESIDE, ESTU_COD_RESIDE_D...
## dbl (17): PERIODO, PUNT_LECTURA_CRITICA, PERCENTIL_LECTURA_CRITICA, DESEMP_L...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Ver primeras filas
head(datos)
## # A tibble: 6 × 25
## ESTU_GENERO PERIODO ESTU_TIENEETNIA ESTU_DEPTO_RESIDE ESTU_COD_RESIDE_DEPTO
## <chr> <dbl> <chr> <chr> <chr>
## 1 M 20194 No "MAGDALENA" 47
## 2 M 20194 No "BOGOTÃ\u0081" 11
## 3 M 20194 No "BOLIVAR" 13
## 4 M 20194 Si "BOGOTÃ\u0081" 11
## 5 M 20194 No "BOGOTÃ\u0081" 11
## 6 M 20194 No "ATLANTICO" 8
## # ℹ 20 more variables: FAMI_ESTRATOVIVIENDA <chr>, COLE_NATURALEZA <chr>,
## # COLE_CALENDARIO <chr>, PUNT_LECTURA_CRITICA <dbl>,
## # PERCENTIL_LECTURA_CRITICA <dbl>, DESEMP_LECTURA_CRITICA <dbl>,
## # PUNT_MATEMATICAS <dbl>, PERCENTIL_MATEMATICAS <dbl>,
## # DESEMP_MATEMATICAS <dbl>, PUNT_C_NATURALES <dbl>,
## # PERCENTIL_C_NATURALES <dbl>, DESEMP_C_NATURALES <dbl>,
## # PUNT_SOCIALES_CIUDADANAS <dbl>, PERCENTIL_SOCIALES_CIUDADANAS <dbl>, …
# Estructura de las columnas
glimpse(datos)
## Rows: 546,212
## Columns: 25
## $ ESTU_GENERO <chr> "M", "M", "M", "M", "M", "M", "M", "M", …
## $ PERIODO <dbl> 20194, 20194, 20194, 20194, 20194, 20194…
## $ ESTU_TIENEETNIA <chr> "No", "No", "No", "Si", "No", "No", "Si"…
## $ ESTU_DEPTO_RESIDE <chr> "MAGDALENA", "BOGOTÃ\u0081", "BOLIVAR", …
## $ ESTU_COD_RESIDE_DEPTO <chr> "47", "11", "13", "11", "11", "8", "76",…
## $ FAMI_ESTRATOVIVIENDA <chr> "Estrato 3", "Estrato 3", "Estrato 1", "…
## $ COLE_NATURALEZA <chr> "OFICIAL", "NO OFICIAL", "OFICIAL", "OFI…
## $ COLE_CALENDARIO <chr> "A", "A", "A", "A", "A", "A", "A", "A", …
## $ PUNT_LECTURA_CRITICA <dbl> 47, 60, 66, 62, 63, 49, 76, 57, 62, 68, …
## $ PERCENTIL_LECTURA_CRITICA <dbl> 33, 76, 91, 81, 85, 37, 100, 67, 83, 94,…
## $ DESEMP_LECTURA_CRITICA <dbl> 2, 3, 4, 3, 3, 2, 4, 3, 3, 4, 2, 2, 3, 3…
## $ PUNT_MATEMATICAS <dbl> 48, 65, 57, 54, 57, 29, 70, 65, 62, 66, …
## $ PERCENTIL_MATEMATICAS <dbl> 42, 88, 70, 60, 70, 4, 96, 88, 82, 91, 1…
## $ DESEMP_MATEMATICAS <dbl> 2, 3, 3, 3, 3, 1, 3, 3, 3, 3, 2, 1, 3, 3…
## $ PUNT_C_NATURALES <dbl> 37, 54, 41, 61, 55, 41, 70, 63, 66, 63, …
## $ PERCENTIL_C_NATURALES <dbl> 15, 71, 29, 87, 74, 26, 98, 90, 95, 91, …
## $ DESEMP_C_NATURALES <dbl> 1, 2, 2, 3, 2, 2, 3, 3, 3, 3, 1, 2, 3, 2…
## $ PUNT_SOCIALES_CIUDADANAS <dbl> 30, 59, 74, 73, 57, 41, 68, 66, 39, 77, …
## $ PERCENTIL_SOCIALES_CIUDADANAS <dbl> 8, 83, 99, 99, 79, 39, 96, 95, 33, 100, …
## $ DESEMP_SOCIALES_CIUDADANAS <dbl> 1, 3, 4, 4, 3, 2, 3, 3, 1, 4, 1, 1, 3, 2…
## $ PUNT_INGLES <dbl> 54, 63, 64, 53, 52, 35, 72, 60, 63, 51, …
## $ PERCENTIL_INGLES <dbl> 67, 88, 89, 67, 63, 14, 96, 83, 88, 61, …
## $ DESEMP_INGLES <chr> "A1", "A2", "A2", "A1", "A1", "A-", "B1"…
## $ PUNT_GLOBAL <dbl> 208, 299, 299, 309, 288, 198, 355, 313, …
## $ PERCENTIL_GLOBAL <dbl> 25, 83, 84, 88, 78, 19, 99, 89, 78, 95, …
# Seleccionar variables necesarias
datos2 <- datos %>%
select(
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
)
# Convertir variables categóricas en factor
datos2 <- datos2 %>%
mutate(
ESTU_GENERO = as.factor(ESTU_GENERO),
ESTU_TIENEETNIA = as.factor(ESTU_TIENEETNIA),
ESTU_DEPTO_RESIDE = as.factor(ESTU_DEPTO_RESIDE),
FAMI_ESTRATOVIVIENDA = as.factor(FAMI_ESTRATOVIVIENDA),
COLE_NATURALEZA = as.factor(COLE_NATURALEZA),
COLE_CALENDARIO = as.factor(COLE_CALENDARIO)
)
# Ver estructura final
glimpse(datos2)
## Rows: 546,212
## Columns: 12
## $ ESTU_GENERO <fct> M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, …
## $ ESTU_TIENEETNIA <fct> No, No, No, Si, No, No, Si, No, No, No, No, N…
## $ ESTU_DEPTO_RESIDE <fct> MAGDALENA, BOGOTÃ, BOLIVAR, BOGOTÃ, BOGOTÃ…
## $ FAMI_ESTRATOVIVIENDA <fct> Estrato 3, Estrato 3, Estrato 1, Estrato 3, E…
## $ COLE_NATURALEZA <fct> OFICIAL, NO OFICIAL, OFICIAL, OFICIAL, OFICIA…
## $ COLE_CALENDARIO <fct> A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, …
## $ PUNT_LECTURA_CRITICA <dbl> 47, 60, 66, 62, 63, 49, 76, 57, 62, 68, 42, 3…
## $ PUNT_MATEMATICAS <dbl> 48, 65, 57, 54, 57, 29, 70, 65, 62, 66, 40, 3…
## $ PUNT_C_NATURALES <dbl> 37, 54, 41, 61, 55, 41, 70, 63, 66, 63, 28, 4…
## $ PUNT_SOCIALES_CIUDADANAS <dbl> 30, 59, 74, 73, 57, 41, 68, 66, 39, 77, 39, 2…
## $ PUNT_INGLES <dbl> 54, 63, 64, 53, 52, 35, 72, 60, 63, 51, 38, 2…
## $ PUNT_GLOBAL <dbl> 208, 299, 299, 309, 288, 198, 355, 313, 288, …
colSums(is.na(datos2))
## ESTU_GENERO ESTU_TIENEETNIA ESTU_DEPTO_RESIDE
## 0 0 377
## FAMI_ESTRATOVIVIENDA COLE_NATURALEZA COLE_CALENDARIO
## 26 0 0
## PUNT_LECTURA_CRITICA PUNT_MATEMATICAS PUNT_C_NATURALES
## 0 0 0
## PUNT_SOCIALES_CIUDADANAS PUNT_INGLES PUNT_GLOBAL
## 0 19 0
datos2 <- na.omit(datos2)
nrow(datos2)
## [1] 545816
# Modelo de regresión múltiple
modelo <- lm(
PUNT_GLOBAL ~
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,
data = datos2
)
summary(modelo)
##
## Call:
## lm(formula = PUNT_GLOBAL ~ 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, data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.47461 -0.23210 0.00011 0.23238 0.50090
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.789e-02 2.842e-02 -1.685 0.0920 .
## ESTU_GENEROF 3.626e-02 2.650e-02 1.369 0.1712
## ESTU_GENEROM 3.599e-02 2.650e-02 1.358 0.1744
## ESTU_TIENEETNIASi -2.315e-03 1.691e-03 -1.369 0.1709
## ESTU_DEPTO_RESIDEANTIOQUIA 1.428e-02 1.010e-02 1.413 0.1575
## ESTU_DEPTO_RESIDEARAUCA 1.214e-02 1.121e-02 1.083 0.2786
## ESTU_DEPTO_RESIDEATLANTICO 1.580e-02 1.017e-02 1.553 0.1203
## ESTU_DEPTO_RESIDEBOGOTÃ\u0081 1.589e-02 1.011e-02 1.572 0.1159
## ESTU_DEPTO_RESIDEBOLIVAR 1.352e-02 1.020e-02 1.326 0.1849
## ESTU_DEPTO_RESIDEBOYACA 1.852e-02 1.030e-02 1.799 0.0721 .
## ESTU_DEPTO_RESIDECALDAS 1.494e-02 1.043e-02 1.432 0.1522
## ESTU_DEPTO_RESIDECAQUETA 1.206e-02 1.090e-02 1.106 0.2686
## ESTU_DEPTO_RESIDECASANARE 1.572e-02 1.071e-02 1.467 0.1424
## ESTU_DEPTO_RESIDECAUCA 1.291e-02 1.032e-02 1.252 0.2106
## ESTU_DEPTO_RESIDECESAR 1.186e-02 1.035e-02 1.146 0.2517
## ESTU_DEPTO_RESIDECHOCO 1.170e-02 1.085e-02 1.078 0.2809
## ESTU_DEPTO_RESIDECORDOBA 1.322e-02 1.024e-02 1.291 0.1966
## ESTU_DEPTO_RESIDECUNDINAMARCA 1.644e-02 1.017e-02 1.617 0.1059
## ESTU_DEPTO_RESIDEEXTRANJERO 2.208e-03 2.683e-02 0.082 0.9344
## ESTU_DEPTO_RESIDEGUAINIA 1.385e-02 2.024e-02 0.684 0.4938
## ESTU_DEPTO_RESIDEGUAVIARE 2.217e-02 1.350e-02 1.642 0.1005
## ESTU_DEPTO_RESIDEHUILA 1.920e-02 1.034e-02 1.857 0.0633 .
## ESTU_DEPTO_RESIDELA GUAJIRA 1.601e-02 1.048e-02 1.528 0.1265
## ESTU_DEPTO_RESIDEMAGDALENA 1.322e-02 1.029e-02 1.286 0.1986
## ESTU_DEPTO_RESIDEMETA 1.564e-02 1.037e-02 1.507 0.1318
## ESTU_DEPTO_RESIDENARIÑO 1.601e-02 1.027e-02 1.558 0.1191
## ESTU_DEPTO_RESIDENORTE SANTANDER 1.404e-02 1.031e-02 1.362 0.1733
## ESTU_DEPTO_RESIDEPUTUMAYO 1.484e-02 1.101e-02 1.348 0.1775
## ESTU_DEPTO_RESIDEQUINDIO 1.718e-02 1.067e-02 1.609 0.1076
## ESTU_DEPTO_RESIDERISARALDA 1.483e-02 1.043e-02 1.423 0.1548
## ESTU_DEPTO_RESIDESAN ANDRES 9.202e-03 1.526e-02 0.603 0.5465
## ESTU_DEPTO_RESIDESANTANDER 1.851e-02 1.021e-02 1.812 0.0699 .
## ESTU_DEPTO_RESIDESUCRE 1.724e-02 1.040e-02 1.657 0.0974 .
## ESTU_DEPTO_RESIDETOLIMA 1.550e-02 1.029e-02 1.506 0.1321
## ESTU_DEPTO_RESIDEVALLE 1.568e-02 1.015e-02 1.545 0.1224
## ESTU_DEPTO_RESIDEVAUPES -1.655e-02 1.832e-02 -0.903 0.3663
## ESTU_DEPTO_RESIDEVICHADA 3.195e-04 1.632e-02 0.020 0.9844
## FAMI_ESTRATOVIVIENDAEstrato 1 -1.142e-03 1.729e-03 -0.660 0.5091
## FAMI_ESTRATOVIVIENDAEstrato 2 1.797e-04 1.715e-03 0.105 0.9166
## FAMI_ESTRATOVIVIENDAEstrato 3 -2.550e-04 1.831e-03 -0.139 0.8892
## FAMI_ESTRATOVIVIENDAEstrato 4 3.422e-04 2.438e-03 0.140 0.8884
## FAMI_ESTRATOVIVIENDAEstrato 5 -3.264e-03 3.614e-03 -0.903 0.3664
## FAMI_ESTRATOVIVIENDAEstrato 6 6.143e-03 4.994e-03 1.230 0.2187
## FAMI_ESTRATOVIVIENDASin Estrato -2.280e-03 2.722e-03 -0.838 0.4023
## COLE_NATURALEZAOFICIAL 5.067e-04 1.018e-03 0.498 0.6188
## COLE_CALENDARIOB -3.827e-03 8.661e-03 -0.442 0.6586
## COLE_CALENDARIOOTRO 1.135e-03 5.212e-03 0.218 0.8277
## PUNT_LECTURA_CRITICA 1.154e+00 6.866e-05 16807.059 <2e-16 ***
## PUNT_MATEMATICAS 1.154e+00 6.003e-05 19222.021 <2e-16 ***
## PUNT_C_NATURALES 1.154e+00 7.202e-05 16019.809 <2e-16 ***
## PUNT_SOCIALES_CIUDADANAS 1.154e+00 6.097e-05 18925.465 <2e-16 ***
## PUNT_INGLES 3.846e-01 5.107e-05 7530.840 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2878 on 545764 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 3.412e+08 on 51 and 545764 DF, p-value: < 2.2e-16
summary(modelo) # Ver R², R² ajustado y significancia
##
## Call:
## lm(formula = PUNT_GLOBAL ~ 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, data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.47461 -0.23210 0.00011 0.23238 0.50090
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.789e-02 2.842e-02 -1.685 0.0920 .
## ESTU_GENEROF 3.626e-02 2.650e-02 1.369 0.1712
## ESTU_GENEROM 3.599e-02 2.650e-02 1.358 0.1744
## ESTU_TIENEETNIASi -2.315e-03 1.691e-03 -1.369 0.1709
## ESTU_DEPTO_RESIDEANTIOQUIA 1.428e-02 1.010e-02 1.413 0.1575
## ESTU_DEPTO_RESIDEARAUCA 1.214e-02 1.121e-02 1.083 0.2786
## ESTU_DEPTO_RESIDEATLANTICO 1.580e-02 1.017e-02 1.553 0.1203
## ESTU_DEPTO_RESIDEBOGOTÃ\u0081 1.589e-02 1.011e-02 1.572 0.1159
## ESTU_DEPTO_RESIDEBOLIVAR 1.352e-02 1.020e-02 1.326 0.1849
## ESTU_DEPTO_RESIDEBOYACA 1.852e-02 1.030e-02 1.799 0.0721 .
## ESTU_DEPTO_RESIDECALDAS 1.494e-02 1.043e-02 1.432 0.1522
## ESTU_DEPTO_RESIDECAQUETA 1.206e-02 1.090e-02 1.106 0.2686
## ESTU_DEPTO_RESIDECASANARE 1.572e-02 1.071e-02 1.467 0.1424
## ESTU_DEPTO_RESIDECAUCA 1.291e-02 1.032e-02 1.252 0.2106
## ESTU_DEPTO_RESIDECESAR 1.186e-02 1.035e-02 1.146 0.2517
## ESTU_DEPTO_RESIDECHOCO 1.170e-02 1.085e-02 1.078 0.2809
## ESTU_DEPTO_RESIDECORDOBA 1.322e-02 1.024e-02 1.291 0.1966
## ESTU_DEPTO_RESIDECUNDINAMARCA 1.644e-02 1.017e-02 1.617 0.1059
## ESTU_DEPTO_RESIDEEXTRANJERO 2.208e-03 2.683e-02 0.082 0.9344
## ESTU_DEPTO_RESIDEGUAINIA 1.385e-02 2.024e-02 0.684 0.4938
## ESTU_DEPTO_RESIDEGUAVIARE 2.217e-02 1.350e-02 1.642 0.1005
## ESTU_DEPTO_RESIDEHUILA 1.920e-02 1.034e-02 1.857 0.0633 .
## ESTU_DEPTO_RESIDELA GUAJIRA 1.601e-02 1.048e-02 1.528 0.1265
## ESTU_DEPTO_RESIDEMAGDALENA 1.322e-02 1.029e-02 1.286 0.1986
## ESTU_DEPTO_RESIDEMETA 1.564e-02 1.037e-02 1.507 0.1318
## ESTU_DEPTO_RESIDENARIÑO 1.601e-02 1.027e-02 1.558 0.1191
## ESTU_DEPTO_RESIDENORTE SANTANDER 1.404e-02 1.031e-02 1.362 0.1733
## ESTU_DEPTO_RESIDEPUTUMAYO 1.484e-02 1.101e-02 1.348 0.1775
## ESTU_DEPTO_RESIDEQUINDIO 1.718e-02 1.067e-02 1.609 0.1076
## ESTU_DEPTO_RESIDERISARALDA 1.483e-02 1.043e-02 1.423 0.1548
## ESTU_DEPTO_RESIDESAN ANDRES 9.202e-03 1.526e-02 0.603 0.5465
## ESTU_DEPTO_RESIDESANTANDER 1.851e-02 1.021e-02 1.812 0.0699 .
## ESTU_DEPTO_RESIDESUCRE 1.724e-02 1.040e-02 1.657 0.0974 .
## ESTU_DEPTO_RESIDETOLIMA 1.550e-02 1.029e-02 1.506 0.1321
## ESTU_DEPTO_RESIDEVALLE 1.568e-02 1.015e-02 1.545 0.1224
## ESTU_DEPTO_RESIDEVAUPES -1.655e-02 1.832e-02 -0.903 0.3663
## ESTU_DEPTO_RESIDEVICHADA 3.195e-04 1.632e-02 0.020 0.9844
## FAMI_ESTRATOVIVIENDAEstrato 1 -1.142e-03 1.729e-03 -0.660 0.5091
## FAMI_ESTRATOVIVIENDAEstrato 2 1.797e-04 1.715e-03 0.105 0.9166
## FAMI_ESTRATOVIVIENDAEstrato 3 -2.550e-04 1.831e-03 -0.139 0.8892
## FAMI_ESTRATOVIVIENDAEstrato 4 3.422e-04 2.438e-03 0.140 0.8884
## FAMI_ESTRATOVIVIENDAEstrato 5 -3.264e-03 3.614e-03 -0.903 0.3664
## FAMI_ESTRATOVIVIENDAEstrato 6 6.143e-03 4.994e-03 1.230 0.2187
## FAMI_ESTRATOVIVIENDASin Estrato -2.280e-03 2.722e-03 -0.838 0.4023
## COLE_NATURALEZAOFICIAL 5.067e-04 1.018e-03 0.498 0.6188
## COLE_CALENDARIOB -3.827e-03 8.661e-03 -0.442 0.6586
## COLE_CALENDARIOOTRO 1.135e-03 5.212e-03 0.218 0.8277
## PUNT_LECTURA_CRITICA 1.154e+00 6.866e-05 16807.059 <2e-16 ***
## PUNT_MATEMATICAS 1.154e+00 6.003e-05 19222.021 <2e-16 ***
## PUNT_C_NATURALES 1.154e+00 7.202e-05 16019.809 <2e-16 ***
## PUNT_SOCIALES_CIUDADANAS 1.154e+00 6.097e-05 18925.465 <2e-16 ***
## PUNT_INGLES 3.846e-01 5.107e-05 7530.840 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2878 on 545764 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 3.412e+08 on 51 and 545764 DF, p-value: < 2.2e-16
anova(modelo) # Tabla ANOVA
## Analysis of Variance Table
##
## Response: PUNT_GLOBAL
## Df Sum Sq Mean Sq F value Pr(>F)
## ESTU_GENERO 2 10299697 5149849 6.2185e+07 < 2.2e-16 ***
## ESTU_TIENEETNIA 1 38191268 38191268 4.6117e+08 < 2.2e-16 ***
## ESTU_DEPTO_RESIDE 33 78167018 2368698 2.8602e+07 < 2.2e-16 ***
## FAMI_ESTRATOVIVIENDA 7 66329980 9475711 1.1442e+08 < 2.2e-16 ***
## COLE_NATURALEZA 1 12045943 12045943 1.4546e+08 < 2.2e-16 ***
## COLE_CALENDARIO 2 5793190 2896595 3.4977e+07 < 2.2e-16 ***
## PUNT_LECTURA_CRITICA 1 970852112 970852112 1.1723e+10 < 2.2e-16 ***
## PUNT_MATEMATICAS 1 163350217 163350217 1.9725e+09 < 2.2e-16 ***
## PUNT_C_NATURALES 1 57465677 57465677 6.9391e+08 < 2.2e-16 ***
## PUNT_SOCIALES_CIUDADANAS 1 33950016 33950016 4.0995e+08 < 2.2e-16 ***
## PUNT_INGLES 1 4696707 4696707 5.6714e+07 < 2.2e-16 ***
## Residuals 545764 45197 0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
El modelo de regresión múltiple construido para predecir el Puntaje
Global (PUNT_GLOBAL) presenta un ajuste extremadamente
alto. Tanto el R² como el R² ajustado son prácticamente iguales a 1, lo
cual indica que el modelo explica casi el 100% de la variabilidad del
puntaje global.
Aunque este resultado sugiere una capacidad predictiva muy elevada,
también puede ser indicio de multicolinealidad extrema
o relaciones lineales perfectas entre variables, especialmente porque
los puntajes por áreas (lectura, matemáticas,
naturales, sociales e inglés)
están altamente correlacionados con el puntaje global.
El estadístico F del modelo (3.41e+08,
p < 2.2e-16) indica que, en conjunto, todas las
variables predictoras aportan información significativa para explicar el
puntaje global.
Al analizar los coeficientes del modelo, se observa lo siguiente:
Variables como:
GéneroEtniaDepartamento de residenciaEstrato socioeconómicoNaturaleza del colegioCalendario escolarpresentan coeficientes muy pequeños y no son
estadísticamente significativas (p > 0.05 en la
mayoría de los casos).
Esto indica que su aporte directo al puntaje global es mínimo cuando en el modelo ya están incluidos los puntajes por áreas. Es decir, estas variables no explican variación adicional una vez que ya se han considerado los puntajes específicos.
Las variables:
PUNT_LECTURA_CRITICAPUNT_MATEMATICASPUNT_C_NATURALESPUNT_SOCIALES_CIUDADANASPUNT_INGLESson altamente significativas
(p < 2e-16) y presentan coeficientes alrededor de 1.154,
excepto inglés, que presenta un coeficiente de 0.3846.
Esto significa:
Estos resultados son lógicos porque el puntaje global es una combinación lineal de los puntajes individuales, y por eso estas variables tienen el mayor peso en la predicción.
La tabla ANOVA confirma que las variables con mayor contribución al modelo son:
PUNT_LECTURA_CRITICAPUNT_MATEMATICASPUNT_C_NATURALESPUNT_SOCIALES_CIUDADANASPUNT_INGLESCada una de estas variables presenta un valor F
extremadamente alto (entre 5.67×10⁷ y
1.17×10¹⁰), lo que indica que aportan una cantidad
enorme de variabilidad explicada al modelo.
Por otro lado, las variables sociodemográficas sí contribuyen, pero en una proporción muy pequeña comparada con los puntajes por áreas.
p < 2.2e-16).# pega aquí el código anterior
# Histograma de residuos
hist(residuals(modelo),
main = "Histograma de residuos",
xlab = "Residuos",
col = "lightblue")
# Q-Q plot
qqnorm(residuals(modelo))
qqline(residuals(modelo), col = "red")
# Gráfico de residuos vs valores ajustados
plot(fitted(modelo), residuals(modelo),
xlab = "Valores ajustados",
ylab = "Residuos",
main = "Residuos vs valores ajustados")
abline(h = 0, col = "red")
# Multicolinealidad
library(car)
## Cargando paquete requerido: carData
##
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
## The following object is masked from 'package:purrr':
##
## some
vif(modelo)
## GVIF Df GVIF^(1/(2*Df))
## ESTU_GENERO 1.050281 2 1.012340
## ESTU_TIENEETNIA 1.271679 1 1.127688
## ESTU_DEPTO_RESIDE 1.650540 33 1.007621
## FAMI_ESTRATOVIVIENDA 1.415928 7 1.025153
## COLE_NATURALEZA 1.240646 1 1.113843
## COLE_CALENDARIO 1.060890 2 1.014887
## PUNT_LECTURA_CRITICA 3.449775 1 1.857357
## PUNT_MATEMATICAS 3.418095 1 1.848809
## PUNT_C_NATURALES 3.960267 1 1.990042
## PUNT_SOCIALES_CIUDADANAS 3.610970 1 1.900255
## PUNT_INGLES 2.711197 1 1.646571
# Durbin-Watson test
library(lmtest)
## Cargando paquete requerido: zoo
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
dwtest(modelo)
##
## Durbin-Watson test
##
## data: modelo
## DW = 1.9998, p-value = 0.4745
## alternative hypothesis: true autocorrelation is greater than 0
GVIF^(1/(2*Df)) < 2, incluso las variables
altamente correlacionadas como los puntajes académicos.| Supuesto | Evaluación | Comentario |
|---|---|---|
| Normalidad | Histograma y Q-Q plot | Aproximadamente normal. Desviaciones leves en extremos, aceptable. |
| Linealidad | Residuos vs valores ajustados | No hay patrón sistemático. Cumple. |
| Homocedasticidad | Residuos vs valores ajustados | Varianza constante aparente. Cumple. |
| Independencia | Durbin-Watson | DW ~ 2, residuos independientes. Cumple. |
| Multicolinealidad | VIF | Valores < 2, no preocupante. |
# Selección del mejor modelo usando stepwise (AIC)
modelo_step <- step(modelo, direction = "both", trace = FALSE)
# Resumen del modelo final
summary(modelo_step)
##
## Call:
## lm(formula = PUNT_GLOBAL ~ ESTU_TIENEETNIA + PUNT_LECTURA_CRITICA +
## PUNT_MATEMATICAS + PUNT_C_NATURALES + PUNT_SOCIALES_CIUDADANAS +
## PUNT_INGLES, data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.46735 -0.23141 0.00014 0.23169 0.46933
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.210e-03 2.098e-03 1.053 0.292
## ESTU_TIENEETNIASi -3.665e-03 1.521e-03 -2.410 0.016 *
## PUNT_LECTURA_CRITICA 1.154e+00 6.832e-05 16889.507 <2e-16 ***
## PUNT_MATEMATICAS 1.154e+00 5.888e-05 19597.791 <2e-16 ***
## PUNT_C_NATURALES 1.154e+00 7.137e-05 16163.752 <2e-16 ***
## PUNT_SOCIALES_CIUDADANAS 1.154e+00 6.075e-05 18993.922 <2e-16 ***
## PUNT_INGLES 3.846e-01 4.891e-05 7864.846 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2878 on 545809 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 2.9e+09 on 6 and 545809 DF, p-value: < 2.2e-16
# Comparar AIC del modelo completo vs final
AIC(modelo, modelo_step)
## df AIC
## modelo 53 189302.3
## modelo_step 8 189247.7
Interpretación:
El modelo final (modelo_step) elimina las variables
que no aportan significativamente a la predicción del
Puntaje Global.
Generalmente, las variables sociodemográficas y del
colegio que no eran significativas (p > 0.05)
quedan fuera del modelo.
Las variables académicas
(PUNT_LECTURA_CRITICA, PUNT_MATEMATICAS,
PUNT_C_NATURALES, PUNT_SOCIALES_CIUDADANAS,
PUNT_INGLES) permanecen, ya que son las que realmente
explican la variación del puntaje global.
Comparando métricas:
Esta interpretación permite identificar cuáles variables son realmente útiles para predecir el Puntaje Global y cuáles aportan información redundante.
Conclusiones Finales: