Script 02_auditoria_datos.R

1. Objetivo de la auditoría

El propósito de 02_auditoria_datos.R es evaluar la estructura, calidad, consistencia, cobertura temporal y viabilidad longitudinal de la base histórica consolidada de Saber 11 antes de realizar cualquier proceso de limpieza, imputación, homologación o modelado.

El principio metodológico central es:

La auditoría identifica problemas y genera evidencia para tomar decisiones posteriores; no modifica la información original.

Por tanto, en este script es correcto crear objetos temporales de diagnóstico —por ejemplo, representaciones numéricas de puntajes— siempre que no se sobrescriban las variables originales ni se guarde una base “corregida”.


2. Carga de datos y estructura general

La base consolidada contiene:

  • 7.109.704 registros
  • 55 variables

Todas las variables fueron cargadas como tipo character.

Esto incluye:

  • identificadores técnicos de Socrata;
  • periodo;
  • identificadores del estudiante;
  • identificadores del establecimiento;
  • características institucionales;
  • variables familiares;
  • puntajes;
  • niveles de desempeño.

Desde el punto de vista de auditoría, trabajar inicialmente con las variables como texto es útil porque permite observar la representación original antes de realizar coerciones de tipo.

Interpretación

La base tiene una escala suficientemente grande como para requerir una estrategia de procesamiento reproducible y eficiente. El formato Parquet es apropiado para esta dimensión.

Sin embargo, el hecho de que los puntajes sean inicialmente character obliga a auditar:

  • formatos decimales;
  • separadores de coma y punto;
  • valores especiales;
  • representaciones no numéricas;
  • pérdidas potenciales durante la conversión.

3. Identificador técnico de Socrata

Se auditaron las variables técnicas:

  • :id
  • :version
  • :created_at
  • :updated_at

Para :id se obtuvo:

  • registros: 7.109.704
  • identificadores diferentes: 7.109.704
  • faltantes: 0
  • duplicados: 0

Interpretación correcta

Esto demuestra que el identificador técnico :id es único a nivel de fila.

No demuestra que no existan duplicados semánticos.

Esta distinción es importante porque posteriormente aparecen registros con el mismo estu_consecutivo pero distintos :id. Por ejemplo, en los siete casos con decimal mediante coma se observa que:

SB11201120553138

aparece repetido varias veces con identificadores técnicos Socrata distintos.

Por consiguiente:

La unicidad de :id garantiza unicidad técnica de las filas, pero no garantiza unicidad lógica de estudiante, presentación, colegio o evento de evaluación.

Una auditoría adicional de duplicación semántica debe utilizar claves sustantivas, no :id.


4. Auditoría general de valores faltantes

Las mayores proporciones de faltantes corresponden a:

Variable Faltantes %
punt_sociales_ciudadanas 2.609.523 36,7
punt_c_naturales 2.609.523 36,7
punt_lectura_critica 2.609.523 36,7
punt_global 2.609.523 36,7
cole_bilingue 916.870 12,9
fami_estratovivienda 218.219 3,07
fami_educacionmadre 212.826 2,99
fami_educacionpadre 212.423 2,99
fami_tieneinternet 191.624 2,70
fami_tienecomputador 151.217 2,13
fami_tieneautomovil 134.769 1,90
cole_caracter 110.212 1,55
cole_codigo_icfes 23.733 0,33
desemp_ingles 5.410 0,08
punt_ingles 4.179 0,06
punt_matematicas 0 0

Hallazgo principal

Los 2.609.523 faltantes de:

  • Sociales y Ciudadanas;
  • Ciencias Naturales;
  • Lectura Crítica;
  • Puntaje Global,

no corresponden a un patrón aleatorio de datos perdidos.

Se concentran completamente en los periodos anteriores a 2014-2.

Por tanto, se trata fundamentalmente de una ausencia estructural derivada del esquema de evaluación disponible en la fuente histórica, no de missing data ordinario que deba imputarse.


5. Distribución temporal de la base

La base contiene 23 periodos entre 2010 y 2022.

Se observa una alternancia muy marcada entre aplicaciones pequeñas y grandes.

Ejemplos:

  • 20101: 41.656
  • 20102: 628.374
  • 20111: 32.978
  • 20112: 617.442
  • 20121: 38.432
  • 20122: 641.956

Posteriormente aparecen aplicaciones extremadamente grandes:

  • 20194: 1.096.524
  • 20224: 1.065.888

Mientras varias aplicaciones terminadas en 1 presentan solo entre aproximadamente 13.000 y 32.000 estudiantes.

Interpretación

El código temporal no puede utilizarse ingenuamente como si cada fila del tiempo representara la misma población objetivo.

Existe una fuerte estructura asociada a:

  • código administrativo de aplicación;
  • calendario;
  • tipo de establecimiento;
  • jornada;
  • población examinada.

Esto será fundamental al construir el componente longitudinal.


6. Cambio estructural observado desde 2014-2

Se evaluó por periodo la disponibilidad de:

  • punt_sociales_ciudadanas
  • punt_c_naturales
  • punt_lectura_critica
  • punt_global

