Tema representativo de entrevista

Entrevista de ciencia de datos: ¿Cómo validar un modelo de pronóstico de series temporales sin fuga de información (leakage)?

DatosDifícil
Equipo editorial de Offer.ccPublicado Actualizado

Pregunta

Tiene dos años de demanda diaria de viajes para 200 ciudades, reentrena semanalmente y pronostica los próximos 7 días. ¿Cómo diseñaría una validación offline libre de fugas de información, compararía el modelo con las líneas base y decidiría si está listo para lanzarse?

Pregunta y escenarios aplicables

Tiene dos años de demanda diaria de viajes para 200 ciudades. El trabajo de producción se reentrena todos los lunes y pronostica los próximos 7 días para cada ciudad. Las características incluyen demanda pasada, día de la semana, días festivos, pronósticos del tiempo y promociones de precios planificadas. El equipo propone una división aleatoria de entrenamiento-validación y desea seleccionar el modelo con el MAPE agregado más bajo.

Diseñe una validación offline libre de fugas de información. Cubra la división de datos, la disponibilidad de características, las líneas base, las métricas, la agregación entre ciudades, la selección del modelo y las compuertas de lanzamiento (launch gates). Dos años, 200 ciudades, 7 días y el reentrenamiento semanal son supuestos de la entrevista, no estándares de la industria.

Esta pregunta se aplica a roles de ciencia de datos, aprendizaje automático y pronóstico. Su núcleo es reproducir lo que realmente se conocía en cada origen de pronóstico histórico, por lo que la categoría es data.

Lo que evalúan los entrevistadores

En primer lugar, ¿puede el candidato traducir el proceso de pronóstico en producción a un protocolo de evaluación? Una respuesta sólida fija los orígenes del pronóstico, el horizonte, la cadencia de reentrenamiento y la política de la ventana de entrenamiento antes de analizar los modelos. "Dividir cronológicamente" por sí solo es incompleto.

En segundo lugar, ¿puede el candidato encontrar fugas de información fuera de la división de datos? La información del futuro puede ingresar mediante el escalado de datos completos, ventanas rodantes que cruzan el origen, datos corregidos/revisados, el clima real observado, promociones aún no aprobadas o codificaciones de la variable objetivo ajustadas en todas las fechas.

En tercer lugar, ¿se corresponden las métricas con las decisiones de negocio? Un solo agregado puede ocultar fallas en horizontes lejanos, ciudades débiles de bajo volumen, sesgo persistente o intervalos mal calibrados. Una respuesta sólida desglosa los resultados por horizonte, segmento de ciudad y partición temporal, con líneas base simples junto al modelo.

En cuarto lugar, ¿puede el candidato separar el ajuste fino de hiperparámetros de la estimación final? La validación rodante selecciona modelos y umbrales. Un período final continuo que nunca influyó en la selección estima el rendimiento del pipeline elegido. Inspeccionar repetidamente ese conjunto de prueba final (holdout) mientras se modifica el modelo lo convierte en un conjunto de validación más.

Preguntas para aclarar antes de responder

  • ¿Cuál es el origen real del pronóstico? Una ejecución del lunes a las 06:00 debe congelar los datos a esa hora exacta. Los pronósticos rodantes diarios crean diferentes orígenes y costos de reentrenamiento.
  • ¿La trayectoria de 7 días se genera directamente o de forma recursiva un día a la vez? La estrategia cambia la generación de características y requiere resultados para los horizontes 1 a 7 por separado.
  • ¿Qué covariables futuras se conocen en el origen? Los calendarios normalmente se conocen; se dispone de un pronóstico meteorológico, pero no del clima real observado; solo califican las promociones aprobadas y publicadas.
  • ¿Cuándo están completas las etiquetas? Si los recuentos de viajes llegan con dos días de retraso, el entrenamiento necesita un desfase equivalente o instantáneas puntuales en el tiempo (point-in-time snapshots).
  • ¿Sobreestimar y subestimar tienen el mismo costo? La planificación de capacidad puede tener costos asimétricos por escasez o capacidad ociosa que el MAE por sí solo no puede expresar.
  • ¿Las ciudades son igualmente importantes? Un promedio macro de ciudades iguales mide la cobertura; la ponderación por volumen mide el impacto agregado. Ninguno reemplaza al otro.
  • ¿Cuánta historia utiliza producción? Una ventana fija puede adaptarse a cambios estructurales, mientras que una estacionalidad anual estable puede requerir un historial más prolongado.

