El informe documenta la fase de preparación previa a la imputación múltiple mediante MICE para las bases de Saber 11 correspondientes al régimen nuevo, períodos 20142–20224.
La finalidad de esta etapa no es todavía generar valores imputados. El proceso realizado hasta este punto busca asegurar que:
mice().Estado actual: todavía no se ha ejecutado la imputación MICE.
La entrada del proceso está formada por 14 archivos Parquet, uno por período:
| Período | Registros |
|---|---|
| 20142 | 546.727 |
| 20151 | 25.973 |
| 20152 | 544.491 |
| 20161 | 13.095 |
| 20162 | 550.275 |
| 20171 | 13.018 |
| 20172 | 548.269 |
| 20181 | 32.348 |
| 20191 | 12.561 |
| 20194 | 1.096.524 |
| 20201 | 15.435 |
| 20211 | 15.528 |
| 20221 | 20.049 |
| 20224 | 1.065.888 |
| Total | 4.500.181 |
Cada archivo contiene 83 variables.
Las nueve variables socioeconómicas seleccionadas como objetivo de imputación son:
| # | Variable |
|---|---|
| 1 | fami_estratovivienda |
| 2 | fami_educacionmadre |
| 3 | fami_educacionpadre |
| 4 | fami_tieneinternet |
| 5 | fami_tieneautomovil |
| 6 | fami_cuartoshogar |
| 7 | fami_tienecomputador |
| 8 | fami_personashogar |
| 9 | fami_tienelavadora |
Los archivos homologados se almacenan en:
D:/Proyectos_IA/prueba_saber_11/data/processed/saber11_homologado_por_periodo
La carpeta reservada para la futura salida imputada es:
D:/Proyectos_IA/prueba_saber_11/data/processed/saber11_imputado_por_periodo
Cargar las librerías necesarias para lectura y escritura Parquet, manipulación de datos, iteración por períodos, tratamiento de texto y exportación de auditorías.
arrowdplyrtibblepurrrstringrreadrEl entorno de trabajo quedó preparado para procesar archivos grandes de forma secuencial y conservar auditorías en CSV.
Se fijó:
set.seed(5477976)
MICE contiene procedimientos estocásticos. Una semilla fija permitirá que, cuando se ejecute la imputación, los resultados puedan reproducirse bajo la misma configuración.
La reproducibilidad quedó definida antes de cualquier procedimiento aleatorio.
Se definieron cuatro rutas principales:
Se separó correctamente la información original, la homologada, la futura información imputada y las evidencias de auditoría.
Entrada existe: TRUE
Salida homologación existe: TRUE
Salida imputación existe: TRUE
Auditorías existe: TRUE
Todas las rutas requeridas estaban disponibles. El proceso podía continuar sin riesgo de escribir resultados en ubicaciones inexistentes.
La infraestructura física del proceso quedó validada.
Se declararon explícitamente los 14 períodos esperados y las 9 variables objetivo.
Definirlos de forma explícita impide incorporar accidentalmente períodos no contemplados o dejar por fuera alguna de las variables socioeconómicas seleccionadas.
El universo temporal y el conjunto de variables objetivo quedaron fijados antes de transformar los datos.
Se establecieron categorías comunes para:
Se conservaron expresamente respuestas especiales como:
Sin Estrato;no sabe;no aplica.No se eliminaron ni convirtieron arbitrariamente estas respuestas en
NA. Se preservó su significado original.
Archivos encontrados: 14
Períodos esperados: 14
Períodos faltantes: 0
Períodos inesperados: 0
La serie temporal estaba completa: no faltaba ningún período y no se incorporaron archivos ajenos al diseño.
Se confirmó una correspondencia exacta entre los 14 períodos planificados y los 14 archivos disponibles.
Los 14 archivos presentaron:
Total de registros: 4500181
Total certificado esperado: 4500181
Coincidencia total: TRUE
Antes de modificar los datos se comprobó la integridad estructural del conjunto completo.
La entrada quedó certificada en 4.500.181 registros, sin pérdidas estructurales detectadas.
Filas de auditoría generadas: 856
Se construyó un inventario de las combinaciones período–variable–categoría existentes antes de homologar.
Permite comparar el estado original con el estado posterior y demostrar qué categorías fueron transformadas.
Se obtuvo una línea base completa de las categorías originales.
La función centralizó las reglas temporales de homologación.
fami_cuartoshogarSe consolidaron:
Seis
Siete
Ocho
Nueve
Diez o más
Seis o mas
en:
Seis o mas
fami_personashogarSe consolidaron las categorías históricas en:
1 a 2
3 a 4
5 a 6
7 a 8
9 o más
La cláusula final conservó cualquier valor no reconocido en lugar de
transformarlo silenciosamente en NA.
La homologación temporal se diseñó de forma conservadora: recodifica únicamente las equivalencias conocidas.
En el primer intento, la consola mostró:
archivo_creado = FALSE
para los 14 períodos, aunque los archivos sí existían físicamente.
La causa era una validación de ruta realizada después de convertir la ruta completa en nombre base.
Se separó:
ruta_archivo_salida
de:
basename(ruta_archivo_salida)
y la existencia física se verificó utilizando la ruta absoluta.
Los 14 períodos mostraron:
filas_conservadas = TRUE
archivo_creado = TRUE
y cada archivo conservó exactamente su número de registros original.
La homologación fue completada sin pérdida de filas y los 14 Parquet homologados quedaron guardados correctamente.
Filas de auditoría generadas: 801
Períodos auditados: 14
Variables auditadas: 9
Uno
Dos
Tres
Cuatro
Cinco
Seis o mas
NA
1 a 2
3 a 4
5 a 6
7 a 8
9 o más
NA
si
no
NA
Estrato 1 ... Estrato 6
Sin Estrato
NA
Se preservaron los niveles educativos y las categorías especiales
no sabe y no aplica.
La reducción de 856 a 801 combinaciones refleja la consolidación de categorías equivalentes. La homologación produjo dominios más consistentes entre períodos.
Categorías fuera del diccionario: 0
RESULTADO: todas las categorías observadas pertenecen al diccionario homologado.
No quedó ninguna categoría no reconocida entre las nueve variables.
La homologación categórica quedó validada antes de estudiar los valores faltantes.
La auditoría evaluó:
14 períodos × 9 variables = 126 combinaciones
| Variable | NA | % NA |
|---|---|---|
fami_estratovivienda |
179.066 | 3,98 |
fami_tieneinternet |
162.321 | 3,61 |
fami_educacionpadre |
159.014 | 3,53 |
fami_educacionmadre |
158.922 | 3,53 |
fami_tieneautomovil |
105.853 | 2,35 |
fami_cuartoshogar |
100.445 | 2,23 |
fami_tienecomputador |
100.057 | 2,22 |
fami_personashogar |
99.292 | 2,21 |
fami_tienelavadora |
99.172 | 2,20 |
El período 20201 presentó aproximadamente 9–10 % de faltantes en las nueve variables, notablemente por encima del promedio global.
La proporción global de ausencia es moderada, pero no es homogénea en el tiempo.
La imputación múltiple es metodológicamente plausible, pero era necesario estudiar si los NA se concentraban simultáneamente en los mismos registros.
Se identificaron:
331 patrones distintos de ausencia
entre las nueve variables.
Se encontraron registros con las 9 variables simultáneamente faltantes en 12 períodos.
| Período | Casos 9/9 | % del período |
|---|---|---|
| 20142 | 1.903 | 0,348 |
| 20152 | 136 | 0,025 |
| 20162 | 2.461 | 0,447 |
| 20171 | 110 | 0,845 |
| 20172 | 4.035 | 0,736 |
| 20181 | 483 | 1,49 |
| 20191 | 127 | 1,01 |
| 20194 | 16.116 | 1,47 |
| 20201 | 1.104 | 7,15 |
| 20211 | 297 | 1,91 |
| 20221 | 330 | 1,65 |
| 20224 | 24.608 | 2,31 |
No hubo casos 9/9 en 20151 ni 20161.
El período proporcionalmente más crítico fue 20201 (7,15 %).
En términos absolutos destacan:
No era adecuado construir MICE utilizando únicamente las nueve variables familiares entre sí, porque en una fila 9/9 ninguna de esas variables aporta información observada.
Era necesario incorporar predictores auxiliares.
Se analizaron nueve predictores candidatos:
estu_genero;cole_naturaleza;cole_area_ubicacion;cole_calendario;cole_genero;cole_jornada;cole_sede_principal;cole_cod_depto_ubicacion;cole_cod_mcpio_ubicacion.En la gran mayoría de los registros con 9/9 faltantes, los predictores auxiliares estaban disponibles.
Ejemplos:
La información auxiliar es suficientemente rica para apoyar una estrategia MICE en los casos donde todas las variables familiares están ausentes.
Número de casos excepcionales: 468
Se identificaron cinco patrones:
| Período | Auxiliares observados | Principal ausencia | Casos |
|---|---|---|---|
| 20142 | 8/9 | estu_genero |
458 |
| 20142 | 8/9 | cole_area_ubicacion |
5 |
| 20152 | 8/9 | estu_genero |
2 |
| 20201 | 8/9 | estu_genero |
1 |
| 20224 | 1/9 | faltan 8 auxiliares | 2 |
Aunque se detectaron 468 casos excepcionales:
El problema real se redujo a dos registros extremos de 20224.
Identificadores críticos: 1
Registros encontrados: 2
Variables disponibles: 83
Duplicados exactos encontrados: 0
Los dos registros pertenecen al mismo:
estu_consecutivo = SB11202240550499
Las únicas variables diferentes fueron:
| Variable | Valores distintos |
|---|---|
:id |
2 |
:version |
2 |
:created_at |
2 |
:updated_at |
2 |
Las 83 variables analíticas relevantes coinciden.
Ambos registros presentan además:
NA;NA.No son duplicados físicos exactos debido a los metadatos técnicos, pero sí son duplicados analíticos.
La posible duplicación debe resolverse en la fase de control de calidad del dataset y no mediante la imputación. No se eliminó ningún registro en esta etapa.
La clasificación final fue:
| Variable | Tratamiento |
|---|---|
fami_estratovivienda |
nominal |
fami_educacionmadre |
nominal |
fami_educacionpadre |
nominal |
fami_tieneinternet |
binaria |
fami_tieneautomovil |
binaria |
fami_cuartoshogar |
ordinal |
fami_tienecomputador |
binaria |
fami_personashogar |
ordinal |
fami_tienelavadora |
binaria |
Aunque contienen información ordinal, también incluyen categorías especiales:
Sin Estrato
no sabe
no aplica
No es metodológicamente válido imponer relaciones como:
Estrato 6 < Sin Estrato
o:
postgrado < no sabe < no aplica
Por ello se preservaron como categorías válidas sin introducir un orden artificial.
Nominales: fami_estratovivienda, fami_educacionmadre, fami_educacionpadre
Binarias: fami_tieneinternet, fami_tieneautomovil, fami_tienecomputador, fami_tienelavadora
Ordinales: fami_cuartoshogar, fami_personashogar
La estructura estadística quedó preparada para asignar métodos MICE compatibles con cada variable.
La configuración definida fue:
| Variable | Método MICE | Justificación |
|---|---|---|
fami_estratovivienda |
polyreg |
nominal multicategórica |
fami_educacionmadre |
polyreg |
nominal multicategórica |
fami_educacionpadre |
polyreg |
nominal multicategórica |
fami_tieneinternet |
logreg |
binaria |
fami_tieneautomovil |
logreg |
binaria |
fami_cuartoshogar |
polr |
ordinal |
fami_tienecomputador |
logreg |
binaria |
fami_personashogar |
polr |
ordinal |
fami_tienelavadora |
logreg |
binaria |
Las nueve auxiliares quedaron con:
""
""?Significa que, en la configuración preliminar, la variable puede utilizarse como predictor, pero no se pretende imputarla como variable objetivo.
Se definió una estrategia de imputación acorde con la naturaleza de las nueve variables familiares.
Se construyó una matriz de 18 × 18:
9 variables objetivo + 9 auxiliares
La lógica fue:
Variables totales: 18
Variables objetivo: 9
Variables auxiliares no imputadas: 9
Diagonal diferente de cero: 0
La matriz es estructuralmente correcta.
Sin embargo, todavía es una matriz candidata, no la matriz científica definitiva. Debe revisarse la cardinalidad y conveniencia de cada predictor antes de ejecutar MICE.
El diseño de relaciones predictivas quedó correctamente construido, pero aún requiere selección final de predictores.
Se auditaron:
14 períodos × 9 auxiliares = 126 combinaciones
| Predictor auxiliar | Observados | Faltantes | % faltantes |
|---|---|---|---|
estu_genero |
4.496.952 | 3.229 | 0,0718 |
cole_area_ubicacion |
4.500.174 | 7 | 0,0002 |
cole_calendario |
4.500.179 | 2 | ~0 |
cole_cod_depto_ubicacion |
4.500.179 | 2 | ~0 |
cole_cod_mcpio_ubicacion |
4.500.179 | 2 | ~0 |
cole_genero |
4.500.179 | 2 | ~0 |
cole_jornada |
4.500.179 | 2 | ~0 |
cole_naturaleza |
4.500.179 | 2 | ~0 |
cole_sede_principal |
4.500.179 | 2 | ~0 |
Combinaciones período-variable: 126
Períodos auditados: 14
Predictores auxiliares auditados: 9
La disponibilidad de predictores auxiliares es muy alta. No existe evidencia para descartar ninguna variable únicamente por falta de información.
La columna:
periodos_con_faltantes
del resumen global muestra 1 para
estu_genero, aunque el detalle evidencia faltantes en
varios períodos.
Esto se debe a que dentro de summarise() se reutilizó el
nombre faltantes antes de calcular
periodos_con_faltantes.
Este problema:
Debe corregirse en una versión posterior del reporte o script.
Hasta esta fase se produjeron:
01_auditoria_entrada.csv
02_categorias_antes_homologacion.csv
03_auditoria_homologacion.csv
04_categorias_despues_homologacion.csv
05_categorias_revisar.csv
06_faltantes_despues_homologacion.csv
07_resumen_faltantes_por_variable.csv
08_patrones_faltantes.csv
09_cantidad_faltantes_por_registro.csv
10_casos_nueve_variables_faltantes.csv
11_auxiliares_casos_9na.csv
12_resumen_auxiliares_casos_9na.csv
13_detalle_auxiliares_incompletos_9na.csv
14_resumen_auxiliares_incompletos_9na.csv
15_casos_criticos_20224.csv
16_diferencias_casos_criticos_20224.csv
17_faltantes_auxiliares_por_periodo.csv
18_resumen_faltantes_auxiliares.csv
Estos archivos constituyen la evidencia de trazabilidad previa a MICE.
El proceso ha permitido establecer lo siguiente:
polyreg,
logreg y polr.mice() ni se ha
modificado ningún NA mediante imputación.La fase de preparación indica que el dataset es técnicamente apto para avanzar hacia una estrategia de imputación múltiple, pero la ejecución de MICE no debe iniciarse todavía de forma masiva.
El principal riesgo ya no es la falta de información auxiliar. La
siguiente decisión debe centrarse en la calidad y complejidad de
los predictores, especialmente por la cardinalidad de variables
territoriales como cole_cod_mcpio_ubicacion.
Incorporar automáticamente un código municipal con cientos o más
niveles en modelos polyreg, logreg o
polr puede aumentar significativamente la matriz de diseño
y generar problemas de memoria, separación o singularidad.
Por ello, la secuencia metodológica recomendada es:
Preparación y homologación
Auditoría de categorías
Auditoría de faltantes
Patrones conjuntos
Evaluación de casos 9/9
Auditoría de auxiliares
Tipos estadísticos
Métodos preliminares MICE
Matriz preliminar
Disponibilidad de auxiliares
↓
Auditar cardinalidad de los predictores
↓
Construir matriz MICE definitiva
↓
Realizar prueba piloto en un período pequeño
↓
Validar el piloto
↓
Ejecutar MICE período por período
↓
Validar las imputaciones
Hasta este punto, el archivo debe entenderse como:
05_PREPARACION_IMPUTACION_MICE.R
y no como un archivo de imputación definitiva.
La imputación real debe quedar separada en una fase posterior, por ejemplo:
06_IMPUTACION_MICE.R
seguida de:
07_VALIDACION_IMPUTACION_MICE.R
Esta separación mejora la reproducibilidad, la auditabilidad y la trazabilidad científica del proyecto.