Resultado:

20101–20141

Los cuatro puntajes están ausentes en el 100 % de los registros.

Desde 20142

Los cuatro puntajes están presentes en el 100 % de los registros.

Además, las máscaras de faltantes son exactamente iguales.

La clasificación empírica resultante fue:

  • 20101–20141: Esquema anterior a 2014-2
  • 20142–20224: Esquema desde 2014-2

No se detectaron periodos híbridos.

Conclusión

Existe una ruptura estructural perfectamente definida en la disponibilidad de pruebas a partir de 2014-2.

Esto justifica distinguir al menos dos regímenes para fines descriptivos y de ingeniería de datos.

Sin embargo, esta evidencia por sí sola no establece equivalencia ni no equivalencia psicométrica de Matemáticas e Inglés entre ambos regímenes.


7. Disponibilidad longitudinal de Matemáticas e Inglés

punt_matematicas presenta:

  • 0 faltantes en toda la base.

punt_ingles está disponible prácticamente en toda la serie, con faltantes pequeños en algunos periodos recientes.

Ejemplos:

  • 20194: 38
  • 20201: 36
  • 20211: 47
  • 20221: 104
  • 20224: 3.954

La mayor proporción observada es aproximadamente 0,52 %.

Interpretación

Matemáticas e Inglés son las dos variables de puntaje con mayor cobertura temporal.

Esto las convierte en candidatas naturales para estudiar evolución longitudinal.

Pero:

Disponibilidad longitudinal no equivale a comparabilidad longitudinal de escala.

Antes de utilizarlas directamente como una serie homogénea deben estudiarse:

  • estructura de la prueba;
  • escalamiento;
  • cambios en población;
  • cambios de aplicación;
  • distribución;
  • régimen de evaluación.

8. Representación numérica original

Se detectaron siete registros aparentemente “no numéricos” cuando se utilizó una expresión regular que solo admitía punto decimal.

Todos correspondían a 20112.

Ejemplos:

  • 35,2
  • 36,44
  • 69,27
  • 43,48
  • 31,87
  • 42,58
  • 42,76

Al permitir punto o coma decimal, no quedó ningún formato numérico no reconocido.

Resultado global

Matemáticas

  • enteros: 6.407.897
  • decimales con punto: 701.800
  • decimales con coma: 7

Inglés

  • enteros: 6.403.099
  • decimales con punto: 702.419
  • decimales con coma: 7

La conversión temporal:

"," → "." → numeric

no introdujo nuevos NA.

Matemáticas

  • NA originales: 0
  • NA convertidos: 0
  • nuevos NA: 0

Inglés

  • NA originales: 4.179
  • NA convertidos: 4.179
  • nuevos NA: 0

Conclusión

La representación de puntajes puede normalizarse posteriormente de manera determinista sin pérdida observable de información.

Esa normalización pertenece al script de limpieza, no a la auditoría.


9. Cambio en la precisión de los puntajes

Los primeros periodos presentan un predominio casi completo de valores decimales:

Periodo Matemáticas decimal Inglés decimal
20101 99,6 % 99,6 %
20102 ~100 % 99,9 %
20111 97,7 % 99,8 %

Desde 20112, los puntajes se representan casi exclusivamente mediante enteros.

Interpretación

Existe una clara modificación en la representación numérica alrededor de 2011-2.

Esta transición debe documentarse porque implica que la precisión almacenada cambia históricamente.

No significa necesariamente que la variable subyacente haya cambiado de constructo o escala psicométrica.

La evidencia permite afirmar:

La representación registrada del puntaje cambia sustancialmente entre los primeros periodos y los siguientes.


10. Auditoría de rangos

Los valores fuera de 0–100 aparecen exclusivamente entre 20101 y 20141.

Matemáticas > 100

Número por periodo:

Periodo Casos %
20101 35 0,0840
20102 115 0,0183
20111 134 0,406
20112 309 0,0500
20121 102 0,265
20122 215 0,0335
20131 274 0,779
20132 28 0,0051
20141 86 0,345

No se detectaron valores de Matemáticas menores que cero.

Los extremos alcanzan:

  • 120,39 en 20101;
  • 114,88 en 20102;
  • 113,64 en 20111;
  • 126 en 20122;
  • 127 en 20131.

Inglés < 0

Principalmente se observa el valor exacto -1.

Ejemplos:

  • 20101: 5
  • 20102: 290
  • 20112: 542
  • 20122: 357
  • 20132: 316

Inglés > 100

Solo se concentra significativamente en 20102:

  • total: 2.358 registros
  • 0,375 % del periodo.

Valores exactos:

  • 102,61
  • 102,96
  • 116,95
  • 117,29

Todos están asociados a nivel de desempeño B+.

Interpretación

No es correcto reemplazar automáticamente estos valores por NA o truncarlos a 100.

Los resultados sugieren que los periodos antiguos pueden utilizar reglas o escalas de reporte distintas.