Estructura de respuesta de 30 segundos

"Trabajaría hacia atrás desde producción y ejecutaría un backtest con orígenes rodantes. En cada lunes histórico, usaría solo los datos disponibles y completos en ese momento, ajustaría con la ventana de producción, pronosticaría los siguientes 7 días y avanzaría rodando. Cada transformación, característica de rezago (lag) y decisión de ajuste se calcula dentro del fold de entrenamiento; el clima real futuro no puede reemplazar a su pronóstico. Compararía con una línea base estacional ingenua (seasonal-naive) y reportaría MAE, sesgo y pérdida de negocio desglosados por los horizontes 1 al 7, ciudad y fold temporal; una métrica de porcentaje necesita una política explícita para ceros. Tras la selección, evaluaría una sola vez en un holdout continuo intacto y lanzaría solo si las ciudades críticas, las semanas pico y la cobertura de intervalos superan las compuertas predefinidas".

Análisis detallado paso a paso

Paso 1: Tratar una ejecución de producción como un fold de backtest.

Para el origen de pronóstico t, el entrenamiento solo puede contener registros disponibles en t con etiquetas completas. El intervalo de prueba es de t+1 a t+7. Avance el origen 7 días para simular el reentrenamiento semanal. Omita los orígenes tempranos que no contengan suficiente historial para los patrones estacionales que requiere el pipeline.

Una ventana expansiva utiliza todo el historial hasta t, lo que mejora el uso de datos pero retiene regímenes antiguos. Una ventana fija se adapta más rápido pero puede descartar la estacionalidad anual. El backtest debe reproducir la política de producción prevista; elegir una política después de observar el holdout final contamina dicho conjunto.

Paso 2: Definir un contrato de disponibilidad de características.

Para cada característica, registre el tiempo del evento, el tiempo de disponibilidad del sistema, la política de revisiones y el comportamiento ante valores faltantes. Reconstruya la instantánea disponible en cada origen:

  • un rezago de un día proviene de t o antes, y una media móvil de 7 días no puede cruzar t;
  • el escalado, la imputación, la codificación, la selección de características y las transformaciones de la variable objetivo se ajustan únicamente con los datos de entrenamiento de ese fold;
  • utilice el pronóstico del tiempo publicado para t, no el clima real observado posteriormente;
  • las características de promociones futuras solo incluyen planes confirmados para t;
  • si las etiquetas llegan con dos días de retraso, finalice el entrenamiento en t-2 o aplique un desfase equivalente.

Las comprobaciones ejecutables deben verificar available_at <= t para cada celda de entrenamiento, regenerar características después de eliminar todos los registros sin procesar posteriores al origen y reproducir varios orígenes a partir de instantáneas guardadas. Un pronóstico histórico que cambia cuando se eliminan datos futuros no disponibles revela una fuga de información o una dependencia no reproducible.

Paso 3: Establecer líneas base que sean difíciles de manipular.

Como mínimo, compare contra un pronóstico estacional ingenuo que utilice el mismo día de la semana de la semana anterior. Agregue una línea base del año anterior si la estacionalidad anual es lo suficientemente estable. Un modelo complejo justifica su costo solo cuando supera consistentemente a las líneas base en orígenes, características disponibles y filas evaluadas idénticas. Una ganancia inverosímilmente grande debería motivar una auditoría de alineación temporal y fuga de información antes de celebrar.

Paso 4: Alinear las métricas con los costos de falla.

Utilice MAE para el error absoluto típico, RMSE para exponer grandes desviaciones y el error medio con signo para revelar sobreestimaciones o subestimaciones persistentes. El MAPE no está definido en cero y es inestable cerca de cero, por lo que no puede ser la única métrica. Para comparaciones entre diferentes escalas, el MASE puede escalar el error mediante un error estacional ingenuo calculado a partir del fold de entrenamiento. El WAPE puede respaldar la planificación agregada, pero las ciudades de alto volumen lo dominan.

