Этот пост является совместной работой с Андрисом Энгельбрехтом и Джеймсом Саном из Snowflake, Inc.
Революция в области облачных вычислений позволила предприятиям собирать и сохранять корпоративные и организационные данные без планирования емкости или ограничений по хранению данных. Теперь, обладая разнообразными и обширными запасами продольных данных, компании все чаще могут находить новые и эффективные способы использования своих цифровых активов для принятия более взвешенных и обоснованных решений при принятии решений по краткосрочному и долгосрочному планированию. Прогнозирование временных рядов — это уникальная и важная наука, которая позволяет компаниям оперативно принимать решения по планированию, чтобы помочь сбалансировать уровни обслуживания клиентов с часто конкурирующими целями оптимальной прибыльности.
В AWS мы иногда работаем с клиентами, которые выбрали нашего технологического партнера. Снежинка для предоставления опыта работы с облачной платформой данных. Платформа, которая может вспомнить исторические данные за многие годы, очень эффективна, но как вы можете использовать эти данные, чтобы заглянуть в будущее, и использовать вчерашние данные для планирования завтрашнего дня? Представьте себе, что в Snowflake доступно не только то, что произошло — ваша единственная версия правды, — но и смежный набор неразрозненных данных, которые предлагают вероятностный прогноз на дни, недели или месяцы в будущем.
В совместной цепочке поставок обмен информацией между партнерами может повысить производительность, повысить конкурентоспособность и сократить потери ресурсов. Поделиться своими прогнозами на будущее можно с помощью Обмен данными о снежинках, что позволяет вам беспрепятственно безопасно сотрудничать с вашими деловыми партнерами и получать ценную информацию о бизнесе. Если многие партнеры поделятся своими прогнозами, это может помочь контролировать эффект кнута в связанной цепочке поставок. Вы можете эффективно использовать Рынок снежинок монетизировать прогнозную аналитику на основе наборов данных, созданных в Прогноз Амазонки.
В этом посте мы обсудим, как реализовать решение для автоматического прогнозирования временных рядов с использованием Snowflake и Forecast.
Основные сервисы AWS, поддерживающие это решение
Forecast предоставляет несколько современных алгоритмов временных рядов и управляет выделением достаточного количества распределенных вычислительных ресурсов для удовлетворения потребностей практически любой рабочей нагрузки. С Forecast вы не получаете одну модель; вы получаете силу многих моделей, которые дополнительно оптимизируются в уникально взвешенную модель для каждого временного ряда в наборе. Короче говоря, сервис предоставляет всю науку, обработку данных и управление ресурсами в простом вызове API.
Шаговые функции AWS предоставляет механизм оркестрации процессов, который управляет общим рабочим процессом. Сервис инкапсулирует вызовы API с помощью Амазонка Афина, AWS Lambdaи Прогноз для создания автоматизированного решения, которое собирает данные из Snowflake, использует прогноз для преобразования исторических данных в прогнозы на будущее, а затем создает данные внутри Snowflake.
Федеративные запросы Athena могут подключаться к нескольким корпоративным источникам данных, включая Amazon DynamoDB, Амазонка Redshift, Сервис Amazon OpenSearch, MySQL, PostgreSQL, Redis и другие популярные сторонние хранилища данных, такие как Snowflake. Коннекторы данных работают как функции Lambda — вы можете использовать этот исходный код, чтобы помочь запустить Соединитель Amazon Athena Lambda Snowflake и подключиться к Приватная ссылка AWS или через шлюз NAT.
Обзор решения
Одна из вещей, которую мы часто делаем в AWS, — это помощь клиентам в достижении их целей, а также снятие бремени недифференцированной тяжелой работы. В связи с этим предлагаем следующее Решение чтобы помочь клиентам AWS и Snowflake выполнить следующие действия:
- Экспорт данных из Snowflake. Вы можете использовать гибкие метаданные для выгрузки необходимых исторических данных, управляемых готовым рабочим процессом.
- Импорт данных в Прогноз. Независимо от варианта использования, отрасли или масштаба импорт подготовленных входных данных прост и автоматизирован.
- Обучите современную модель временных рядов. Вы можете автоматизировать прогнозирование временных рядов, не управляя базовой наукой о данных или предоставлением оборудования.
- Сгенерируйте вывод относительно обученной модели. Результаты прогнозирования легко использовать для любых целей. Они доступны в виде простых файлов CSV или Parquet на Простой сервис хранения Amazon (Amazon S3).
- Используйте историю и предсказания будущего одновременно прямо в Snowflake.
На следующей диаграмме показано, как реализовать автоматизированный рабочий процесс, который позволяет клиентам Snowflake получать выгоду от высокоточных прогнозов временных рядов, поддерживаемых Forecast, управляемым сервисом AWS. Предлагаемый здесь дизайн, выходящий за рамки варианта использования и отрасли, сначала извлекает исторические данные из Snowflake. Затем рабочий процесс отправляет подготовленные данные для расчета временных рядов. Наконец, в Snowflake изначально доступны прогнозы на будущие периоды, что обеспечивает удобный пользовательский интерфейс для совместных клиентов AWS и Snowflake.
Хотя в этой архитектуре выделяются только ключевые технические детали, решение легко собрать, иногда в течение 1–2 рабочих дней. Мы предоставляем вам рабочий пример кода, чтобы помочь вам избавиться от монотонной тяжелой работы по созданию решения в одиночку и без предварительного старта. После того, как вы узнаете, как реализовать этот шаблон для одной рабочей нагрузки, вы можете повторить процесс прогнозирования для любых данных, хранящихся в Snowflake. В следующих разделах мы описываем ключевые шаги, которые позволят вам создать автоматизированный конвейер.
Извлечение исторических данных из Snowflake
На этом первом шаге вы используете SQL, чтобы определить, какие данные вы хотите спрогнозировать, и позволяете Athena Federated Query подключиться к Snowflake, запустить свой собственный SQL и сохранить полученный набор записей в Amazon S3. Прогноз требует, чтобы исторические данные обучения были доступны в Amazon S3 до загрузки; поэтому Amazon S3 служит промежуточным буфером хранения между Snowflake и Forecast. Мы используем Athena в этом дизайне, чтобы включить Snowflake и другие разнородные источники данных. Если вы предпочитаете другой подход, используйте команду Snowflake COPY и интеграцию с хранилищем для записи результатов запроса в Amazon S3.
Независимо от используемого транспортного механизма, мы теперь описываем, какие данные нужны для прогноза, и как данные определяются, подготавливаются и извлекаются. В следующем разделе мы опишем, как импортировать данные в прогноз.
На следующем снимке экрана показано, как может выглядеть набор данных в собственной схеме Snowflake.
Хотя на этом снимке экрана показано, как данные выглядят в естественном состоянии, прогноз требует, чтобы данные были разделены на три разных набора данных:
- Целевой временной ряд – Это обязательный набор данных, содержащий целевую переменную, который используется для обучения и прогнозирования будущего значения. Сам по себе этот набор данных служит моделью одномерного временного ряда.
- Связанные временные ряды – Это необязательный набор данных, содержащий временные переменные, которые должны быть связаны с целевой переменной. Примеры включают переменные цены, рекламные акции, трафик гиперлокальных событий, данные об экономических перспективах — все, что, по вашему мнению, может помочь объяснить отклонения в целевых временных рядах и дать более точный прогноз. Связанный набор данных временных рядов превращает вашу одномерную модель в многомерную, чтобы повысить точность.
- Метаданные элемента – Это необязательный набор данных, содержащий категориальные данные о прогнозируемом элементе. Метаданные элемента часто помогают повысить производительность недавно запущенных продуктов, которые мы называем холодный запуск.
Определив область каждого из наборов данных прогноза, вы можете писать запросы в Snowflake, которые получают правильные поля данных из необходимых исходных таблиц с соответствующими фильтрами для получения желаемого подмножества данных. Ниже приведены три примера SQL-запросов, используемых для создания каждого набора данных, необходимого для прогноза для определенного сценария планирования спроса на продукты питания.
Начнем с запроса целевого временного ряда:
Необязательный запрос связанных временных рядов извлекает ковариаты, такие как цена и рекламные акции:
Запрос метаданных элемента извлекает отдельные категориальные значения, которые помогают дать измерение и дополнительно определить прогнозируемый элемент:
Определив исходные запросы, мы можем подключиться к Snowflake через федеративный запрос Athena, чтобы отправить запросы и сохранить полученные наборы данных для использования в прогнозах. Для получения дополнительной информации см. Запрашивайте Snowflake с помощью Athena Federated Query и присоединяйтесь к данным в озере данных Amazon S3.
Ассоциация Репозиторий Athena Snowflake Connector на GitHub помогает установить коннектор Snowflake. Прогноз MLOps, репозиторий GitHub помогает организовать все шаги макроса, определенные в этом посте, и делает их повторяемыми без написания кода.
Импорт данных в Прогноз
После завершения предыдущего шага целевой набор данных временных рядов находится в Amazon S3 и готов к импорту в прогноз. Кроме того, необязательные связанные наборы данных временных рядов и метаданных элементов также могут быть подготовлены и готовы к приему. С предоставленным Прогнозное решение MLOps, все, что вам нужно сделать здесь, это инициировать конечный автомат Step Functions, отвечающий за импорт данных — никакого кода не требуется. Прогноз запускает кластер для каждого из предоставленных вами наборов данных и готовит данные для использования службой для построения модели машинного обучения и вывода модели.
Создайте модель машинного обучения временных рядов со статистикой точности
После импорта данных высокоточные модели временных рядов создаются простым вызовом API. Этот шаг инкапсулирован внутри конечного автомата Step Functions, который инициирует Forecast API для запуска обучения модели. После обучения модели предиктора конечный автомат экспортирует статистику модели и прогнозы во время окна тестирования на исторических данных в Amazon S3. Snowflake может запрашивать экспортные данные бэктеста как внешнюю стадию, как показано на следующем снимке экрана. Если вы предпочитаете, вы можете хранить данные на внутреннем этапе. Суть в том, чтобы использовать метрики бэктестинга для оценки разброса производительности временных рядов в предоставленном наборе данных.
Создавайте прогнозы на будущее
С моделью, обученной на предыдущем шаге, специально созданный конечный автомат Step Functions вызывает API-интерфейс Forecast для создания прогнозов с датой будущего. Прогноз подготавливает кластер для выполнения вывода и извлекает импортированные целевые временные ряды, связанные временные ряды и наборы данных метаданных элементов через именованную модель предиктора, созданную на предыдущем шаге. После создания прогнозов конечный автомат записывает их в Amazon S3, где их снова можно запросить на месте как внешний этап Snowflake или переместить в Snowflake как внутренний этап.
Используйте прогнозные данные с датой будущего прямо в Snowflake
AWS не создала полностью автоматизированное решение для этого шага; однако с решением в этом посте данные уже были созданы Forecast на предыдущих двух шагах. Вы можете обрабатывать выходные данные как требующие действия события или создавать информационные панели бизнес-аналитики на основе данных. Вы также можете использовать данные для создания будущих производственных планов и заказов на покупку, оценки будущих доходов, составления планов кадровых ресурсов и многого другого. Каждый вариант использования индивидуален, но смысл этого шага в том, чтобы предоставить прогнозы правильным системам потребления в вашей организации или за ее пределами.
В следующем фрагменте кода показано, как запрашивать данные Amazon S3 непосредственно из Snowflake:
Дополнительные сведения о настройке разрешений см. Вариант 1. Настройка интеграции хранилища Snowflake для доступа к Amazon S3. Кроме того, вы можете использовать Каталог сервисов AWS настроить интеграцию с хранилищем Amazon S3; более подробная информация доступна на Репо GitHub.
Инициировать рабочий процесс на основе расписания или событий
После того как вы установите решение для своей конкретной рабочей нагрузки, последним шагом будет автоматизация процесса по расписанию, подходящему для ваших уникальных требований, например, ежедневно или еженедельно. Главное – решить, как начать процесс. Один из методов заключается в использовании Snowflake для вызова конечного автомата Step Functions, а затем последовательной организации шагов. Другой подход заключается в объединении конечных автоматов в цепочку и запуске общего прогона через Amazon EventBridge правило, которое можно настроить для запуска из события или запланированной задачи, например, в 9:00 по Гринвичу-8 каждое воскресенье вечером.
Заключение
С наибольшим опытом; самое надежное, масштабируемое и безопасное облако; и самый полный набор сервисов и решений, AWS — это лучшее место, где можно извлечь пользу из ваших данных и превратить их в ценную информацию. В этом посте мы показали вам, как создать автоматизированный рабочий процесс прогнозирования временных рядов. Лучшее прогнозирование может привести к более высоким результатам обслуживания клиентов, меньшему количеству отходов, меньшему количеству незанятых запасов и большему количеству денежных средств на балансе.
Если вы готовы автоматизировать и улучшить прогнозирование, мы здесь, чтобы помочь вам в вашем путешествии. Свяжитесь со своей командой по работе с клиентами AWS или Snowflake, чтобы начать работу сегодня, и попросите провести семинар по прогнозированию, чтобы узнать, какую ценность вы можете извлечь из своих данных.
Об авторах
Боско Альбукерке является старшим архитектором партнерских решений в AWS и имеет более чем 20-летний опыт работы с базами данных и аналитическими продуктами от поставщиков корпоративных баз данных и облачных провайдеров. Он помогал технологическим компаниям разрабатывать и внедрять решения и продукты для анализа данных.
Фрэнк Даллезотт является старшим архитектором решений в AWS и увлечен работой с независимыми поставщиками программного обеспечения для проектирования и создания масштабируемых приложений на AWS. У него есть опыт создания программного обеспечения, внедрения конвейеров сборки и развертывания этих решений в облаке.
Андрис Энгельбрехт является главным архитектором партнерских решений в Snowflake и работает со стратегическими партнерами. Он активно сотрудничает со стратегическими партнерами, такими как AWS, поддерживая интеграцию продуктов и услуг, а также разрабатывая совместные решения с партнерами. Андрис имеет более чем 20-летний опыт работы в области данных и аналитики.
Чарльз Лафлин является главным архитектором решений, специализирующимся на искусственном интеллекте и машинном обучении, и работает в команде машинного обучения временных рядов в AWS. Он помогает формировать дорожную карту сервиса Amazon Forecast и ежедневно сотрудничает с различными клиентами AWS, помогая трансформировать их бизнес с помощью передовых технологий AWS и идейного лидерства. Чарльз имеет степень магистра в области управления цепочками поставок и последние десять лет работал в индустрии потребительских товаров.
Джеймс Сан является старшим архитектором партнерских решений в Snowflake. Джеймс имеет более чем 20-летний опыт работы в области хранения и анализа данных. До Snowflake он занимал несколько руководящих технических должностей в AWS и MapR. Джеймс имеет докторскую степень Стэнфордского университета.
- AI
- ай искусство
- генератор искусств ай
- искусственный интеллект
- Амазонка Афина
- Прогноз Амазонки
- искусственный интеллект
- сертификация искусственного интеллекта
- искусственный интеллект в банковском деле
- робот с искусственным интеллектом
- роботы с искусственным интеллектом
- программное обеспечение искусственного интеллекта
- AWS CloudFormation
- Машинное обучение AWS
- Шаговые функции AWS
- блокчейн
- конференция по блокчейну
- Coingenius
- разговорный искусственный интеллект
- CpG
- криптоконференция ИИ
- дал-и
- глубокое обучение
- google ai
- обучение с помощью машины
- производство
- Платон
- Платон Ай
- Платон Интеллектуальные данные
- Платон игра
- ПлатонДанные
- платогейминг
- розничный
- масштаб ай
- синтаксис
- Технические инструкции
- Временные ряды
- зефирнет