Especialmente:

  • valores superiores a 100 se repiten sistemáticamente;
  • algunos valores tienen alta frecuencia;
  • poseen asociaciones coherentes con niveles de desempeño.

Por tanto, no parecen simples errores tipográficos aislados.

La auditoría permite concluir:

Antes de 2014-2 existen valores legítimamente almacenados fuera del intervalo 0–100 que requieren interpretación histórica o documental antes de ser transformados.

No permite concluir todavía que todas las escalas sean psicométricamente incompatibles.


11. Integración temporal de evidencias

La tabla regimenes_observados combina:

  • esquema de disponibilidad de pruebas;
  • representación decimal;
  • mínimo y máximo;
  • régimen temporal.

Se observan tres fenómenos distintos:

1. Cambio de precisión

20101–20111: predominio decimal.

Desde 20112: predominio entero.

2. Cambio de disponibilidad

Hasta 20141:

  • no aparecen Sociales;
  • Naturales;
  • Lectura;
  • Global.

Desde 20142 sí aparecen.

3. Cambio del rango observado

Hasta 20141 existen valores fuera de 0–100.

Desde 20142 todos los puntajes de Matemáticas e Inglés observados se encuentran entre 0 y 100.

Conclusión

Hay suficiente evidencia para tratar la historia de Saber 11 como una base con cambios estructurales temporales, en lugar de una única tabla completamente homogénea.


12. Regímenes principales

El script define:

Régimen anterior

20101, 20102, 20111, 20112, 20121, 20122, 20131, 20132 y 20141.

Variables de puntaje comunes disponibles:

  • Matemáticas;
  • Inglés.

Régimen nuevo

20142, 20151, 20152, 20161, 20162, 20171, 20172, 20181, 20191, 20194, 20201, 20211, 20221 y 20224.

Variables:

  • Matemáticas;
  • Inglés;
  • Sociales y Ciudadanas;
  • Ciencias Naturales;
  • Lectura Crítica;
  • Puntaje Global.

Implicación

Si el objetivo longitudinal requiere cubrir 2010–2022, Matemáticas e Inglés ofrecen la mayor cobertura potencial.

Si requiere utilizar todas las áreas modernas, el horizonte efectivo comienza en 20142.


13. Composición de calendario

La composición del calendario cambia drásticamente entre periodos.

Las aplicaciones masivas terminadas históricamente en 2 y posteriormente 4 están dominadas casi completamente por calendario A.

Ejemplos:

  • 20102: 98,9 % A
  • 20112: 99,0 % A
  • 20122: 98,9 % A
  • 20132: 99,2 % A
  • 20142: 99,2 % A
  • 20152: 99,3 % A
  • 20162: 99,4 % A
  • 20172: 99,3 % A
  • 20194: 99,2 % A
  • 20224: 99,6 % A

En cambio, numerosas aplicaciones terminadas en 1 están dominadas por B o presentan mezcla A/B.

Ejemplos:

  • 20131: 56,3 % B
  • 20141: 57,2 % B
  • 20151: 53,4 % B
  • 20161: 100 % B
  • 20171: 100 % B
  • 20191: 100 % B

Implicación fundamental

Una diferencia entre la media global de dos aplicaciones consecutivas puede reflejar en gran medida un cambio de población y no una evolución temporal del rendimiento.

Por tanto:

No debe interpretarse automáticamente la diferencia de medias entre periodos administrativos consecutivos como cambio académico longitudinal.


14. Puntajes según calendario

Las diferencias entre calendarios son muy importantes.

Ejemplo 20101:

Calendario A

  • Matemáticas: 43,6
  • Inglés: 41,2

Calendario B

  • Matemáticas: 54,1
  • Inglés: 62,0

Ejemplo 20121:

A

  • Matemáticas: 42,6
  • Inglés: 39,9

B

  • Matemáticas: 56,0
  • Inglés: 62,2

Este patrón aparece repetidamente.

Interpretación

Las distribuciones de puntajes están fuertemente asociadas con la composición institucional y de calendario.

Las medias brutas del periodo mezclan:

  • desempeño;
  • calendario;
  • naturaleza;
  • jornada;
  • tipo de aplicación;
  • composición del conjunto de colegios.

Por consiguiente, la comparación temporal debe controlar o estratificar estas dimensiones.


15. Jornada escolar

La composición por jornada también varía considerablemente.

Las categorías incluyen:

  • MAÑANA
  • TARDE
  • NOCHE
  • SABATINA
  • COMPLETA
  • UNICA

Las aplicaciones pequeñas de calendario B suelen tener una proporción muy elevada de jornada COMPLETA.

Ejemplo 20161:

  • COMPLETA: 65,2 %
  • MAÑANA: 32,9 %
  • TARDE: 1,92 %

Mientras las aplicaciones masivas A presentan distribuciones muy distintas.

Puntajes según jornada

También se observan importantes diferencias descriptivas.

Por ejemplo, en 20151 calendario B:

COMPLETA

  • Matemáticas: 68,2
  • Inglés: 76,3

MAÑANA

  • Matemáticas: 57,2
  • Inglés: 58,0