Para pronósticos por cuantiles, evalúe cada cuantil con la pérdida pinball (pinball loss) y compare la cobertura empírica con el nivel previsto, como P90. La cobertura debe evaluarse junto con el ancho del intervalo: un intervalo extremadamente amplio puede tener buena cobertura pero ser inútil para tomar decisiones de capacidad.

Paso 5: Preservar la estructura del error antes de agregar.

Conserve origin, horizon, city, el valor real y el pronóstico en cada fila evaluada, y luego reporte:

  1. los horizontes 1 al 7 por separado, para que la precisión a corto plazo no oculte el colapso en horizontes distantes;
  2. tanto un promedio macro de ciudades iguales como un resultado ponderado por volumen;
  3. la distribución a través de los folds temporales, no solo su media;
  4. períodos pico, días festivos, ciudades de bajo volumen, ciudades nuevas y ventanas de clima inusual por separado;
  5. rachas de sesgo en la misma dirección dentro de una ciudad.

Paso 6: Seleccionar dentro de los folds rodantes y bloquear la prueba final.

Utilice los folds rodantes de desarrollo para modelos, ventanas e hiperparámetros. Registre los experimentos cuando el recuento de comparaciones sea grande para que los ensayos repetidos no optimicen silenciosamente el ruido en unos pocos folds. Congele el pipeline completo y luego evalúe una sola vez en las 8 a 12 semanas continuas finales. Esa duración es otro supuesto de la entrevista y debe ajustarse según la estacionalidad y las necesidades de muestreo.

Predefina compuertas de lanzamiento: la pérdida de negocio agregada supera a la estacional ingenua; las ciudades críticas no exceden un umbral de degradación; el horizonte 7 sigue siendo aceptable; el sesgo se mantiene dentro de la tolerancia de capacidad; y la cobertura y el ancho del intervalo son satisfactorios. Si el promedio gana pero falla una compuerta crítica, no lance globalmente: haga un despliegue canario (canary) solo en las ciudades que aprueben o mantenga la línea base.

Paso 7: Extender el protocolo a la monitorización en producción.

Registre la versión del modelo, la instantánea de datos, el origen del pronóstico, las predicciones por horizonte y las versiones de las características. Cuando las etiquetas maduren y estén completas, recalcule las mismas métricas y compárelas con las distribuciones del backtest. Monitoree la disponibilidad de datos, los valores faltantes, el sesgo con signo, el error por horizonte y la diferencia respecto a la línea base. Tras un cambio de régimen, vuelva a evaluar la política de la ventana de entrenamiento en lugar de asumir que un reentrenamiento frecuente corrige el protocolo.

Ejemplo de respuesta de alta calidad

"Reproduciría una ejecución de producción en una serie de orígenes históricos. Si el trabajo se reentrena el lunes a las 06:00 y genera siete días a la vez, cada fold ve solo los datos disponibles con etiquetas completas en ese momento, entrena con la ventana de producción y evalúa los siete días siguientes. Si las etiquetas se retrasan dos días, el entrenamiento finaliza dos días antes del origen. El clima utiliza la versión del pronóstico disponible entonces, nunca la observación real realizada.

Todas las transformaciones residen dentro del fold. Los escaladores, imputadores, codificadores y la selección de características se ajustan únicamente en las filas de entrenamiento, mientras que los rezagos y las ventanas rodantes deben terminar a más tardar en el origen. También eliminaría los datos sin procesar posteriores al origen y regeneraría las características para verificar que la predicción histórica no cambie.

El primer punto de comparación es el pronóstico estacional ingenuo del mismo día de la semana pasada. Conservo los resultados por ciudad, origen y horizonte, y luego reporto MAE, RMSE, sesgo con signo y costo del negocio. Las ciudades reciben tanto una ponderación igual como una ponderación por volumen. El MAPE falla con los ceros, por lo que no lo usaría solo. Para cuantiles, agregaría pérdida pinball, cobertura por horizonte y ancho del intervalo.

