Просте й точне прогнозування за допомогою AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Просте й точне прогнозування за допомогою AutoGluon-TimeSeries

AutoGluon-TimeSeries — це останнє доповнення до AutoGluon, яке допомагає легко створювати потужні моделі прогнозування часових рядів за допомогою лише трьох рядків коду.

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

Прості статистичні або засновані на судженнях методи прогнозування часто вже є надійними базовими показниками, які важко покращити за допомогою нових методів машинного навчання (ML). Більше того, застосування останніх досягнень у ML для прогнозування різноманітне, з кількома методами, такими як DeepAR [1] або тимчасові термоядерні трансформатори [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 у стовпці вказується унікальний ідентифікатор одного часового ряду, наприклад ідентифікатор продукту для щоденних даних про продажі кількох продуктів. The 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. Вертикальний пошук. Ai.

Використовуйте наступний код:

df.static_features = raw_static_features

Навчання TimeSeriesPredictor

Нарешті ми можемо подзвонити TimeSeriesPredictor відповідати широкому спектру моделей прогнозування для створення точної системи прогнозування. Перегляньте наступний код:

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

Тут ми вказуємо, що TimeSeriesPredictor повинні створювати моделі для прогнозування наступних семи періодів часу та оцінювати найкращі моделі за допомогою середньої абсолютної масштабованої похибки (MASE). Крім того, ми вказуємо, що змінна в часі коваріата weekend доступний у наборі даних. Тепер ми можемо розмістити об’єкт предиктора на TimeSeriesDataFrame виготовлені раніше:

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

Окрім надання даних навчання, ми просимо використовувати предиктор “medium_quality” попередні налаштування. AutoGluon-TimeSeries поставляється з кількома попередніми настройками, щоб вибрати підмножини моделей для розгляду та скільки часу витратити на їх налаштування, керуючи компромісом між швидкістю навчання та точністю. Окрім пресетів, більш досвідчені користувачі можуть використовувати a 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

Нарешті, ми можемо використовувати предиктор для прогнозування всіх часових рядів у a TimeSeriesDataFrame, 7 днів у майбутнє. Зауважте, що оскільки ми використовували змінні в часі коваріати, які, як припускаємо, будуть відомі в майбутньому, їх також слід вказати під час прогнозування. Перегляньте наступний код:

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

За замовчуванням AutoGluon-TimeSeries надає як точкові прогнози, так і імовірнісні (квантильні) прогнози цільового значення. Імовірнісні прогнози важливі для багатьох завдань планування, і їх можна використовувати для гнучкого обчислення інтервалів, що дозволяє виконувати наступні завдання, такі як інвентаризація та планування потужностей.

Просте й точне прогнозування за допомогою AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Просте й точне прогнозування за допомогою AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Висновок

AutoGluon-TimeSeries дає прогнозистам і дослідникам даних швидкий і простий спосіб створювати потужні моделі прогнозування. На додаток до деяких загальновживаних функцій бібліотеки, представлених у цій публікації, AutoGluon-TimeSeries містить набір способів налаштування прогнозів для досвідчених користувачів. Прогнози також легко навчати, розгортати та обслуговувати в масштабі Amazon SageMaker, використовуючи глибоке навчання AutoGluon containers.

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

Для масштабного прогнозування з виділеними обчислювальними ресурсами та робочими процесами, підтримкою на рівні підприємства, можливістю пояснення прогнозів тощо також перегляньте Прогноз Amazon.

посилання

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

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

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


Про авторів

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

Просте й точне прогнозування за допомогою AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Олександр Щур є прикладним науковцем у Amazon Web Services, де він працює над прогнозуванням часових рядів у AutoGluon-TimeSeries. Перш ніж приєднатися до AWS, він отримав ступінь доктора філософії з машинного навчання в Технічному університеті Мюнхена, Німеччина, займаючись дослідженнями ймовірнісних моделей для даних подій. Його наукові інтереси включають машинне навчання для тимчасових даних і генеративне моделювання.

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

Часова мітка:

Більше від AWS Машинне навчання