NOCHE

  • Matemáticas: 43,1
  • Inglés: 44,7

SABATINA

  • Matemáticas: 44,3
  • Inglés: 45,1

Interpretación

La jornada no debe tratarse como una característica irrelevante en análisis longitudinales o predictivos.

No obstante, estas diferencias son descriptivas. No permiten inferir causalidad de la jornada sobre el resultado.


16. Naturaleza del establecimiento

La distribución entre establecimientos:

  • OFICIAL;
  • NO OFICIAL,

también depende marcadamente del tipo de aplicación.

Las aplicaciones masivas A están dominadas por establecimientos oficiales.

Ejemplos:

  • 20122, A: 74,6 % oficial;
  • 20142, A: 75,3 %;
  • 20162, A: 75,6 %;
  • 20172, A: 75,9 %;
  • 20194, A: 76,8 %;
  • 20224, A: 77,7 %.

En cambio:

  • calendario B es prácticamente 100 % no oficial en numerosos periodos.

Puntajes

En las aplicaciones masivas calendario A existe una diferencia descriptiva persistente entre establecimientos oficiales y no oficiales.

Ejemplo 20224:

A — no oficial

  • Matemáticas: 55,0
  • Inglés: 57,3

A — oficial

  • Matemáticas: 49,3
  • Inglés: 47,7

Interpretación

La naturaleza institucional constituye otro componente importante del cambio de composición temporal.

Esto refuerza la necesidad de evitar comparaciones brutas sin controlar características institucionales.


17. Soporte de combinaciones institucionales

Se construyeron estratos mediante:

calendario × naturaleza × jornada.

Algunas combinaciones tienen soporte durante casi toda la serie.

Ejemplos:

B | NO OFICIAL | MAÑANA

  • presente en 23 periodos;
  • 68.853 estudiantes.

B | NO OFICIAL | COMPLETA

  • presente en 22 periodos;
  • 127.113 estudiantes.

A | OFICIAL | MAÑANA

  • 20 periodos;
  • 2.814.388 estudiantes.

A | NO OFICIAL | COMPLETA

  • 20 periodos;
  • 753.423 estudiantes.

Interpretación

Existen estratos institucionales con suficiente persistencia temporal como para permitir análisis estratificados.

Otros estratos aparecen esporádicamente y no deberían utilizarse como eje principal de comparación longitudinal.


18. Distancia de variación total de composición institucional

Se calculó la distancia de variación total entre periodos consecutivos.

Valores cercanos a:

  • 0 = composiciones similares;
  • 1 = composiciones prácticamente disjuntas.

Se observan valores extremadamente altos.

Ejemplos:

  • 20101 → 20102: 0,752
  • 20112 → 20121: 0,753
  • 20131 → 20132: 0,776
  • 20141 → 20142: 0,805
  • 20152 → 20161: 0,999
  • 20161 → 20162: 0,999
  • 20171 → 20172: 1,000
  • 20191 → 20194: 0,999
  • 20221 → 20224: 0,871

En contraste:

  • 20201 → 20211: 0,114
  • 20211 → 20221: 0,208
  • 20181 → 20191: 0,216

Interpretación

Este es uno de los hallazgos más importantes de toda la auditoría.

Los periodos consecutivos en la codificación administrativa no necesariamente representan observaciones sucesivas de la misma población institucional.

En muchos casos, las poblaciones institucionales son casi completamente distintas.


19. Persistencia longitudinal de colegios

Considerando cole_codigo_icfes válido:

  • colegios únicos: 21.731
  • mínimo de periodos por colegio: 1
  • mediana: 7
  • media: 6,07
  • máximo: 20

Además:

  • presentes en ≥2 periodos: 17.554
  • ≥5 periodos: 12.616
  • ≥10 periodos: 6.238
  • ≥15 periodos: 283

Interpretación

La base sí posee una estructura longitudinal institucional considerable.

No es un conjunto puramente transversal de aplicaciones independientes.

Hay miles de colegios observados repetidamente.

Sin embargo, la persistencia depende fuertemente de la familia de aplicación.


20. Error detectado en el primer cálculo de continuidad

El primer cálculo de continuidad produjo resultados imposibles:

  • colegios_comunes = 0 en todas las transiciones;
  • colegios_salen = 1;
  • colegios_entran = 1.

Esto contradecía tanto los datos como la persistencia institucional previamente observada.

El diagnóstico verificó:

  • cole_codigo_icfes es character;
  • los vectores contienen códigos reales;
  • 20101 contiene 1.005 códigos;
  • 20102 contiene 10.576.

La solución fue utilizar explícitamente:

  • base::intersect()
  • base::setdiff()
  • base::union()
  • base::length()

y añadir comprobaciones algebraicas.

Importancia metodológica

Este episodio debe conservarse como parte de la trazabilidad de la auditoría.

El script no solo audita los datos: también valida los propios cálculos utilizados en la auditoría.

La corrección posterior produjo resultados coherentes.


21. Continuidad corregida entre periodos consecutivos

Después de la corrección se observaron resultados plausibles.