Los folds rodantes seleccionan el pipeline; se utiliza un período continuo final una sola vez. Las compuertas de lanzamiento se fijan antes de esa prueba: superar la línea base globalmente, evitar degradaciones inaceptables en ciudades críticas, aprobar el horizonte 7 y las semanas pico, y cumplir con los requisitos de sesgo y calibración de intervalos. En producción, registro los orígenes y las versiones de datos para que las etiquetas maduras puedan reproducir los mismos cortes. Eso hace que la ganancia offline sea comparable con el sistema que realmente ejecutaremos".

Errores comunes

  • Mezclar fechas aleatoriamente → El entrenamiento ve mecanismos y estadísticas de características posteriores a la fecha de prueba → Utilice orígenes rodantes que reproduzcan las ejecuciones de producción.
  • Generar características y escalar en el conjunto de datos completo → La información de validación ha entrado en el entrenamiento → Ajuste cada transformación por fold y reproduzca las características según su tiempo de disponibilidad.
  • Reemplazar un pronóstico del tiempo con el clima real observado → La evaluación offline tiene información de la que carecía producción → Almacene y utilice la versión del pronóstico disponible en cada origen.
  • Reportar un solo MAPE agregado → Los ceros, las ciudades pequeñas y los horizontes lejanos se gestionan mal o se ocultan → Combine error absoluto, sesgo, pérdida de negocio y resultados segmentados.
  • Omitir una línea base estacional ingenua → La complejidad del modelo no tiene un punto de referencia incremental creíble → Evalúe la línea base en folds y filas idénticos.
  • Modificar el modelo después de ver la prueba final → El holdout pasa a participar en la selección → Congele una vez; tras una falla, espere un nuevo holdout futuro.
  • Lanzar globalmente porque el promedio mejora → Las ciudades de alto volumen pueden ocultar degradaciones en subgrupos críticos → Predefina compuertas para subgrupos, picos y horizontes, y haga despliegues canario por ciudad.

Preguntas de seguimiento y respuestas

¿Cómo evaluaría una ciudad que nunca ha aparecido en el entrenamiento?

Los folds rodantes ordinarios sitúan las mismas ciudades en entrenamiento y prueba, por lo que no pueden estimar el arranque en frío (cold start). Agregue una evaluación con ciudades excluidas (city-held-out): elimine un grupo de ciudades por completo mientras entrena un modelo compartido, luego use solo atributos estáticos o el breve historial genuinamente disponible en el lanzamiento. Reporte los casos sin historial y con historial breve por separado frente a líneas base ingenuas regionales y globales.

Una promoción dura 14 días mientras que el horizonte de pronóstico es de 7 días. ¿Necesita un desfase (gap)?

El desfase depende de la disponibilidad de información y la superposición de etiquetas, no mecánicamente del horizonte. Si una etiqueta o agregado de entrenamiento consume resultados de 14 días posteriores al origen, truncamiento o deje una separación suficiente. Si el plan de la promoción se confirmó antes del origen y la característica contiene solo ese plan, su duración de 14 días no genera fugas por sí misma. Trace una línea de tiempo para cada campo.

¿Qué pasa si el nuevo modelo solo mejora las ciudades de alto volumen?

Muestre el beneficio ponderado por volumen junto con la degradación en el promedio de ciudades iguales y convierta los requisitos del negocio en compuertas de lanzamiento. Puede ser válido lanzar el nuevo modelo solo para ciudades de alto volumen mientras se mantiene una línea base o un modelo jerárquico en las demás. Un único promedio ponderado no demuestra que todas las ciudades se beneficien.

El error online es mucho peor que el del backtest. ¿Qué inspecciona primero?

Comience con la reproducibilidad: ¿pueden el modelo exacto, el origen, la instantánea de características y las versiones de variables exógenas reconstruir la predicción? Luego separe los retrasos de datos o cambios de definición, las diferencias de transformación entre entrenamiento y servicio (training-serving skew), los cambios de régimen que también perjudican la línea base y la deriva específica del modelo. Localice la discrepancia del protocolo antes de optar por reentrenar, acortar la ventana, revertir cambios o diseñar una nueva validación.

Fuentes públicas

Preguntas relacionadas