Los analistas de datos y los científicos de datos suelen encontrarse con valores perdidos en los conjuntos de datos y, si no se tratan correctamente, estos valores pueden sesgar el análisis, distorsionar el rendimiento de los modelos y generar conclusiones inexactas. El tratamiento de datos perdidos es por tanto una etapa crítica en la preparación de datos. En este artículo explico qué son los valores perdidos, los tipos de ausencias y técnicas para imputar valores en R, con ejemplos prácticos usando el paquete mice.

Qué son los valores perdidos: imagina que recoges datos de una encuesta donde los participantes completan datos personales. Para una persona casada el estado civil será casado y podrá proporcionar nombres de cónyuge y hijos. Para quienes no están casados esos campos quedarán en blanco. Esto es un caso genuino de valores perdidos, aunque también pueden aparecer por error humano, entradas incorrectas o fallos del sistema durante la recolección.

Tipos de ausencia: los valores perdidos se clasifican habitualmente en tres categorías. MCAR Missing Completely At Random significa que los datos faltan de forma completamente aleatoria sin relación con ninguna otra variable. Ejemplo: un participante se salta accidentalmente una pregunta. MAR Missing At Random significa que la ausencia depende de otras variables observadas pero no del valor faltante en sí. Ejemplo: los hombres responden menos a una pregunta sobre salud mental. NMAR Not Missing At Random indica que la ausencia está relacionada con el propio valor o con factores no observados. Ejemplo: la ausencia del nombre del cónyuge puede señalar solteros o una omisión intencional. Cada tipo exige un enfoque distinto porque el riesgo de sesgo varía.

Estrategias para tratar valores perdidos: 1) Eliminar filas con valores perdidos: si la proporción de datos faltantes es muy pequeña, por ejemplo menos del 5 por ciento, se puede obviar y usar na.omit. 2) Imputación simple: sustituir por media, mediana o promedios móviles en variables numéricas; por la moda en variables categóricas; o usar valores marcadores como -1 o Unknown para exploraciones rápidas. Ejemplo en R para media en variable numérica: dataset$age[is.na(dataset$age)] <- mean(dataset$age, na.rm = TRUE) y para categórica usar la moda calculada previamente. 3) Imputación avanzada: técnicas estadística y algoritmos que preservan relaciones multivariantes y la incertidumbre de la imputación.

Paquetes R para imputación avanzada: R dispone de varias bibliotecas potentes. Entre las más usadas están Hmisc para imputaciones generales, missForest para imputación no paramétrica con Random Forest, Amelia para imputación múltiple en series temporales y datos transversales, y mice para Imputación Multivariante por Ecuaciones Enlazadas, considerada una referencia para datos MAR.

Imputación con mice: mice regresa cada variable incompleta en función de las demás y genera múltiples conjuntos imputados para capturar la incertidumbre. Flujo típico con un ejemplo usando nhanes incluido en algunos paquetes: 1) Cargar paquetes y datos: library(mice) library(VIM) library(lattice) data(nhanes) nhanes$age <- as.factor(nhanes$age). 2) Entender patrones de ausencia con md.pattern(nhanes). 3) Visualizar ausencias con aggr y marginplot para identificar patrones y señales de MCAR: nhanes_miss <- aggr(nhanes, col=mdc(1:2), numbers=TRUE, sortVars=TRUE, labels=names(nhanes), cex.axis=.7, gap=3, ylab=c(Proporcion de missingness, Missingness Pattern)) y marginplot(nhanes[, c(chl, bmi)], col = mdc(1:2), cex.numbers = 1.2, pch = 19). 4) Ejecutar imputación con mice: mice_imputes <- mice(nhanes, m=5, maxit=40) donde m es el número de datasets imputados y por defecto los numéricos usan Predictive Mean Matching PMM. 5) Extraer un dataset imputado con complete, por ejemplo Imputed_data <- complete(mice_imputes, 5). 6) Evaluar calidad: comparar observados e imputados con xyplot y densityplot para verificar que los puntos rojos imputados siguen la tendencia de los azules observados. 7) Modelado robusto combinando resultados con with y pool: lm_5_model <- with(mice_imputes, lm(chl ~ age + bmi + hyp)) combo_5_model <- pool(lm_5_model) summary(combo_5_model). Usar múltiples imputaciones ofrece estimaciones más fiables que usar una sola imputación.

Recomendaciones prácticas: analizar primero el patrón de missingness, elegir métodos adecuados según MCAR MAR o NMAR, y validar la imputación con gráficos y comparaciones de distribución. Para análisis predictivo, preferir técnicas multivariantes o basadas en modelos como missForest o mice cuando la estructura de los datos lo requiere.

En Q2BSTUDIO somos especialistas en convertir datos en valor a través de soluciones tecnológicas a medida. Desarrollamos aplicaciones a medida y software a medida, integrando inteligencia artificial y agentes IA para automatizar decisiones y procesos. Ofrecemos además servicios de ciberseguridad y pentesting para proteger los pipelines de datos y soluciones en cloud, trabajando con servicios cloud aws y azure para desplegar sistemas escalables y seguros. Si su objetivo es sacar partido de la información corporativa, contamos con servicios inteligencia de negocio y experiencia en power bi para crear cuadros de mando y reporting avanzados, consulte nuestro apartado de Business Intelligence en servicios de Business Intelligence y Power BI. Para proyectos de IA y soluciones de ia para empresas visite nuestras soluciones de inteligencia artificial.

Palabras clave integradas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si desea ayuda para diseñar flujos de datos robustos, pipelines de imputación o integrar modelos de IA en producción, en Q2BSTUDIO acompañamos desde la consultoría hasta el desarrollo y despliegue. Contáctenos para evaluar su caso y diseñar una solución personalizada.