Ejemplos:

20101 → 20102

  • 1.005 colegios iniciales;
  • 10.576 posteriores;
  • comunes: 506;
  • retención: 50,3 %;
  • Jaccard: 0,0457.

20201 → 20211

  • 667 → 654;
  • comunes: 458;
  • retención: 68,7 %;
  • Jaccard: 0,531.

20211 → 20221

  • 654 → 935;
  • comunes: 504;
  • retención: 77,1 %;
  • Jaccard: 0,465.

En cambio:

20161 → 20162

  • comunes: 0;
  • Jaccard: 0.

20171 → 20172

  • comunes: 0;
  • Jaccard: 0.

Interpretación

Esto confirma que la secuencia cronológica simple mezcla diferentes poblaciones de aplicación.

Los periodos deben organizarse longitudinalmente considerando la familia administrativa y la población institucional, no únicamente por orden de fecha.


22. Solapamiento de todos los pares de periodos

Se compararon las 253 combinaciones posibles de los 23 periodos.

Este análisis revela una estructura muy clara.

Alta continuidad en aplicaciones masivas

Ejemplos:

  • 20142–20152: Jaccard 0,914
  • 20132–20142: 0,912
  • 20152–20162: 0,886
  • 20102–20112: 0,882
  • 20122–20132: 0,869
  • 20112–20122: 0,864

Alta continuidad entre ciertas aplicaciones reducidas

  • 20161–20171: 0,934
  • 20171–20191: 0,822
  • 20161–20191: 0,789

Muy bajo solapamiento entre familias distintas

Ejemplos:

  • 20161–20162: 0
  • 20171–20172: 0
  • 20191–20224: 0

Y numerosos cruces presentan Jaccard inferior a 0,01.

Conclusión

Este análisis respalda fuertemente la existencia de secuencias históricas diferentes con mayor coherencia interna.

No debe interpretarse como prueba psicométrica de compatibilidad, sino como evidencia institucional de continuidad.


23. Secuencia masiva

El script define provisionalmente:

20102 → 20112 → 20122 → 20132 → 20142 → 20152 → 20162 → 20172 → 20194 → 20224

Jaccard consecutivo:

  • 0,882
  • 0,864
  • 0,869
  • 0,912
  • 0,914
  • 0,886
  • 0,741
  • 0,771
  • 0,632

Interpretación

La continuidad institucional es muy elevada durante gran parte de la secuencia.

Incluso los valores menores de las últimas transiciones siguen siendo muy superiores a los cruces entre familias diferentes.

Esta secuencia constituye una candidata muy sólida para construir un panel longitudinal institucional.


24. Secuencia reducida

Se define provisionalmente:

20101 → 20111 → 20121 → 20131 → 20141 → 20151 → 20161 → 20171 → 20191

Jaccard:

  • 0,612
  • 0,758
  • 0,707
  • 0,713
  • 0,705
  • 0,351
  • 0,934
  • 0,822

Interpretación

También existe continuidad dentro de esta familia, aunque menos estable.

La transición 20151 → 20161 constituye una ruptura importante:

  • Jaccard = 0,351.

Después, la continuidad entre:

  • 20161–20171;
  • 20171–20191,

es nuevamente muy elevada.

Precaución metodológica

Las secuencias masiva y reducida no sustituyen la clasificación por régimen de evaluación.

Son dimensiones diferentes.

Un periodo puede pertenecer simultáneamente a:

  • régimen antiguo/nuevo;
  • aplicación masiva/reducida.

Por ejemplo, la secuencia masiva cruza la ruptura 20141–20142.

Por tanto, deben mantenerse separados al menos cuatro ejes:

  1. régimen de evaluación;
  2. familia administrativa de aplicación;
  3. continuidad institucional;
  4. procedencia del identificador institucional.

25. Diccionario descriptivo de periodos

El último dígito permite reconocer tres códigos administrativos:

  • 1
  • 2
  • 4

El patrón empírico es evidente.

Aplicación 1

Generalmente:

  • menor número de registros;
  • mayor presencia de calendario B;
  • composición distinta.

Aplicación 2

Hasta 2017:

  • aplicación masiva;
  • aproximadamente 540.000–640.000 estudiantes;
  • dominada por calendario A.

Aplicación 4

Desde 2019:

  • 20194: 1.096.524
  • 20224: 1.065.888

también dominadas por calendario A.

Conclusión

El código de aplicación contiene información estructural relevante y debe conservarse explícitamente como variable de metadatos.

No debe reducirse el periodo solamente al año.


26. Tamaño de colegio-periodo

Se evaluó el número de estudiantes por colegio.

Las aplicaciones masivas presentan medianas aproximadas de:

  • 32–58 estudiantes por colegio.

Ejemplos:

  • 20142: mediana 32
  • 20152: 32
  • 20162: 32
  • 20194: 58
  • 20224: 52

Las aplicaciones reducidas suelen presentar tamaños menores.

Ejemplos:

  • 20141: mediana 19
  • 20151: 18
  • 20201: 15
  • 20211: 14
  • 20221: 13

