Proyecto final de posgrado, MS Analytics, Texas A&M University, 2021
Cuando el mejor ajuste da el peor pronóstico
Un proyecto final de posgrado que compara cuatro formas de pronosticar un proceso productivo a partir de sus propios datos operativos. Su hallazgo sigue guiando cómo elegimos modelos.
Nuestro asistente de IA te pregunta por tu proyecto y te puede armar un plan gratis.
Ilustración conceptual. No son datos del proyecto.
El hallazgo, dibujado. Las formas son inventadas para que se lean bien; no aparece ningún valor del proyecto.
El problema
Para planificar un proceso necesitas un pronóstico a corto plazo de lo que va a producir. La
forma exhaustiva de obtenerlo es construir una simulación basada en la física, lo que toma
meses y un presupuesto a la altura. El proyecto se preguntó si los datos operativos que ya se
miden de rutina podían dar un pronóstico utilizable mucho más rápido.
El sistema tiene entradas que un operador puede controlar y salidas que se miden. Cuando el
operador cambia un ajuste, la salida responde, y la relación es lo bastante estable como para
aprender de ella.
Así funcionan la mayoría de los procesos: entran ajustes y salen mediciones. Por eso el método
sirve igual para una línea de producción, un servicio público o un ducto, sea cual sea la
industria de donde vinieron los datos.
Ilustración conceptual. No son datos del proyecto.
Por qué el método sirve en otras industrias: ajustes que tú controlas, un proceso y mediciones que regresan.
Los datos
El
conjunto de datos abierto Volve
de Equinor: varias unidades productoras y dos inyectores, con caudales, presiones, ajustes de
control y horas en operación. El análisis se concentró a fondo en una unidad.
La limpieza vino antes de correr cualquier modelo. Los valores de horas en operación por
encima del máximo posible se trataron como valores atípicos. Los caudales resultaron tener una
distribución log-normal y no normal, y eso cambia lo que te está diciendo un gráfico de
residuos.
Cómo lo abordamos
Cuatro familias de modelos, comparadas con los mismos datos:
Regresión lineal múltiple, con los predictores revisados por significancia y
multicolinealidad
Un ARIMA univariado sobre la serie diferenciada
Un modelo de función de transferencia: cada entrada preblanqueada, los rezagos identificados
y luego el ajuste
Un VARMAX multivariado, con unas cincuenta especificaciones probadas y elegidas con un
criterio de información
Correr los cuatro lado a lado mostró qué tan distinto se pueden comportar modelos que
describen el mismo historial cuando les toca predecir.
Cómo está construido
Fue un estudio, sin ningún sistema en producción detrás. Cada modelo se preparó y se ajustó de
la misma manera, y luego se le pidió pronosticar un tramo de datos que no había visto. La
prueba que importaba era si el pronóstico se mantenía dentro de lo que el proceso puede hacer
físicamente.
Métodos y herramientas: SAS, JMP, Python y Tableau, que
eran las herramientas disponibles en ese momento.
Lo que podemos mostrar
El modelo con el mejor ajuste dentro de la muestra dio el pronóstico menos realista.
El ARIMA se ajustó al historial mejor que cualquier otro y luego predijo un futuro que el
proceso no podía producir físicamente. Si se hubiera elegido solo por las estadísticas de
ajuste, habría ganado ese modelo.
El modelo de función de transferencia se ajustó un poco peor y pronosticó con sentido, porque
incorporaba lo que mueve la salida: cuando se baja un ajuste de control, el pronóstico baja
con él. El modelo multivariado fue rápido de construir y captó cómo se mueven juntas las
salidas.
Ajuste sobre el historialComportamiento del pronóstico
Regresión linealAjuste sobre el historial Una base razonable una vez revisados los predictores Comportamiento del pronóstico Útil como punto de referencia, pero no como pronóstico
ARIMAAjuste sobre el historial El ajuste más cercano de los cuatro Comportamiento del pronóstico Se salió del rango que el proceso podía producir físicamente
Función de transferenciaAjuste sobre el historial Un poco más holgado Comportamiento del pronóstico Siguió el historial y respondió correctamente cuando cambió un ajuste de control
Multivariado (VARMAX)Ajuste sobre el historial Rápido de construir, residuos bien comportados Comportamiento del pronóstico Captó cómo se mueven juntas las salidas y luego se desvió en el tramo más largo
El resultado cambia según la variable
Para el caudal principal, el pronóstico de función de transferencia se mantuvo cerca de los
datos de validación reservados, mientras que el modelo multivariado se desvió muy por encima.
Para la segunda variable, el panorama se invierte más adelante en la comparación: el modelo
multivariado se mantiene más cerca y la línea de función de transferencia se aleja de los
datos hacia arriba.
Así que este proyecto no nombra un modelo ganador. La lección útil es probar con la variable
que te importa, porque un promedio entre las salidas habría ocultado por completo esa
inversión.
Lo que esta página deja fuera a propósito
Aquí no vas a encontrar ninguna cifra de precisión, ningún porcentaje de error ni ninguna
afirmación sobre con cuánta anticipación se puede confiar en estos modelos. Los resultados
originales se produjeron con software cuya licencia ya no tenemos, así que nada se puede
volver a abrir y comparar con su fuente. Publicar un número que no podemos verificar sería
peor que no publicar ninguno, y el hallazgo de arriba no depende de uno.
La presentación original también estimaba ahorros de tiempo y de costo frente a construir una
simulación. Eran proyecciones de un estudiante que nunca se midieron, así que también las
dejamos fuera.
Lo que demuestra
Las estadísticas de ajuste no te dicen si un pronóstico sirve para tomar una decisión. La
prueba es si se comporta bien cuando alguien cambia un ajuste, y si se sostiene en la variable
de la que depende la decisión.
Es la prueba que hoy aplicamos a un pronóstico. También es la razón por la que el
paquete de pronósticos reporta el desempeño con
datos que el modelo nunca vio, y no con el historial al que se ajustó.
Lo que haríamos distinto hoy
Lo reconstruiríamos en Python abierto, como un notebook reproducible que cualquiera pueda
correr. La validación de origen móvil reportaría el error de cada horizonte por separado, y al
lado iría una línea base de aprendizaje automático. Es el único camino hacia números que un
lector pueda comprobar. Lo tenemos anotado como proyecto, sin comprometernos a hacerlo.