Раскрытие возможностей прогнозов в реальном времени: введение в добавочное машинное обучение для потоков событий связанных данных

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

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

Поток событий связанных данных

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

Это версия потоков событий данных со связанными данными, которая считается основным API для быстрых и медленных данных.

Для получения дополнительной информации об этом, пожалуйста, прочитайте эту статью на Medium:



Инкрементное или онлайн-обучение

Среди всех сервисов, которые можно построить поверх одного или нескольких потоков событий связанных данных, сервис машинного обучения является одним из них. Концепция сервера ML-LDES заключается в том, что вы можете отправить LDES через HTTP-запрос POST, после чего сервер ML-LDES может собирать данные в режиме реального времени и запускать модель машинного обучения для некоторых соответствующих параметров в LDES. Чтобы продемонстрировать потенциал такого сервера ML-LDES, мы демонстрируем инкрементную модель прогнозирования на Интернете воды (IoW) LDES.

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

В отличие от этих методов пакетного обучения, пошаговое обучение или машинное онлайн-обучение обновляет лучший прогноз для будущих данных на каждом этапе по мере поступления новых данных.

Онлайн-обучение и постепенное обучение недавно привлекли внимание, особенно в контексте больших данных и обучения на основе потоков данных. Это противоречит общепринятой предпосылке, что все данные доступны в любое время.

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

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

Машинное обучение влечет за собой инструктирование модели по одному образцу за раз во время обучения. Следовательно, онлайн-модель — это динамический объект с состоянием. Ему никогда не нужно просматривать старые данные, потому что он постоянно учится.

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

Поток событий связанных данных (LDES) по делу Internet of Water (IoW)

Сначала поток событий связанных данных извлекается клиентом LDES, после чего все участники LDES отправляются через HTTP-запрос на сервер ML-LDES.

Пример одного из этих членов LDES добавлен ниже:

Если мы преобразуем этот N-тройной язык в язык Terse RDF Triple (для облегчения интерпретации), мы получим следующее:

Инкрементное прогнозирование с помощью River

River — это библиотека sklearn для машинного обучения потоковых данных, Александра Амидон.

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

Для случая IoW мы используем модуль прогнозирования SNARIMAX. SNARIMAX означает сезонную нелинейную авторегрессивную интегрированную скользящую среднюю с моделью экзогенных входов.

Это модель прогнозирования временных рядов, которая учитывает тенденцию и сезонность данных, а также любые дополнительные переменные-предикторы (также известные как экзогенные переменные), которые могут иметь отношение к прогнозированию.

В модели SNARIMAX «сезонный» компонент учитывает периодические колебания данных (например, месячные или квартальные циклы). Компонент «естественной добавки» учитывает долгосрочные тенденции и закономерности, а «регрессивная» функция позволяет модели учитывать влияние одной или нескольких переменных-предикторов на прогноз. Параметры модели «интегрированный» и «скользящее среднее» помогают сгладить кратковременные колебания и шумы в данных.

Теперь, чтобы выполнить инкрементную модель обучения для значений временных рядов потока событий связанных данных, все члены RDF подключаются один за другим (и остаются синхронизированными с датчиком CoW (City of Water)). Фрагмент кода ниже иллюстрирует, как примерно выглядит такой член RDF (упрощенно). Как только становится доступным новый элемент RDF, клиент LDES считывает это значение и отправляет его в модель добавочного обучения. Эта модель будет запускать новый прогноз, начиная с параметров, которые уже были получены из предыдущего прогноза.

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

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

Когда мы используем эту модель прогнозирования Snarimax для случая IoW, важно использовать правильные параметры Snarimax (p:Порядок авторегрессионной части, d:Разностный порядок, q:Порядок части скользящего среднего, m:Продолжительность сезона, используемая для извлечения сезонных признаков, sp:Сезонный порядок части авторегрессии, sd:порядок сезонных разностей, sq:сезонный порядок части скользящего среднего). Это показано на рисунке ниже. Дополнительную информацию см. в разделе Характеристики реки.

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

В этой статье показано, как добавочное обучение можно применить к потокам событий связанных данных. На момент написания были доступны только данные за двухнедельный период с небольшим изменением эталонного значения.

Выводы

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

Чтобы воспроизвести поток данных в этой статье, перейдите на сервер ML-LDES. В нем описывается, как настроить докеризованные PostgreSQL/PostGIS, PgAdmin и Apache NiFi, после чего можно запустить поток данных с помощью прилагаемого установочного файла Apache NiFi.



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

[1] Ван Ланкер, Д., Колпаерт, П., Дельва, Х., Ван де Вивер, Б., Рохас Мелендес, Дж. А., Дедекер, Р., … Верборг, Р. (2021). Публикация базовых реестров в виде связанных потоков событий данных. В М. Брамбилла, Р. Чбейр, Ф. Фрасинкар и И. Манолеску (ред.), WEB ENGINEERING, ICWE 2021 (том 12706, стр. 28–36). https://doi.org/10.1007/978-3-030-74296-6_3

[2] река — Река. (н.д.). Получено 7 февраля 2023 г. с https://riverml.xyz/0.15.0/

[3] Связанные потоки событий данных. (н.д.). Получено 7 февраля 2023 г. с https://semiceu.github.io/LinkedDataEventStreams/

[4]Европейская комиссия. (н.д.). Публикация данных с потоками событий связанных данных: зачем и как. Получено 7 февраля 2023 г. с https://academy.europa.eu/courses/publishing-data-with-linked-data-event-streams-why-and-how.

Если вам нравится то, что вы читаете, обязательно ❤️ — как писатель, это значит мир. Оставайтесь на связи, подписавшись на меня как на автора.

Авторами этой статьи являются ddvlanck (Дуайт Ван Ланкер) (github.com), sandervd (Сандер Ван Доурен) (github.com) из Smart Data Space (Digital Flanders). В быстро меняющемся обществе правительства должны быть более гибкими и устойчивыми, чем когда-либо. В качестве стратегического партнера мы реализуем и контролируем проекты цифровой трансформации для фламандских и местных органов власти.