27. Posibles umbrales mínimos

Se evaluó el impacto de excluir colegios-periodo con:

  • menos de 5 estudiantes;
  • menos de 10 estudiantes.

En muchas aplicaciones masivas, excluir colegios con menos de 5 alumnos elimina pocos estudiantes.

Ejemplo:

20194

  • colegios <5: 2,08 %
  • estudiantes afectados: solo 0,077 %

20224

  • colegios <5: 3,54 %
  • estudiantes afectados: 0,139 %

Sin embargo, en periodos reducidos recientes el efecto institucional sería considerable.

20211

  • colegios <5: 27,2 %

  • estudiantes: 1,83 %

  • colegios <10: 39,8 %

  • estudiantes: 5,62 %

20221

  • colegios <5: 23,2 %

  • estudiantes: 2,46 %

  • colegios <10: 40,9 %

  • estudiantes: 8,06 %

Implicación

No debe imponerse todavía un umbral único de forma automática.

El umbral debe depender del propósito estadístico.

Para estimar medias institucionales, colegios con uno o muy pocos estudiantes producen estimadores muy inestables.

Pero excluirlos puede modificar fuertemente la cobertura institucional.

La decisión debe realizarse en la fase de construcción del panel o modelado.


28. Faltantes de cole_codigo_icfes

Solo tres periodos presentan registros sin código ICFES:

Periodo Faltantes %
20122 23.710 3,69
20112 21 0,0034
20224 2 0,000188

El problema está prácticamente concentrado en 20122.

Importancia

Los 23.710 registros sin identificador institucional no pueden incorporarse directamente a un panel por colegio.

Resolver o documentar este problema será una tarea central de 03_limpieza_imputacion.R.


29. Caracterización de los faltantes de 20122

Los 23.710 registros sin código se concentran en:

Calendario

  • A: 23.489 = 99,1 %

Naturaleza

  • OFICIAL: 17.799 = 75,1 %
  • NO OFICIAL: 5.911 = 24,9 %

Jornada

  • MAÑANA: 52,7 %
  • COMPLETA: 21,1 %
  • TARDE: 17,0 %
  • NOCHE: 5,37 %
  • SABATINA: 3,84 %

La distribución territorial es amplia.

Principales departamentos:

  • Bogotá: 24,0 %
  • Antioquia: 10,0 %
  • Cundinamarca: 7,50 %
  • Santander: 7,43 %
  • Valle: 7,40 %
  • Boyacá: 6,82 %

Interpretación

No parece un problema concentrado en una única institución o región.

La estructura es coherente con la composición general de una aplicación masiva.

Esto sugiere un problema sistemático de identificación en esa extracción histórica más que unos pocos registros aislados.


30. Recuperación mediante nombre + municipio + departamento

Se construyó una referencia histórica basada en:

  • nombre del establecimiento;
  • municipio;
  • departamento.

Resultado:

  • faltantes: 23.710
  • correspondencia histórica unívoca: 5.095
  • ambiguos: 18.615
  • sin correspondencia: 0
  • potencialmente recuperables: 21,5 %

Interpretación

Todos los establecimientos aparecen en alguna forma dentro de la historia disponible.

Sin embargo, utilizar toda la historia produce mucha ambigüedad porque un mismo:

nombre + municipio + departamento

puede aparecer relacionado con varios códigos ICFES a lo largo del tiempo.

Por tanto, el nombre institucional por sí solo no es una llave suficientemente estable para una imputación general.


31. Grado de ambigüedad

Entre los 23.710 registros:

  • 1 código histórico: 5.095
  • 2 códigos: 6.233
  • 3 códigos: 4.928
  • 4 códigos: 3.175
  • 5 códigos: 2.023

Y algunos establecimientos presentan hasta:

  • 14;
  • 15 códigos históricos.

Implicación

La ambigüedad no es marginal.

Una regla basada únicamente en la correspondencia histórica global produciría un riesgo considerable de asignación incorrecta.


32. Referencia temporal alrededor de 20122

Al restringir la referencia a:

  • 20121;
  • 20131;
  • 20132,

los resultados mejoran:

  • potencialmente recuperables: 11.763
  • ambiguos: 6.743
  • sin referencia: 5.204
  • cobertura potencial: 49,6 %

Interpretación

La proximidad temporal aumenta considerablemente la unicidad.

Esto respalda la hipótesis de que cambios históricos más distantes del código ICFES generan gran parte de la ambigüedad.

Sin embargo:

49,6 % potencialmente recuperable no significa 49,6 % automáticamente imputable.

La regla debe validarse antes de utilizarse.


33. Continuidad en aplicaciones masivas adyacentes

Se utilizaron:

  • 20112;
  • 20132,

como aplicaciones masivas inmediatamente alrededor de 20122.

Resultado:

  • registros faltantes: 23.710
  • mismo código antes y después según primera regla estricta: 10.081
  • solo un lado: 6.039
  • ambos periodos pero códigos ambiguos: 7.532
  • sin referencia: 58
  • cobertura con evidencia fuerte: 42,5 %

Interpretación

Existe un grupo considerable de registros para los cuales la continuidad temporal ofrece evidencia fuerte.

Pero sigue sin ser correcto modificar la base todavía.


34. Intersección exacta de códigos 20112–20132

El último diagnóstico refina la estrategia.

Se identifica el conjunto exacto de códigos que aparece simultáneamente en 20112 y 20132 para un mismo:

  • nombre;
  • municipio;
  • departamento.

Resultado:

  • registros sin código: 23.710
  • con exactamente un código común: 11.919
  • múltiples códigos comunes: 5.644
  • presentes en ambos periodos pero sin código común: 50
  • observados solo en un lado: 6.039
  • sin referencia: 58
  • porcentaje con código común único: 50,3 %

Interpretación

Esta es la evidencia diagnóstica más prometedora obtenida para una futura reconstrucción del identificador.

Aproximadamente la mitad de los registros faltantes tienen un código longitudinal único común antes y después.

La diferencia respecto al cálculo anterior de 42,5 % muestra además que la definición de la regla importa.

Decisión correcta

La auditoría debe terminar aquí.

No se debe ejecutar todavía:

cole_codigo_icfes <- ...

ni guardar un identificador reconstruido.

La regla debe trasladarse a 03_limpieza_imputacion.R, donde debe validarse mediante backtesting.


35. Validación requerida antes de reconstruir códigos

La estrategia metodológicamente adecuada sería:

  1. Tomar un periodo donde cole_codigo_icfes sí esté observado.
  2. Ocultar artificialmente una parte de los códigos.
  3. Aplicar la regla basada en periodos adyacentes.
  4. Comparar código reconstruido contra código real.
  5. Calcular:
    • precisión;
    • cobertura;
    • tasa de error;
    • ambigüedad;
    • desempeño por tipo de colegio.
  6. Solo aceptar la regla si presenta una precisión suficientemente alta.
  7. Crear una nueva variable de procedencia.

Por ejemplo:

  • codigo_icfes_original
  • codigo_icfes_reconstruido
  • fuente_codigo
  • confianza_reconstruccion

Nunca conviene sobrescribir silenciosamente el código original.


36. Hallazgos metodológicos centrales

La auditoría revela que la base histórica de Saber 11 no debe ser concebida simplemente como:

estudiantes × años

sino como una colección de aplicaciones con diferencias estructurales importantes.

Los principales ejes encontrados son:

Eje 1. Régimen de evaluación

  • anterior a 2014-2;
  • desde 2014-2.

Eje 2. Familia administrativa

  • aplicación 1;
  • aplicación 2;
  • aplicación 4.

Eje 3. Composición poblacional

  • calendario;
  • naturaleza;
  • jornada.

Eje 4. Continuidad institucional

Algunos periodos comparten más del 90 % de su estructura institucional, mientras otros tienen intersección prácticamente nula.

Eje 5. Calidad de identificadores

20122 presenta un problema específico de código ICFES faltante.

Eje 6. Representación de los puntajes

Existen cambios históricos en:

  • precisión decimal;
  • rango observado;
  • disponibilidad de pruebas.

37. Qué puede concluirse con alta confianza

La auditoría permite afirmar con soporte empírico que:

  1. La base consolidada contiene 7.109.704 registros y 55 variables.

  2. :id es único como identificador técnico de fila.

  3. Esto no garantiza ausencia de duplicación semántica.

  4. Existe una ruptura clara en 2014-2 en la disponibilidad de Sociales, Naturales, Lectura Crítica y Puntaje Global.

  5. Matemáticas está completa en toda la fuente.

  6. Inglés tiene una cobertura prácticamente completa.

  7. Existen siete representaciones decimales mediante coma que pueden convertirse sin pérdida.

  8. La precisión registrada cambia de valores mayoritariamente decimales a enteros alrededor de 2011-2.

  9. Antes de 2014-2 aparecen valores de Matemáticas >100 e Inglés <0 o >100.

  10. Desde 2014-2 los puntajes observados de Matemáticas e Inglés se mantienen dentro de 0–100.

  11. La población de las aplicaciones cambia sustancialmente según calendario, naturaleza y jornada.

  12. Los periodos consecutivos no representan necesariamente poblaciones comparables.

  13. Existe una secuencia histórica de aplicaciones masivas con alta continuidad institucional.

  14. Existe una segunda secuencia reducida con continuidad interna importante, aunque más irregular.

  15. Hay suficiente repetición institucional para construir un panel longitudinal de colegios.

  16. 20122 presenta 23.710 registros sin código ICFES.

  17. La intersección temporal 20112–20132 permite identificar un único código común para 11.919 de ellos, aproximadamente 50,3 %.


38. Qué NO puede concluirse todavía

