Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Pronóstico fácil y preciso con AutoGluon-TimeSeries

AutoGluon-TimeSeries es la última incorporación a AutoGluon, que le ayuda a crear fácilmente modelos potentes de pronóstico de series temporales con tan solo tres líneas de código.

La previsión de series temporales es una tarea común en una amplia gama de industrias, así como en dominios científicos. Tener acceso a pronósticos confiables de oferta, demanda o capacidad es crucial para la planificación de negocios. Sin embargo, la previsión de series temporales es un problema difícil, especialmente cuando hay disponibles miles de series temporales potencialmente relacionadas, como las ventas en un gran catálogo en el comercio electrónico o la capacidad en cientos de sitios operativos.

Los métodos de pronóstico estadísticos simples o basados ​​en juicios a menudo ya son líneas de base sólidas que son difíciles de mejorar con métodos novedosos de aprendizaje automático (ML). Además, las aplicaciones de los avances recientes en ML al pronóstico son variadas, con pocos métodos como AR profundo [1] o Temporal Fusion Transformers [2] surgiendo como opciones populares. Sin embargo, estos métodos son difíciles de entrenar, ajustar e implementar en producción, lo que requiere un conocimiento experto de ML y análisis de series temporales.

AutoML es un tema de rápido crecimiento dentro de ML, que se centra en la automatización de tareas comunes en las canalizaciones de ML, incluido el preprocesamiento de funciones, la selección de modelos, el ajuste de modelos, el ensamblaje y la implementación. AutoGluon-TimeSeries es la última incorporación a AutoGluón, una de las principales soluciones AutoML de código abierto, y se basa en el poderoso marco de AutoGluon para AutoML en tareas de previsión. AutoGluon-TimeSeries fue diseñado para construir sistemas de pronóstico poderosos con tan solo tres líneas de código, aliviando los desafíos del preprocesamiento de funciones, la selección de modelos, el ajuste de modelos y la facilidad de implementación.

Con una simple llamada a AutoGluon-TimeSeries's TimeSeriesPredictor, AutoGluon sigue un orden de prioridad intuitivo en el ajuste de modelos: a partir de líneas de base sencillas e ingenuas y pasando a una red neuronal global poderosa y métodos basados ​​en árboles potenciados, todo dentro del presupuesto de tiempo especificado por el usuario. Cuando están disponibles series temporales relacionadas (covariables que varían en el tiempo o variables exógenas) o metadatos de elementos (características estáticas), AutoGluon-TimeSeries los incluye en el pronóstico. La biblioteca también aprovecha la optimización bayesiana para el ajuste de hiperparámetros, llegando a la mejor configuración de modelo mediante el ajuste de modelos complejos. Finalmente, AutoGluon-TimeSeries combina lo mejor de los métodos estadísticos y basados ​​en ML en un conjunto de modelos optimizado para el problema en cuestión.

En esta publicación, mostramos la facilidad de uso de AutoGluon-TimeSeries para construir rápidamente un poderoso pronosticador.

Comience con AutoGluon-TimeSeries

Para comenzar, debe instalar AutoGluon, que se realiza fácilmente con pip en un shell de UNIX:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries presenta el TimeSeriesDataFrame clase para trabajar con conjuntos de datos que incluyen varias series temporales relacionadas (a veces denominado conjunto de datos de panel). Estos marcos de datos se pueden crear a partir de los llamados marcos de datos de formato largo, que tienen ID de series temporales y marcas de tiempo dispuestas en filas. El siguiente es un ejemplo de estos datos, tomado de la competencia M4 [3]. Aquí el item_id La columna especifica el identificador único de una única serie temporal, como el ID del producto para los datos de ventas diarias de varios productos. los target columna es el valor de interés que AutoGluon-TimeSeries aprenderá a pronosticar. weekend es una covariable adicional variable en el tiempo que producimos para marcar si la observación fue el fin de semana o no.

Podemos producir fácilmente un nuevo TimeSeriesDataFrame de este conjunto de datos usando el from_data_frame constructor. Vea el siguiente código de Python:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Algunos datos de series temporales tienen características que no varían con el tiempo (características estáticas o metadatos de elementos) que se pueden usar para entrenar un modelo de pronóstico. Por ejemplo, el conjunto de datos M4 presenta una variable de categoría para cada serie temporal. Estos se pueden agregar a la TimeSeriesDataFrame estableciendo el static_features variable con un nuevo marco de datos.

Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Utilice el siguiente código:

df.static_features = raw_static_features

Entrenar un TimeSeriesPredictor

Finalmente, podemos llamar a la TimeSeriesPredictor para adaptarse a una amplia gama de modelos de pronóstico para construir un sistema de pronóstico preciso. Ver el siguiente código:

predictor = TimeSeriesPredictor(
    prediction_length=7,
    eval_metric="MASE",
    known_covariates_names=["weekend"],
)

Aquí especificamos que el TimeSeriesPredictor debe producir modelos para pronosticar los próximos siete períodos de tiempo y juzgar los mejores modelos utilizando el error de escala absoluto medio (MASA). Además, indicamos que la covariable variable en el tiempo weekend está disponible en el conjunto de datos. Ahora podemos ajustar el objeto predictor en el TimeSeriesDataFrame producido antes:

predictor.fit(df, presets="medium_quality", time_limit=1800)

Además de proporcionar los datos de entrenamiento, le pedimos al predictor que use “medium_quality” Preajustes. AutoGluon-TimeSeries viene con múltiples ajustes preestablecidos para seleccionar subconjuntos de modelos a considerar y cuánto tiempo dedicar a ajustarlos, gestionando el equilibrio entre la velocidad de entrenamiento y la precisión. Además de los ajustes preestablecidos, los usuarios más experimentados pueden usar un hyperparameters argumento para especificar con precisión los modelos de componentes y qué hiperparámetros establecer en ellos. También especificamos un límite de tiempo de 1,800 segundos, después del cual el predictor deja de entrenar.

Debajo del capó, AutoGluon-TimeSeries entrena tantos modelos como puede dentro del marco de tiempo especificado, comenzando desde líneas de base ingenuas pero poderosas y trabajando hacia pronosticadores más complejos basados ​​en modelos de redes neuronales y árboles potenciados. Llamando predictor.leaderboard(), podemos ver una lista de todos los modelos que ha entrenado y las puntuaciones de precisión y los tiempos de entrenamiento para cada uno. Tenga en cuenta que cada modelo de AutoGluon-TimeSeries informa sus errores en un formato de "cuanto más alto, mejor", lo que significa que la mayoría de las medidas de error de pronóstico se multiplican por -1 cuando se informa. Vea el siguiente ejemplo:

              model  score_val  pred_time_val  fit_time_marginal  fit_order
0  WeightedEnsemble  -0.612510      15.406334          48.428711          8
1  AutoGluonTabular  -0.654924       1.068694         104.208688          6
2            DeepAR  -0.673366       6.731659        1065.956648          7
3     SeasonalNaive  -1.035286       0.410615           0.000742          2
4               ETS  -1.073640       5.832542           0.000584          3
5             Theta  -1.107362       1.773439           0.000614          4
6             ARIMA  -3.006273       2.483140           0.000625          5
7             Naive  -3.427339      29.532215           0.000577          1

Pronóstico con un TimeSeriesPredictor

Finalmente, podemos usar el predictor para predecir todas las series de tiempo en un TimeSeriesDataFrame, 7 días en el futuro. Tenga en cuenta que debido a que usamos covariables variables en el tiempo que se supone que se conocerán en el futuro, estas también deben especificarse en el momento de la predicción. Ver el siguiente código:

predictions = predictor.predict(
	df,
	known_covariates=future_known_covariates
)

De forma predeterminada, AutoGluon-TimeSeries proporciona pronósticos puntuales y pronósticos probabilísticos (cuantiles) del valor objetivo. Los pronósticos probabilísticos son esenciales en muchas tareas de planificación y se pueden usar para calcular intervalos de manera flexible, lo que permite tareas posteriores como la planificación de inventario y capacidad.

Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El siguiente es un gráfico de pronóstico de muestra que muestra los pronósticos puntuales y los intervalos de predicción.

Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Conclusión

AutoGluon-TimeSeries brinda a los pronosticadores y científicos de datos una forma rápida y fácil de crear modelos de pronóstico potentes. Además de algunas de las funciones de uso común de la biblioteca que se muestran en esta publicación, AutoGluon-TimeSeries presenta un conjunto de formas de configurar pronósticos para usuarios avanzados. Los predictores también son fáciles de entrenar, implementar y servir a escala con Amazon SageMaker, utilizando el aprendizaje profundo de AutoGluon contenedores.

Para obtener más detalles sobre el uso de AutoGluon, ejemplos, tutoriales y otras tareas que aborda AutoGluon, como el aprendizaje en datos tabulares o multimodales, visite AutoGluón. Para comenzar a usar AutoGluon-TimeSeries, consulte nuestro tutorial de inicio rápido o nuestra tutorial en profundidad para una mirada más profunda a todas las funciones que ofrece la biblioteca. Siga a AutoGluon en Twitter, y protagonizarnos GitHub para estar informado de las últimas actualizaciones.

Para realizar pronósticos a escala con cómputo y flujos de trabajo dedicados, soporte de nivel empresarial, explicación de pronósticos y más, consulte también Pronóstico del Amazonas.

Referencias

[1] Salinas, David, Valentín Flunkert, Jan Gasthaus y Tim Januschowski. "DeepAR: Pronóstico probabilístico con redes recurrentes autorregresivas". Revista internacional de previsión 36. 3 (2020): 1181-1191.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff y Tomas Pfister. “Transformadores de fusión temporal para el pronóstico de series de tiempo de múltiples horizontes interpretables”. Revista internacional de previsión 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis y Vassilios Assimakopoulos. "La competencia M4: 100,000 series temporales y 61 métodos de pronóstico". Revista internacional de previsión 36.1 (2020): 54-74.


Sobre los autores

Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Caner turcomano es científico aplicado en Amazon Web Services, donde trabaja en problemas en la intersección del aprendizaje automático y la previsión, además de desarrollar AutoGluon-TimeSeries. Antes de unirse a AWS, trabajó en la industria de la consultoría de gestión como científico de datos, sirviendo a las industrias de telecomunicaciones y servicios financieros en proyectos en todo el mundo. Los intereses de investigación personales de Caner abarcan una variedad de temas, incluidos pronósticos, inferencia causal y AutoML.

Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Oleksandr Shchur es científico aplicado en Amazon Web Services, donde trabaja en la previsión de series temporales en AutoGluon-TimeSeries. Antes de unirse a AWS, completó un doctorado en Machine Learning en la Universidad Técnica de Munich, Alemania, investigando sobre modelos probabilísticos para datos de eventos. Sus intereses de investigación incluyen el aprendizaje automático de datos temporales y el modelado generativo.

Pronóstico fácil y preciso con AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.nick erickson es científico senior aplicado en Amazon Web Services. Obtuvo su maestría en Ciencias de la Computación e Ingeniería de la Universidad de Minnesota Twin Cities. Es coautor y desarrollador principal del marco AutoML de código abierto AutoGluon. Comenzando como un kit de herramientas de ML de competencia personal en 2018, Nick amplió continuamente las capacidades de AutoGluon y se unió a Amazon AI en 2019 para abrir el código del proyecto y trabajar a tiempo completo en el avance de la tecnología de punta en AutoML.

Sello de tiempo:

Mas de Aprendizaje automático de AWS