Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Простое и точное прогнозирование с AutoGluon-TimeSeries

AutoGluon-TimeSeries — это последнее дополнение к AutoGluon, которое позволяет легко создавать мощные модели прогнозирования временных рядов, написав всего три строки кода.

Прогнозирование временных рядов является распространенной задачей в самых разных отраслях, а также в научных областях. Доступ к надежным прогнозам спроса, предложения или мощности имеет решающее значение для планирования бизнеса. Однако прогнозирование временных рядов является сложной задачей, особенно когда доступны тысячи потенциально связанных временных рядов, таких как продажи в большом каталоге электронной коммерции или емкость на сотнях действующих сайтов.

Простые статистические методы или методы прогнозирования, основанные на суждениях, часто уже являются надежными базовыми показателями, которые трудно улучшить с помощью новых методов машинного обучения (МО). Более того, применение последних достижений в области машинного обучения для прогнозирования разнообразно, и лишь немногие методы, такие как ДипАР [1] или Temporal Fusion Transformers [2], которые становятся популярным выбором. Однако эти методы сложно обучить, настроить и внедрить в производство, что требует экспертных знаний в области машинного обучения и анализа временных рядов.

AutoML — это быстрорастущая тема в ML, посвященная автоматизации общих задач в конвейерах ML, включая предварительную обработку функций, выбор модели, настройку модели, сборку и развертывание. AutoGluon-TimeSeries — последнее дополнение к АвтоГлюон, одно из ведущих решений AutoML с открытым исходным кодом, основанное на мощной платформе AutoGluon для AutoML в задачах прогнозирования. AutoGluon-TimeSeries был разработан для создания мощных систем прогнозирования с помощью всего трех строк кода, облегчающих задачи предварительной обработки функций, выбора модели, настройки модели и простоты развертывания.

С помощью простого вызова AutoGluon-TimeSeries TimeSeriesPredictor, AutoGluon следует интуитивно понятному порядку приоритетов при подборе моделей: начиная с простых наивных базовых линий и переходя к мощным глобальным нейронным сетям и усовершенствованным методам на основе деревьев, и все это в пределах временного бюджета, указанного пользователем. Когда доступны связанные временные ряды (изменяющиеся во времени ковариаты или экзогенные переменные) или метаданные элемента (статические признаки), AutoGluon-TimeSeries учитывает их в прогнозе. Библиотека также использует байесовскую оптимизацию для настройки гиперпараметров, достигая наилучшей конфигурации модели путем настройки сложных моделей. Наконец, AutoGluon-TimeSeries сочетает в себе лучшие статистические методы и методы, основанные на машинном обучении, в ансамбле моделей, оптимизированном для решения поставленной задачи.

В этом посте мы демонстрируем простоту использования AutoGluon-TimeSeries для быстрого создания мощного прогнозиста.

Начните работу с AutoGluon-TimeSeries

Для начала вам нужно установить AutoGluon, что легко сделать с помощью pip в оболочке UNIX:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries представляет TimeSeriesDataFrame класс для работы с наборами данных, включающими несколько связанных временных рядов (иногда называемый набором панельных данных). Эти фреймы данных могут быть созданы из фреймов данных так называемого длинного формата, которые имеют идентификаторы временных рядов и метки времени, организованные в строки. Ниже приведен один из таких примеров данных, взятых из конкурса M4 [3]. Здесь item_id Столбец указывает уникальный идентификатор одного временного ряда, например идентификатор продукта для ежедневных данных о продажах нескольких продуктов. target столбец представляет собой интересующее значение, которое AutoGluon-TimeSeries научится прогнозировать. weekend — это дополнительная изменяющаяся во времени ковариата, которую мы создали, чтобы отметить, было ли наблюдение в выходные дни или нет.

Мы можем легко произвести новый TimeSeriesDataFrame из этого набора данных с помощью from_data_frame конструктор. См. следующий код Python:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Некоторые данные временных рядов имеют неизменяющиеся во времени функции (статические функции или метаданные элементов), которые можно использовать при обучении модели прогнозирования. Например, набор данных M4 содержит переменную категории для каждого временного ряда. Их можно добавить в TimeSeriesDataFrame установив static_features переменная с новым фреймом данных.

Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Используйте следующий код:

df.static_features = raw_static_features

Обучить предиктор TimeSeries

Наконец, мы можем назвать TimeSeriesPredictor чтобы соответствовать широкому спектру моделей прогнозирования для построения точной системы прогнозирования. См. следующий код:

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

Здесь мы указываем, что TimeSeriesPredictor должны создавать модели для прогнозирования следующих семи периодов времени и оценивать лучшие модели, используя среднюю абсолютную масштабированную ошибку (МАСЭ). Кроме того, мы указываем, что нестационарная ковариата weekend доступен в наборе данных. Теперь мы можем разместить объект-предиктор на TimeSeriesDataFrame произведенные ранее:

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

Помимо предоставления обучающих данных, мы просим предиктора использовать “medium_quality” пресеты. AutoGluon-TimeSeries поставляется с несколькими предустановками для выбора подмножеств моделей для рассмотрения и времени, затрачиваемого на их настройку, управляя компромиссом между скоростью обучения и точностью. Помимо пресетов, более опытные пользователи могут использовать hyperparameters аргумент, чтобы точно указать модели компонентов и какие гиперпараметры установить для них. Мы также указываем ограничение по времени в 1,800 секунд, по истечении которого предиктор прекращает обучение.