La auditoría no permite afirmar todavía que:

  • Matemáticas o Inglés sean directamente comparables psicométricamente durante 2010–2022;
  • todo puntaje >100 sea un error;
  • todo -1 de Inglés deba convertirse automáticamente en NA;
  • la secuencia masiva sea necesariamente la única población válida para el estudio;
  • un colegio con el mismo nombre sea siempre la misma institución;
  • los 11.919 códigos potencialmente recuperables puedan imputarse sin validación;
  • un umbral de 5 o 10 estudiantes sea óptimo;
  • las diferencias entre jornada, calendario o naturaleza sean causales;
  • las aplicaciones 2 y 4 sean automáticamente equivalentes solo porque ambas son masivas.

39. Decisiones recomendadas para 03_limpieza_imputacion.R

El siguiente script debería encargarse de:

1. Normalización numérica

Convertir coma decimal a punto y luego a numeric.

2. Tratamiento de valores especiales

No modificar valores extremos sin una regla documental o metodológica explícita.

3. Código ICFES

Implementar una estrategia de reconstrucción únicamente después de backtesting.

4. Procedencia

Crear indicadores de trazabilidad para cualquier dato reconstruido.

5. Duplicación semántica

Auditar claves como:

  • estu_consecutivo;
  • periodo;
  • colegio;
  • eventualmente combinaciones adicionales.

6. Homologación categórica

Normalizar categorías institucionales sin destruir los valores originales.


40. Decisiones recomendadas para 04_construccion_panel.R

El panel de colegio debe construirse después de la limpieza.

La clave básica sería:

cole_codigo_icfes + periodo

pero debe incorporar una variable explícita de:

  • año;
  • código de aplicación;
  • régimen;
  • familia de aplicación.

Las agregaciones deben considerar:

  • número de estudiantes;
  • media;
  • mediana;
  • desviación estándar;
  • posiblemente cuantiles;
  • error estándar.

Los tamaños pequeños de colegio-periodo deben conservarse inicialmente y marcarse con indicadores de estabilidad, en vez de eliminarlos de manera automática.


41. Implicación para el dataset longitudinal

Para una primera versión científicamente defendible, la secuencia masiva tiene importantes ventajas:

20102 → 20112 → 20122 → 20132 → 20142 → 20152 → 20162 → 20172 → 20194 → 20224

Presenta:

  • tamaños de muestra elevados;
  • miles de colegios;
  • fuerte continuidad;
  • calendario A dominante;
  • composición relativamente consistente dentro de la familia;
  • soporte suficiente para estimaciones institucionales.

Pero cruza la reforma de 2014-2.

Por tanto, el modelo debe incorporar explícitamente el cambio de régimen o restringirse a un horizonte homogéneo cuando la variable objetivo lo requiera.

Para utilizar las seis áreas modernas, una ventana especialmente coherente sería:

20142 → 20152 → 20162 → 20172 → 20194 → 20224

aunque debe seguir evaluándose el cambio de aplicación 2 → 4.


42. Valor científico de la auditoría

El script cumple una función importante de reproducibilidad.

No se limita a obtener summary().

Construye evidencia sobre:

  • estructura;
  • missingness;
  • cambios de formato;
  • cambios de rango;
  • composición poblacional;
  • continuidad institucional;
  • soporte longitudinal;
  • calidad del identificador;
  • recuperabilidad de información.

Además, detectó y corrigió un error en el propio cálculo de continuidad.

Ese comportamiento es metodológicamente positivo porque convierte el pipeline en un proceso auditable.


43. Evaluación global del script

La arquitectura conceptual de 02_auditoria_datos.R es adecuada.

El script está cumpliendo el propósito correcto:

RAW → AUDITORÍA → evidencia para decisiones posteriores

y no:

RAW → correcciones silenciosas → dataset final.

Su mayor fortaleza es haber identificado que el principal problema del proyecto no es simplemente “limpiar NA”.

El problema real es estructural:

Saber 11 contiene diferentes familias de aplicación, poblaciones institucionales, regímenes de evaluación y patrones históricos de identificación que deben modelarse explícitamente para construir un dataset longitudinal científicamente válido.


44. Conclusión general

La base consolidada posee calidad suficiente para continuar con el proyecto, pero no debe modelarse directamente en su estado raw.

La auditoría demuestra una estructura longitudinal real a nivel institucional, particularmente fuerte dentro de la secuencia de aplicaciones masivas.

Al mismo tiempo, identifica cuatro riesgos que deben resolverse antes del modelado:

  1. cambios históricos en el esquema de evaluación;
  2. cambios importantes de composición entre aplicaciones;
  3. problemas específicos del identificador ICFES en 20122;
  4. posible duplicación semántica que no puede detectarse mediante :id.

La conclusión metodológica principal es:

Sí existe una base sólida para construir un panel longitudinal de colegios, pero ese panel debe derivarse mediante reglas explícitas de régimen, familia de aplicación, continuidad institucional, trazabilidad del código ICFES y tamaño efectivo del colegio-periodo.

Por ello, 02_auditoria_datos.R debe cerrarse como un script puramente diagnóstico.

La siguiente etapa lógica es 03_limpieza_imputacion.R, donde las decisiones detectadas en esta auditoría deberán convertirse en reglas reproducibles, validadas y documentadas antes de construir el panel definitivo.