Это гостевой пост, написанный в соавторстве с Бабу Шринивасаном из MongoDB.
Поскольку отрасли развиваются в современном быстро меняющемся бизнес-среде, невозможность прогнозирования в реальном времени создает серьезные проблемы для отраслей, в значительной степени зависящих от точной и своевременной информации. Отсутствие прогнозов в реальном времени в различных отраслях создает серьезные проблемы для бизнеса, которые могут существенно повлиять на принятие решений и операционную эффективность. Без информации в реальном времени предприятиям сложно адаптироваться к динамичным рыночным условиям, точно прогнозировать потребительский спрос, оптимизировать уровень запасов и принимать упреждающие стратегические решения. Такие отрасли, как финансы, розничная торговля, управление цепочками поставок и логистика, сталкиваются с риском упущенных возможностей, увеличения затрат, неэффективного распределения ресурсов и неспособности удовлетворить ожидания клиентов. Изучая эти проблемы, организации могут осознать важность прогнозирования в реальном времени и изучить инновационные решения для преодоления этих препятствий, что позволит им оставаться конкурентоспособными, принимать обоснованные решения и преуспевать в современной быстро меняющейся бизнес-среде.
Используя преобразующий потенциал встроенной среды MongoDB Временные ряды возможности обработки данных и интеграция их с возможностями Amazon SageMaker Canvas позволяют организациям преодолеть эти проблемы и открыть новые уровни гибкости. Надежное управление данными временных рядов в MongoDB позволяет хранить и извлекать большие объемы данных временных рядов в режиме реального времени, а передовые алгоритмы машинного обучения и возможности прогнозирования обеспечивают точные и динамичные модели прогнозирования с помощью SageMaker Canvas.
В этом посте мы рассмотрим потенциал использования данных временных рядов MongoDB и SageMaker Canvas в качестве комплексного решения.
Атлас MongoDB
Атлас MongoDB — это полностью управляемая платформа данных для разработчиков, которая упрощает развертывание и масштабирование баз данных MongoDB в облаке. Это хранилище документов, которое предоставляет полностью управляемую базу данных со встроенными полнотекстовыми и векторными функциями. ПоискПоддержка для Геопространственный запросы, Графики и встроенная поддержка для эффективного Временные ряды возможности хранения и запроса. MongoDB Atlas предлагает автоматическое сегментирование, горизонтальную масштабируемость и гибкую индексацию для приема больших объемов данных. Среди прочего, встроенные возможности временных рядов являются выдающейся функцией, что делает их идеальными для управления большими объемами данных временных рядов, таких как данные критически важных бизнес-приложений, телеметрия, журналы сервера и многое другое. Благодаря эффективным запросам, агрегированию и аналитике компании могут извлекать ценную информацию из данных с отметками времени. Используя эти возможности, компании могут эффективно хранить, управлять и анализировать данные временных рядов, позволяя принимать решения на основе данных и получать конкурентные преимущества.
Холст Amazon SageMaker
Amazon SageMaker Canvas — это сервис визуального машинного обучения (ML), который позволяет бизнес-аналитикам и специалистам по обработке данных создавать и развертывать собственные модели ML без необходимости иметь какой-либо опыт ML или писать единую строку кода. SageMaker Canvas поддерживает ряд вариантов использования, включая прогнозирование временных рядов, что позволяет предприятиям точно прогнозировать будущий спрос, продажи, потребности в ресурсах и другие данные временных рядов. Сервис использует методы глубокого обучения для обработки сложных шаблонов данных и позволяет предприятиям генерировать точные прогнозы даже с минимальными историческими данными. Используя возможности Amazon SageMaker Canvas, компании могут принимать обоснованные решения, оптимизировать уровень запасов, повышать операционную эффективность и повышать удовлетворенность клиентов.
Пользовательский интерфейс SageMaker Canvas позволяет легко интегрировать источники данных из облака или локально, легко объединять наборы данных, обучать точные модели и делать прогнозы на основе новых данных — и все это без программирования. Если вам нужен автоматизированный рабочий процесс или прямая интеграция модели ML в приложения, функции прогнозирования Canvas доступны через API.
Обзор решения
Пользователи сохраняют данные временных рядов транзакций в MongoDB Atlas. Через Atlas Data Federation данные извлекаются в корзину Amazon S3. Amazon SageMaker Canvas получает доступ к данным для построения моделей и прогнозов. Результаты прогнозирования сохраняются в корзине S3. Используя сервисы федерации данных MongoDB, прогнозы представляются визуально через диаграммы MongoDB.
На следующей диаграмме представлена предлагаемая архитектура решения.
Предварительные условия
В этом решении мы используем MongoDB Atlas для хранения данных временных рядов, Amazon SageMaker Canvas для обучения модели и создания прогнозов и Amazon S3 для хранения данных, извлеченных из MongoDB Atlas.
Убедитесь, что у вас есть следующие предпосылки:
Настройка кластера MongoDB Atlas
Создайте бесплатный кластер MongoDB Atlas, следуя инструкциям в Создать кластер. Настройте Доступ к базе данных и Доступ к сети.
Заполнение коллекции временных рядов в MongoDB Atlas
Для целей этой демонстрации вы можете использовать образец набора данных из Каггл и загрузите то же самое в MongoDB Atlas с помощью MongoDB. инструменты желательно MongoDB Компас.
В следующем коде показан пример набора данных для коллекции временных рядов:
{
"store": "1 1",
"timestamp": { "2010-02-05T00:00:00.000Z"},
"temperature": "42.31",
"target_value": 2.572,
"IsHoliday": false
}
На следующем снимке экрана показаны примеры данных временных рядов в MongoDB Atlas:
Создайте сегмент S3
Создайте в AWS корзину S3, в которой необходимо хранить и анализировать данные временных рядов. Обратите внимание, что у нас есть две папки. sales-train-data
используется для хранения данных, извлеченных из MongoDB Atlas, а sales-forecast-output
содержит прогнозы от Canvas.
Создайте Федерацию данных
Настройте Федерация данных в Atlas и зарегистрируйте созданную ранее корзину S3 как часть источника данных. Обратите внимание, что в объединении данных для кластера Atlas создаются три разные базы данных/коллекции, ведро S3 для данных MongoDB Atlas и ведро S3 для хранения результатов Canvas.
На следующих снимках экрана показана настройка объединения данных.
Настройка службы приложений Atlas
Создайте Службы приложений MongoDB развернуть функции для переноса данных из кластера MongoDB Atlas в корзину S3 с помощью $выход агрегация.
Проверка конфигурации источника данных
Службы приложений создают новое имя службы Altas, которое необходимо назвать службами данных в следующей функции. Убедитесь, что имя службы Atlas создано, и запишите его для дальнейшего использования.
Создайте функцию
Настройте службы приложения Atlas для создания триггер и функции. Триггеры должны быть запланированы для записи данных в S3 с периодичностью, зависящей от потребности бизнеса в обучении моделей.
Следующий скрипт показывает функцию для записи в корзину S3:
exports = function () {
const service = context.services.get("");
const db = service.db("")
const events = db.collection("");
const pipeline = (
{
"$out": {
"s3": {
"bucket": "<S3_bucket_name>",
"region": "<AWS_Region>",
"filename": {$concat: ("<S3path>/<filename>_",{"$toString": new Date(Date.now())})},
"format": {
"name": "json",
"maxFileSize": "10GB"
}
}
}
}
);
return events.aggregate(pipeline);
};
Пример функции
Функцию можно запустить на вкладке «Выполнить», а ошибки можно отладить с помощью функций журнала в службах приложений. Кроме того, ошибки можно отладить с помощью меню «Журналы» на левой панели.
На следующем снимке экрана показано выполнение функции вместе с выводом:
Создайте набор данных в Amazon SageMaker Canvas.
Следующие шаги предполагают, что вы создали домен SageMaker и профиль пользователя. Если вы еще этого не сделали, обязательно настройте домен SageMaker и профиль пользователя. В профиле пользователя обновите корзину S3, сделав ее пользовательской, и укажите имя корзины.
По завершении перейдите в SageMaker Canvas, выберите свой домен и профиль, а затем выберите Canvas.
Создайте набор данных, предоставляющий источник данных.
Выберите источник набора данных как S3.
Выберите расположение данных из корзины S3 и выберите Создать набор данных.
Просмотрите схему и нажмите «Создать набор данных».
После успешного импорта набор данных появится в списке, как показано на следующем снимке экрана.
Обучение модели
Далее мы будем использовать Canvas для настройки обучения модели. Выберите набор данных и нажмите «Создать».
Создайте имя модели, выберите Прогнозный анализ и выберите Создать.
Выберите целевой столбец
Затем нажмите «Настроить модель временных рядов» и выберите item_id в столбце «Идентификатор элемента».
Выбирать tm
для столбца отметки времени
Чтобы указать период времени, на который вы хотите прогнозировать, выберите 8 недель.
Теперь вы готовы просмотреть модель или запустить процесс сборки.
После предварительного просмотра модели или запуска сборки ваша модель будет создана, и это может занять до четырех часов. Вы можете выйти из экрана и вернуться, чтобы увидеть статус обучения модели.
Когда модель будет готова, выберите модель и нажмите на последнюю версию.
Просмотрите метрики модели и влияние столбцов и, если вас устраивает производительность модели, нажмите «Прогнозировать».
Затем выберите «Пакетное прогнозирование» и нажмите «Выбрать набор данных».
Выберите набор данных и нажмите «Выбрать набор данных».
Затем нажмите «Начать прогнозирование».
Наблюдайте за созданным заданием или наблюдайте за его ходом в SageMaker в разделе «Вывод», «Задания пакетного преобразования».
Когда задание завершится, выберите его и запишите путь S3, по которому Canvas сохранил прогнозы.
Визуализация данных прогноза в диаграммах Atlas
Чтобы визуализировать данные прогноза, создайте Диаграммы Атласа MongoDB на основе федеральных данных (amazon-forecast-data) для прогнозов P10, P50 и P90, как показано на следующей диаграмме.
Очистить
- Удалите кластер MongoDB Atlas.
- Удаление конфигурации объединения данных Atlas
- Удаление приложения службы приложений Atlas
- Удалить корзину S3
- Удаление набора данных и моделей Amazon SageMaker Canvas
- Удалить диаграммы Атласа
- Выйдите из Amazon SageMaker Canvas
Заключение
В этом посте мы извлекли данные временных рядов из коллекции временных рядов MongoDB. Это специальная коллекция, оптимизированная для хранения и скорости запроса данных временных рядов. Мы использовали Amazon SageMaker Canvas для обучения моделей и создания прогнозов, а также визуализировали прогнозы в диаграммах Atlas.
Для получения дополнительной информации обратитесь к следующим ресурсам.
Об авторах
Игорь Алексеев является старшим партнером-архитектором решений в AWS в области данных и аналитики. На своей должности Игорь работает со стратегическими партнерами, помогая им создавать сложные архитектуры, оптимизированные для AWS. До прихода в AWS в качестве архитектора данных/решений он реализовал множество проектов в области больших данных, включая несколько озер данных в экосистеме Hadoop. В качестве инженера по обработке данных он занимался применением искусственного интеллекта и машинного обучения для обнаружения мошенничества и автоматизации делопроизводства.
Бабу Шринивасан — старший архитектор партнерских решений в MongoDB. На своей нынешней должности он работает с AWS над созданием технической интеграции и эталонных архитектур для решений AWS и MongoDB. Он имеет более чем двадцатилетний опыт работы в области баз данных и облачных технологий. Он увлечен предоставлением технических решений клиентам, работающим с несколькими глобальными системными интеграторами (GSI) в разных регионах.