Knowledge base

Knowledge base

Close

Работа с данными в режиме реального времени

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

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

  1.  Обучение модели прогнозирования температуры воды и газов в котле
    1. Загрузка входных данных:
      1. В левой части главного окна на панели вкладок Системы откройте вкладку «Данные». 
      2. На открывшейся странице нажмите кнопку
      3. В открывшемся окне в качестве Типа выберите «Категория», в поле Название введите вручную «МЭИ» и нажмите на кнопку «Создать»:

  1. В разделе «Данные» появится папка «МЭИ, для загрузки файлов достаточно перейти в неё и нажать на кнопку «Загрузить» на верхней панели:
  1. В открывшемся окне нажмите на кнопку «Выбрать файлы» и укажите путь к заранее подготовленному файлу med1d.csv, в котором содержатся данные о температуре газов и воды в котле за определенный промежуток времени. Второй вариант загрузки – перенести файлы в этот раздел по технологии «drag n drop».

Выбранные файлы отобразятся в нижней части окна загрузки:

  1. Нажмите на кнопку «Загрузить». Файл с входными данными отобразится в папке:

Создание новой рабочей области

  1. Перейдите в  пункт меню системы Моделирование –> Рабочая область. На панели инструментов блок-схемы нажмите кнопку «Создание рабочей области» (кнопка ):
  1. В открывшейся форме ввести название новой рабочей области «МЭИ» и нажать кнопку «Создать»:

  1. На панели инструментов отобразится название созданной рабочей области.
  2. Добавление элемента «Запуск»:
  3. На панели инструментов блок-схемы нажать кнопку «Добавить элемент» (кнопка ):
  1. В открывшейся библиотеке графических элементов выбрать элемент «Запуск» (кнопка ):

  1. На рабочую область добавится элемент «Запуск»:

  1. Добавление и настройка элемента «Источник данных».
    1. Добавить на рабочую область элемент «Источник данных» (кнопка ):

  1. Открытие настроек элемента. На элементе «Источник данных» нажать на кнопку. При настройке текущего элемента он выделяется синей рамкой. Справа откроется панель настроек элемента, где будут отображаться созданные в разделе папки и файлы с табличными данными. 
  2. Выбор данных для загрузки в блок-схему. Для того чтобы найти нужный файл, кликните на папку и перейдите в нее, выберите из списка файл, загруженный в Систему в шаге 1 «mei1d.csv», для этого нажмите на три точки в строке с названием файла и кликните «Выбрать». Внизу отобразится название выбранного файла:

  1. Сохранение настроек элемента. На панели настроек элемента нажать на кнопку «Сохранить» (далее сохранение настроек элемента предполагается по умолчанию).
  2. Ввод названия элемента. Чтобы задать название элемента нужно дважды щелкнуть левой кнопкой мыши на название элемента в рабочей области, и ввести нужное название в поле с названием, доступным для редактирования:

  1. Установка соединений. Соединить выходную точку элемента «Запуск» с входной точкой элемента «Источник данных» с помощью левой кнопка мыши:
  1. Добавление и настройка элемента «Процесс». Чтобы в загруженном датасете выделить признаки и целевые признаки нужно добавить на рабочую область элемент «Процесс» и настроить его:
    1. На панели свойств элемента выбрать из списка функцию: тип функции «Загрузка данных» ->  функция «Преобразование данных во временной ряд».  В разделе «Параметры» отобразятся поля:

  1. В поле «Шаг ресемплирования» указать 5 
  2. В поле «Частота ресемплирования» выбрать 7.Секунды
  3. В поле «Агрегирующая функция» выбрать 7.Медиана
  4. В поле «Столбец с временной меткой» ввести datetime

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

  1. На панели настроек элемента нажать на кнопку «Сохранить».
  2. Изменить название элемента на «Во временной ряд ».
  3. Соединить с элементы:

