Незалежно від того, чи плануєте ви ефективніше розподіляти ресурси для веб-трафіку, прогнозувати попит пацієнтів на потреби в персоналі чи прогнозувати продажі продукції компанії, прогнозування є важливим інструментом для багатьох компаній. Один конкретний випадок використання, відомий як прогнозування холодного старту, будує прогнози для часового ряду, який має мало існуючих історичних даних або взагалі не має, наприклад, новий продукт, який щойно вийшов на ринок роздрібної торгівлі. Традиційні методи прогнозування часових рядів, такі як авторегресійне інтегральне ковзне середнє (ARIMA) або експоненціальне згладжування (ES), значною мірою покладаються на історичні часові ряди кожного окремого продукту, і тому не є ефективними для прогнозування холодного старту.
У цій публікації ми демонструємо, як побудувати механізм прогнозування холодного запуску за допомогою AutoGluon AutoML для прогнозування часових рядів, пакет Python з відкритим вихідним кодом для автоматизації машинного навчання (ML) для зображень, тексту, табличних даних і даних часових рядів. AutoGluon забезпечує наскрізний конвеєр автоматизованого машинного навчання (AutoML) для початківців і досвідчених розробників машинного навчання, що робить його найбільш точним і простим у використанні повністю автоматизованим рішенням. Ми використовуємо безкоштовне Amazon SageMaker Studio Lab послуга для цієї демонстрації.
Вступ до часових рядів AutoGluon
Автоглюон — це провідна бібліотека з відкритим вихідним кодом для AutoML для текстових, графічних і табличних даних, що дозволяє створювати високоточні моделі з необроблених даних лише одним рядком коду. Нещодавно команда працювала над розширенням цих можливостей на дані часових рядів і розробила модуль автоматизованого прогнозування, який є загальнодоступним на GitHub, autogluon.forecasting
модуль автоматично обробляє вихідні дані часових рядів у відповідний формат, а потім навчає та налаштовує різні найсучасніші моделі глибокого навчання для створення точних прогнозів. У цій публікації ми покажемо, як користуватися autogluon.forecasting
і застосувати його до завдань прогнозування холодного старту.
Огляд рішення
Оскільки AutoGluon є пакетом Python з відкритим кодом, ви можете реалізувати це рішення локально на вашому ноутбуці або в Amazon SageMaker Studio Lab. Ми проходимо наступні кроки:
- Налаштуйте AutoGluon для Amazon SageMaker Studio Lab.
- Підготуйте набір даних.
- Визначте параметри навчання за допомогою AutoGluon.
- Навчіть систему прогнозування холодного запуску для прогнозування часових рядів.
- Візуалізуйте прогнози холодного старту.
Ключове припущення прогнозування холодного старту полягає в тому, що елементи з подібними характеристиками повинні мати подібні траєкторії часових рядів, що дозволяє прогнозувати холодний старт для прогнозування елементів без історичних даних, як показано на наступному малюнку.
У нашому покроковому керівництві ми використовуємо синтетичний набір даних на основі споживання електроенергії, який складається з погодинного ряду часу для 370 елементів, кожен із item_id
від 0–369. У цьому синтетичному наборі даних кожен item_id
також асоціюється зі статичною ознакою (функцією, яка не змінюється з часом). Ми тренуємо а DeepAR модель, яка використовує AutoGluon, щоб дізнатися типову поведінку подібних елементів і передати таку поведінку, щоб зробити прогнози щодо нових елементів (item_id
370–373), які не містять історичних даних часових рядів. Хоча ми демонструємо підхід до прогнозування холодного запуску лише з однією статичною ознакою, на практиці наявність інформативних і якісних статичних функцій є ключем до хорошого прогнозу холодного запуску.
На наступній діаграмі представлений огляд нашого рішення високого рівня. Код з відкритим вихідним кодом доступний на сайті GitHub репо.
Передумови
Для цього покрокового керівництва ви повинні мати такі передумови:
- An Обліковий запис Amazon SageMaker Studio Lab
- GitHub доступ до облікового запису
Увійдіть у свій обліковий запис Amazon SageMaker Studio Lab і налаштуйте середовище за допомогою терміналу:
Ці інструкції також повинні працювати з вашого ноутбука, якщо у вас немає доступу до Amazon SageMaker Studio Lab (ми рекомендуємо спочатку встановити Anaconda на свій ноутбук).
Коли віртуальне середовище повністю налаштовано, запустіть ноутбук AutoGluon-cold-start-demo.ipynb
і виберіть спеціальне середовище .conda-autogluon:Python
ядро
Підготуйте цільовий часовий ряд і набір метаданих елементів
Завантажте наведені нижче набори даних у свій екземпляр ноутбука, якщо вони не включені, і збережіть їх у каталозі data/
. Ви можете знайти ці набори даних на нашому сайті GitHub репо:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Запустіть такий фрагмент, щоб завантажити цільовий набір даних часового ряду в ядро:
Часовий ряд AutoGluon вимагає, щоб статичні характеристики були представлені в числовому форматі. Цього можна досягти шляхом застосування LabelEncoder()
на нашу статичну функцію type
, де ми кодуємо A=0, B=1, C=2, D=3 (див. наступний код). За замовчуванням AutoGluon визначає статичну функцію або порядковою, або категоричною. Ви також можете перезаписати це, перетворивши стовпець статичного об’єкта на тип даних об’єкта/рядка для категорійних об’єктів або цілочисельний/плавкий тип даних для порядкових об’єктів.
Налаштуйте та запустіть навчання моделі AutoGluon
Треба уточнити save_path = ‘autogluon-coldstart-demo’
як ім'я папки артефакту моделі (див. наступний код). Ми також поставили свій eval_metric
as середня абсолютна відсоткова помилкаабо ‘MAPE’
коротко, де ми визначили prediction_length
як 24 години. Якщо не вказано, AutoGluon за замовчуванням створює імовірнісні прогнози та оцінює їх за допомогою зважені квантильні втрати. Ми дивимося лише на Модель DeepAR у нашій демонстрації, оскільки ми знаємо, що алгоритм DeepAR дозволяє прогнозувати холодний старт задумом. Ми встановлюємо один із гіперпараметрів DeepAR довільно і передаємо цей гіперпараметр до ForecastingPredictor().fit()
дзвонити. Це дозволяє AutoGluon розглядати лише вказану модель. Повний список настроюваних гіперпараметрів див gluonts.model.deepar пакет.
Тренування займає 30-45 хвилин. Ви можете отримати підсумок моделі, викликавши таку функцію:
Прогноз по пункту холодного старту
Тепер ми готові генерувати прогнози для елемента холодного старту. Ми рекомендуємо мати принаймні п’ять рядків для кожного item_id
. Тому для item_id
який має менше п’яти спостережень, ми заповнюємо NaNs. У нашій демо-версії обидва item_id
370 і 372 мають нульове спостереження, чисту проблему холодного запуску, тоді як два інших мають п’ять цільових значень.
Завантажте в цільовий набір часових рядів холодного старту за допомогою такого коду:
Ми надаємо цільовий часовий ряд холодного старту в нашу модель AutoGluon разом з набором метаданих елемента для холодного старту item_id
:
Візуалізуйте передбачення
Ми можемо створити функцію графіка для створення візуалізації для прогнозування холодного старту, як показано на наступному графіку.
Прибирати
Щоб оптимізувати використання ресурсів, подумайте про зупинку середовища виконання в Amazon SageMaker Studio Lab після того, як ви повністю вивчите ноутбук.
Висновок
У цій публікації ми показали, як створити механізм прогнозування холодного запуску за допомогою AutoGluon AutoML для даних часових рядів у Amazon SageMaker Studio Lab. Для тих із вас, хто цікавиться різницею між Прогноз Amazon і AutoGluon (часовий ряд), Amazon Forecast — це повністю керована й підтримувана служба, яка використовує машинне навчання (ML) для створення високоточних прогнозів, не вимагаючи попереднього досвіду ML. Хоча AutoGluon є проектом з відкритим кодом, який підтримується спільнотою за допомогою останніх дослідницьких внесків. Ми розглянули наскрізний приклад, щоб продемонструвати, на що здатний AutoGluon для часових рядів, і надали набір даних і варіант використання.
AutoGluon для даних часових рядів — це пакет Python з відкритим кодом, і ми сподіваємося, що ця публікація разом із нашим прикладом коду надасть вам просте рішення для вирішення складних проблем прогнозування холодного старту. Ви можете отримати доступ до всього прикладу на нашому сайті GitHub репо. Спробуйте і повідомте нам, що ви думаєте!
Про авторів
Іван Цуй є дослідником даних з професійними службами AWS, де він допомагає клієнтам створювати та впроваджувати рішення за допомогою машинного навчання на AWS. Він працював з клієнтами в різних галузях промисловості, включаючи програмне забезпечення, фінанси, фармацевтику та охорону здоров'я. У вільний час він із задоволенням читає, проводить час із сім’єю та максимізує портфель акцій.
Йонас Мюллер є старшим прикладним спеціалістом у групі досліджень та освіти AI в AWS, де він розробляє нові алгоритми для покращення глибокого навчання та автоматизованого машинного навчання. Перш ніж приєднатися до AWS для демократизації ML, він закінчив докторську дисертацію в Лабораторії комп’ютерних наук і штучного інтелекту Массачусетського технологічного інституту. У вільний час любить подорожувати в гори та на природу.
Венмін Є є менеджером дослідницького продукту в AWS AI. Він захоплений тим, щоб допомагати дослідникам і корпоративним клієнтам швидко масштабувати свої інновації за допомогою відкритого коду та найсучаснішої технології машинного навчання. Wenming має різноманітний досвід досліджень і розробок від Microsoft Research, команди інженерів SQL та успішних стартапів.
- Coinsmart. Найкраща в Європі біржа біткойн та криптовалют.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. БЕЗКОШТОВНИЙ ДОСТУП.
- CryptoHawk. Альткойн Радар. Безкоштовне випробування.
- Джерело: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- МЕНЮ
- абсолют
- доступ
- рахунки
- точний
- досягнутий
- через
- AI
- ai дослідження
- алгоритм
- алгоритми
- Дозволити
- хоча
- Amazon
- Застосування
- підхід
- штучний
- штучний інтелект
- Автоматизований
- доступний
- середній
- AWS
- будувати
- Будує
- підприємства
- call
- Може отримати
- можливості
- CD
- зміна
- Введіть дані:
- код
- Колонка
- співтовариство
- Компанії
- Інформатика
- споживання
- Клієнти
- дані
- вчений даних
- Попит
- розгортання
- дизайн
- розвивати
- розвиненою
- розробників
- Ні
- Освіта
- Ефективний
- електрика
- Машинобудування
- увійшов
- підприємство
- Навколишнє середовище
- істотний
- приклад
- досвід
- досвідчений
- продовжити
- сім'я
- особливість
- риси
- Рисунок
- фінансування
- Перший
- після
- формат
- Безкоштовна
- Повний
- функція
- майбутнє
- породжувати
- Git
- добре
- Group
- має
- охорона здоров'я
- допомагає
- дуже
- історичний
- Як
- How To
- HTTPS
- зображення
- здійснювати
- удосконалювати
- включені
- У тому числі
- індивідуальний
- промисловості
- промисловість
- інтегрований
- Інтелект
- IT
- ключ
- відомий
- портативний комп'ютер
- останній
- запуск
- провідний
- УЧИТЬСЯ
- вивчення
- бібліотека
- Лінія
- список
- трохи
- загрузка
- машина
- навчання за допомогою машини
- Робить
- менеджер
- ринок
- Meta
- Microsoft
- MIT
- ML
- модель
- Моделі
- найбільш
- переміщення
- новий продукт
- ноутбук
- відкритий код
- Інше
- на відкритому повітрі
- відсоток
- фармацевтична
- портфель
- Прогнози
- Проблема
- проблеми
- процеси
- виробляти
- Product
- Продукти
- професійний
- проект
- забезпечує
- R & D
- Сировина
- читання
- рекомендувати
- дослідження
- ресурс
- ресурси
- роздрібна торгівля
- продажів
- шкала
- Масштабування
- наука
- вчений
- Серія
- обслуговування
- Послуги
- комплект
- Короткий
- аналогічний
- Софтвер
- Рішення
- Витрати
- старт
- Стартапи
- акції
- студія
- успішний
- Підтриманий
- Мета
- завдання
- команда
- Технологія
- термінал
- через
- час
- разом
- традиційний
- трафік
- Навчання
- поїзда
- us
- використання
- Віртуальний
- візуалізації
- Web
- Що
- ВООЗ
- в
- без
- Work
- працював
- робочий
- нуль