Под капотом AutoGluon-TimeSeries обучает как можно больше моделей в течение заданного периода времени, начиная с наивных, но мощных базовых показателей и переходя к более сложным прогнозистам, основанным на форсированных деревьях и моделях нейронных сетей. Позвонив predictor.leaderboard(), мы можем увидеть список всех моделей, которые он обучил, а также показатели точности и время обучения для каждой из них. Обратите внимание, что каждая модель AutoGluon-TimeSeries сообщает о своих ошибках в формате «чем больше, тем лучше», что означает, что большинство показателей ошибок прогнозирования умножаются на -1 при сообщении. См. следующий пример:

              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

Прогноз с помощью TimeSeriesPredictor

Наконец, мы можем использовать предиктор, чтобы предсказать все временные ряды в TimeSeriesDataFrame, 7 дней в будущем. Обратите внимание, что, поскольку мы использовали изменяющиеся во времени ковариаты, которые, как предполагается, будут известны в будущем, их также следует указывать во время прогнозирования. См. следующий код:

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

По умолчанию AutoGluon-TimeSeries предоставляет как точечные прогнозы, так и вероятностные (квантильные) прогнозы целевого значения. Вероятностные прогнозы необходимы во многих задачах планирования, и их можно использовать для гибкого расчета интервалов, что позволяет выполнять последующие задачи, такие как инвентаризация и планирование мощностей.

Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Ниже приведен пример графика прогноза, демонстрирующий точечные прогнозы и интервалы прогнозирования.

Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Заключение

AutoGluon-TimeSeries предоставляет прогнозистам и специалистам по данным быстрый и простой способ создания мощных моделей прогнозирования. В дополнение к некоторым часто используемым функциям библиотеки, продемонстрированным в этом посте, AutoGluon-TimeSeries предлагает набор способов настройки прогнозов для опытных пользователей. Предикторы также легко обучать, развертывать и обслуживать в любом масштабе с помощью Создатель мудреца Амазонки, используя глубокое обучение AutoGluon контейнеры.

Для получения более подробной информации об использовании AutoGluon, примеров, руководств, а также других задач, которые решает AutoGluon, таких как изучение табличных или мультимодальных данных, посетите АвтоГлюон. Чтобы начать использовать AutoGluon-TimeSeries, ознакомьтесь с нашим руководство по быстрому запуску или наши подробное руководство для более глубокого изучения всех функций, предлагаемых библиотекой. Следите за AutoGluon на Twitter, и пометить нас на GitHub чтобы быть в курсе последних обновлений.

Для прогнозирования в масштабе с выделенными вычислениями и рабочими процессами, поддержкой на уровне предприятия, объяснимостью прогнозов и многим другим, также ознакомьтесь с Прогноз Амазонки.

Рекомендации

[1] Салинас, Дэвид, Валентин Фланкерт, Ян Гастхаус и Тим Янушовски. «DeepAR: вероятностное прогнозирование с авторегрессионными рекуррентными сетями». Международный журнал прогнозирования 36. 3 (2020): 1181-1191.

[2] Лим, Брайан, Серкан О Арик, Николас Лоефф и Томас Пфистер. «Temporal Fusion Transformers для интерпретируемого прогнозирования временных рядов с несколькими горизонтами». Международный журнал прогнозирования 37.4 (2021): 1748-1764.

[3] Макридакис, Спирос, Евангелос Спилиотис и Вассилиос Ассимакопулос. «Конкурс M4: 100,000 61 временных рядов и XNUMX метод прогнозирования». Международный журнал прогнозирования 36.1 (2020): 54-74.


Об авторах

Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джанер Туркмен является прикладным ученым в Amazon Web Services, где он работает над проблемами на стыке машинного обучения и прогнозирования, а также занимается разработкой AutoGluon-TimeSeries. До прихода в AWS он работал специалистом по обработке и анализу данных в сфере управленческого консалтинга, обслуживая финансовые и телекоммуникационные отрасли в проектах по всему миру. Личные исследовательские интересы Канера охватывают целый ряд тем, включая прогнозирование, причинно-следственные связи и AutoML.

Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Александр Щур является прикладным ученым в Amazon Web Services, где он занимается прогнозированием временных рядов в AutoGluon-TimeSeries. До прихода в AWS он защитил докторскую диссертацию по машинному обучению в Техническом университете Мюнхена, Германия, где занимался исследованиями вероятностных моделей для данных о событиях. Его исследовательские интересы включают машинное обучение для временных данных и генеративное моделирование.

Простое и точное прогнозирование с помощью AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Ник Эриксон является старшим научным сотрудником в Amazon Web Services. Он получил степень магистра компьютерных наук и инженерии в Университете городов-побратимов Миннесоты. Он является соавтором и ведущим разработчиком платформы AutoML с открытым исходным кодом AutoGluon. Начав с личного конкурса инструментов машинного обучения в 2018 году, Ник постоянно расширял возможности AutoGluon и присоединился к Amazon AI в 2019 году, чтобы открыть исходный код проекта и работать полный рабочий день над продвижением передовых технологий в AutoML.

Отметка времени:

Больше от Машинное обучение AWS