Срез временного ряда. Добавить на рабочую область элемент «Процесс» и настроить его:

  1. Выбрать из списка функцию: раздел «Предобработка данных» ->  функция «Срез временного ряда по индексу»:
  2. В разделе «Параметры» в поле «Дата начала» ввести значение 2020-12-16 11:00:00, а в поле «Дата окончания» – 2020-12-16 15:00.
  3. Изменить название элемента на «срез времен ряда».
  4. Соединить элементы:
    1. Выбор признаков и целевых показателей. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Анализ данных» ->  функция «Выбор признаков и целевых признаков
      2. В разделе «Параметры» -> поле «Признаки» оставить пустым, а в поле «Целевые признаки» ввести Tq и нажать Enter, затем Tw и нажать Enter. Также вы можете найти в списке исходный файл mei1d.csv, нажать на три точки в строке с его названием и кликнуть «Выгрузить признаки», тогда система автоматически заполнит поле «Целевые признаки» всем вариантами из датасета и вам останется только убрать лишние.

    1. Изменить название элемента на «Установить признаки».
    2. Соединить элементы:
    1. Разделение датасета на обучающую и тестовую выборки. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Машинное обучение» ->  функция «Разделение датасета на обучающую и тестовую выборки».
        1. Указать долю тестовой выборки – 0.2. Так 80% данных будут использованы для обучения модели, и 20% – для тестирования.
        2. Не нужно ставить галочки в полях «Перемешивать наблюдения перед разделением» и  «Разделять с учетом меток классов» (параметр активируется только для решения задач классификации)
      2. Изменить название элемента на «Сплит».
      3. Соединить элементы:
    1. Стабилизация дисперсии. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Препроцессинг» ->  функция «Стабилизация дисперсии».
        1. В качестве метода выбрать  2. yeo-johnson 
        2. Установить галочку в поле «Замена значений столбцов».
        3. Установить галочку в поле «Стандартизация».
        4. В поле «Флаг признака» выбрать из списка значение «1. Признаки»
    1. Ввести название для элемента: «Стабилизация».
    2. Соединить элементы:
    1. Skew и Дики-Фуллер для Стабилизации. Данный этап не является обязательным, но позволяет оценить стал ли ряд стационарным после всех преобразований.
      1. Добавить на рабочую область и настроить два элемента «Процесс»:
      2. Для первого блока в карточке элемента выбрать из списка функцию: раздел «Тест на нормальность распределения» ->  функция «Коэффициент асимметрии Skewness». В поле признаки вводим [‘Tq’, ‘Tw’] и сохраняем. Наименование блока можно изменить на «Skew».
      3. Для второго блока в карточке элемента выбрать из списка функцию: «Тест на стационарность временного ряда» -> функция «Тест Дики-Фуллера». В поле «пороговое значение alpha» вводим [0.05]. Наименование элемента можно изменить на «Дики-Фуллер».
      4. Соединить элементы:
    1. Дифференцирование временного ряда. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Препроцессинг» ->  функция «Дифференцирование временного ряда».
        1. В поле «Шаг дифференцирования ввести:  [1,1]. 
        2. Шаг сдвига – это параметр, который определяет, на сколько наблюдений мы сдвигаем временной ряд, чтобы получить разницу в значениях.
      2. Изменить название элемента на «Дифференцирование».
      3. Соединить элементы:
    1. Для блока «Дифференцирование» опционально можно провести тест Дики-Фуллера. Для этого необходимо:
      1. Добавить на рабочую область и настроить элемент «Процесс» и выбрать из списка функцию: «Тест на стационарность временного ряда» -> функция «Тест Дики-Фуллера». В поле «пороговое значение alpha» вводим [0.05]. Наименование элемента можно изменить на «Дики-Фуллер».
      2. Соединить элементы:
    1. Создание признаков для временного ряда. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Препроцессинг» ->  функция «Создание признаков для временного ряда». 
      2. В поле «Максимальное количество лагов» указать: [1]. Это будет означать, что временной ряд будет сдвинут на 1 шаг.
      3. Изменить название элемента на «Создание признаков».
      4. Соединить элементы:
    1. Метод k-ближайших соседей для регрессии. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Регрессия» ->  функция «Метод k-ближайших соседей для регрессии». 
      2. В поле «Количество ближайших соседей» указать [2,3,5,10]» . 
      3. Установить галочку в поле «Оптимизация гиперпараметров»
      4. В поле «Тип веса для соседей» выбрать и «Единый» и «По расстоянию»
      5. В поле «Метрика расстояния» выбрать и «Евклидово», «Косинусное» и «Манхэттенское»
      6. В поле «Метрика для оптимизации» выбрать и «1. RMSE» и в поле «Количество фолдов для оптимизации» указать [3]

    1. Изменить название элемента на «KNN».
    2. Соединить элементы:
    1. Валидация модели. Добавить на рабочую область и настроить элемент «Процесс»:
      1. Выбрать из списка функцию: раздел «Машинное обучение» ->  функция «Валидация модели»:

    1. В разделе «Параметры» -> в поле «Метрика» выбрать значение «5. F1» – метрика для валидации. Анализируется связь между выбранными погодными условиями и целевым признаком. Так оценивается вероятность возникновения лесного пожара по всем показателям. Функция возвращает величину вероятности в виде значения от 0 до 1.
    2. Ввести название элемента «Валидация».
    1. Установить соединения с предыдущим элементом «Классификация» и элементом «Сплит датасета»: 

    1. Сохранение модели. Добавить на рабочую область и настроить элемент «Процесс»:
      1. В карточке элемента выбрать из списка функцию: раздел « Управление моделями» ->  функция «Сохранение модели».

    1. В разделе «Параметры» ввести название модели, с которым она будет сохранена, например «mei».
    1. Изменить название элемента на «Сохранение модели».
    2. Соединить элементы:
    1. Запуск пайплайна. Чтобы запустить сборку пайплайна нужно нажать на кнопку на первом элементе «Запуск» собранной блок-схемы. При этом отображение элемента «Запуск» изменится:

    Если активировать параметр «Сформировать отчет», в результате запуска пайплайна будет создан отчет.

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

    In this article: