Planteamiento y contexto
Este escenario se adapta a entrevistas de ciencia de datos, análisis de datos y machine learning. El conjunto de datos contiene comportamiento del usuario, región, ingresos y una etiqueta de churn; el ingreso falta en el 18% de las filas. Debes explicar por qué falta antes de elegir un tratamiento. El porcentaje por sí solo no es una regla de decisión.
Qué evalúa el entrevistador
- Distinguir entre MCAR, MAR y MNAR en lugar de tratar cada nulo como el mismo problema.
- Explicar indicadores de ausencia de datos, modelos de imputación y límites entre entrenamiento y validación.
- Detectar señales en la ausencia de datos, sesgo de selección y filtración de información (data leakage).
Preguntas de clarificación antes de responder
- ¿El ingreso es ingresado por el usuario, se perdió por una falla en la recolección o solo se muestra en ciertas regiones? El mecanismo cambia lo que se puede identificar.
- ¿El objetivo es la predicción o la estimación causal? La predicción puede conservar una señal de ausencia; el análisis causal necesita supuestos más sólidos y análisis de sensibilidad.
- ¿El ingreso tampoco está disponible en el momento de la inferencia en producción? Un backfill offline que no existirá online crea un desajuste de características (feature mismatch).
- ¿La división es por usuario, por tiempo o por fila aleatoria? El mismo usuario en múltiples conjuntos puede filtrar información a través de la imputación y la evaluación.
Estructura de respuesta en 30 segundos
Mapearía el indicador de ausencia frente a los campos observados y el objetivo, separando las causas conocidas, las explicaciones MAR respaldadas por los datos observados y los supuestos MNAR que los datos observados no pueden verificar. Ajustaría los imputadores únicamente en los datos de entrenamiento, mantendría un indicador de ausencia y evaluaría según el patrón de ausencia original. Si el mecanismo es incierto, compararía la eliminación, la imputación simple, la imputación basada en modelos y los escenarios de sensibilidad, para luego elegir la opción cuyo costo de negocio y evidencia de validación sean aceptables.
Análisis detallado paso a paso
1. Convertir los nulos en eventos analizables
Crea un indicador de ausencia M para cada campo y perfílalo por tiempo, región, dispositivo, canal y etiqueta objetivo. Inspecciona primero los logs, el flujo del formulario y el esquema upstream. Si la ausencia aumenta repentinamente después de un despliegue, corrige la recolección en lugar de ocultar el incidente con imputación.
2. Explicar los tres límites del mecanismo
MCAR significa que la ausencia no está relacionada ni con los valores observados ni con los no observados. Bajo ese supuesto y otras condiciones requeridas, el análisis de casos completos (complete-case analysis) no está sesgado por el mecanismo, pero pierde tamaño de muestra. MAR significa que, tras condicionar en las variables observadas, la ausencia no está relacionada con el valor faltante en sí, como que los ingresos falten de maneras explicadas por la región y el dispositivo. MNAR significa que, incluso después de controlar las variables observadas, la ausencia sigue estando relacionada con el ingreso no observado o su causa, como que los usuarios de altos ingresos se nieguen a responder.
Estos mecanismos no son etiquetas que se demuestren con un solo gráfico. Los logs y las variables observadas pueden respaldar una explicación; MNAR a menudo necesita supuestos del dominio, datos externos o análisis de sensibilidad.
3. Elegir un tratamiento
- Si una falla de recolección reparable causó la ausencia, haz un backfill en la fuente o repara el pipeline y versiona la corrección.
- Para la predicción cuando la ausencia conlleva una señal, ajusta un imputador sobre estadísticas de entrenamiento o un modelo de entrenamiento, añade un indicador de ausencia y verifica que producción tenga la misma señal.
- Si la tasa es pequeña y MCAR es creíble, la eliminación puede ser aceptable, pero reporta la pérdida de muestra y los efectos por segmentos (slices).
- Cuando la incertidumbre importa o MNAR es plausible, compara imputación múltiple, un modelo de ausencia explícito, límites (bounds) y sensibilidad de mezcla de patrones (pattern-mixture); un simple llenado con la media no es evidencia.
SimpleImputer, KNNImputer y IterativeImputer de scikit-learn son herramientas bajo diferentes supuestos; no identifican el mecanismo automáticamente. Ajústalos en los datos de entrenamiento y aplícalos a los datos de validación, prueba y producción.
4. Diseñar la validación y las defensas contra filtraciones
Coloca la imputación, el escalamiento y la codificación en un solo pipeline de entrenamiento. Reajusta dentro de cada fold de validación cruzada; nunca calcules una media global, mediana o conjunto de vecinos antes de dividir. Divide los datos temporales por tiempo y los datos de usuarios por usuario. Compara la ausencia original, las distribuciones posteriores a la imputación, los coeficientes del indicador, la calibración y las métricas por segmentos. Inyecta ausencia adicional en la validación para simular la degradación en producción.
5. Utilizar el costo de negocio para aceptar un resultado
Si clasificar erróneamente a un usuario de alto valor cuesta más que no detectar a un usuario común, el AUC no es suficiente. Reporta recall, calibración, costo de umbral, volumen de revisión y riesgo de rechazo bajo diferentes patrones de ausencia. Congela la versión del imputador, el esquema y la política antes del lanzamiento; monitorea el drift de ausencia y detén las decisiones automatizadas o recurre a una regla segura cuando el drift cruce un umbral.
Ejemplo de respuesta de alta calidad
“No decidiría eliminar o imputar basándome únicamente en la tasa del 18%. Determinaría si el ingreso falta debido a una falla de recolección, a la elección del usuario o a un flujo específico del canal; luego perfilaría el indicador de ausencia por tiempo, región, dispositivo y churn. Si los campos observados lo explican, utilizaría un supuesto MAR, ajustaría cada imputador dentro de cada fold de entrenamiento y conservaría el indicador. Si la evidencia del dominio sugiere que los usuarios de altos ingresos están menos dispuestos a responder, trataría MNAR como un supuesto que los datos actuales no pueden probar y ejecutaría análisis de sensibilidad de límites o de mezcla de patrones. Compararía la eliminación, la imputación simple y la basada en modelos en un conjunto de validación aislado por usuario o tiempo, reportando la calibración, el costo por segmentos y la ausencia en producción. Si producción no puede obtener el ingreso, no dependería de un backfill offline.”
Errores comunes
- Eliminar porque la tasa es del 18% → la pérdida de muestra y el sesgo de selección no se miden → analiza primero el mecanismo, los segmentos y el costo de negocio.
- Calcular una media global antes de dividir → la información de validación entra al entrenamiento → ajusta la imputación dentro de cada fold de entrenamiento.
- Llamar a un indicador de ausencia prueba de MNAR → la correlación no revela la causa no observada → declara el supuesto y ejecuta un análisis de sensibilidad.
- Comparar únicamente el AUC → el costo de umbral, la calibración y el drift permanecen ocultos → reporta segmentos, costo de decisión y monitoreo en producción.
Preguntas de seguimiento y respuestas
¿Qué pasa si el ingreso no está disponible en absoluto en producción?
Reconstruye el entrenamiento y la validación con campos disponibles en producción. Conserva un indicador de ausencia solo si es una señal estable en producción, o elimina la característica. No crees una ganancia que solo exista offline con ingresos completados mediante backfill a menos que producción los obtenga en el mismo momento de la decisión.
¿Cómo evalúas la sensibilidad a MNAR?
Define un rango plausible de cómo difieren los valores faltantes de los observados, varía ese desplazamiento o modelo de ausencia y vuelve a calcular las métricas y el costo de negocio. Si la conclusión se revierte dentro de un rango razonable, catalógala como dependiente de supuestos y recopila datos externos o diseña un muestreo adicional.
¿En qué se diferencian la imputación múltiple y la basada en modelos?
La imputación basada en modelos a menudo crea un único conjunto de datos completado, lo que puede funcionar para la predicción pero subestima la incertidumbre. La imputación múltiple genera varios conjuntos de datos plausibles y combina las estimaciones, haciendo explícita la incertidumbre. Ambas deben ajustarse dentro del límite del entrenamiento y evitar la filtración del objetivo.
¿Qué haces primero cuando la ausencia sube del 18% al 30%?
Pausa la puntuación normal, inspecciona el esquema, las versiones del cliente, la instrumentación y los jobs upstream, y localiza los segmentos afectados. Si se trata de un incidente de recolección, repara o haz un backfill antes de volver a entrenar. Si se trata de un cambio en el negocio, reevalúa el mecanismo, el umbral y la política de respaldo.