Аппроксимация данных временных рядов

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

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

В данном примере аппроксимация данных временных рядов производится на значениях о температуре окружающей среды за 2017 — 2019 года.

Запустить демо

Установить локально

Описание алгоритма

1. Импорт данных

а) Загрузка данных

Таблица «Температура»

Имя Метка
Дата/время Data Дата
Вещественный тип Temperatura Температура

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

Диаграмма исходного набора данных
Рисунок 1. Диаграмма исходного набора данных

2. Обработка данных

а) Заполнение пропусков

Пропущенные значения поля Температура заполняются с помощью обработчика Заполнение пропусков, в настройках в качестве метода обработки указано «Заменять наиболее вероятным».

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

Установлены следующие настройки для узла Цикл:

  • «Вид групповой обработки» — Фиксированный размер групп;
  • «Количество строк в группе» — 10.

Разбиение диапазона на группы нужно для установки наиболее вероятного значения не из всего диапазона, а только из соответствующего интервала.

3. Корректировка аномальных значений

а) Редактирование выбросов

Поиск аномальных значений поля Температура и их обработка производятся с помощью узла Редактирование выбросов.

Установлены следующие настройки для узла Редактирование выбросов:

  • «Метод выявления» — Стандартное отклонение;
  • «Для выброса» — 2;
  • «Для экстремального» — 3;
  • «Метод обработки» — Заменять наиболее вероятным.

Аналогично Заполнению пропусков, с помощью Цикла производится многократный запуск узла Редактирование выбросов, где диапазон делится на группы по 13 значений.Данный подход увеличивает качество итоговых значений.

С помощью компонента Объединение выбросы и экстремальные значения объединяются в одну таблицу, а далее с помощью обработчика Сортировка структурируются по возрастанию даты.

На выходе подмодели получаем две таблицы: «Набор данных» и «Выбросы», — где отображаются скорректированные данные и значения, которые подверглись корректировке соответственно.

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

Диаграмма набора данных после редактирования выбросов
Рисунок 2. Диаграмма набора данных после редактирования выбросов

Узел Редактирование выбросов может использоваться для редактирования аномальных значений данных, где необходимо сохранять исходную структуру, так как в выходном наборе данных скорректированы только «Выбросы». В качестве примера таких данных может выступать статистика заболеваемости за короткий промежуток времени (за месяц).

Примечание: В зависимости от исходных данных, диапазон групп при настроке Циклов в Заполнении Пропусков и Редактировании выбросов может изменяться. Размер диапазона зависит от периодичности и частоты «Пропусков» и «Выбросов» соотвественно, а также от величины исходного набора данных.

б) Редактирование выбросов при помощи ARIMAX

Узел ARIMAX автоматически обрабатывает от выбросов весь диапазон значений. На «Выходе модели» получаем таблицу, состоящую из следующих полей:

  • Дата — показатели даты из исходного набора
  • Температура — показатели температуры из исходного набора
  • Температура|Прогноз — спрогнозированные показатели температуры
  • Температура|Ошибка аппроксимации — значение корректировки исходных показателей температуры

С помощью компонента Калькулятор идет поиск выбросов на основе больших значений из поля Температура|Ошибка аппроксимации. Полученное поле Выбросы с помощью Фильтра строк очищаем от пустых значений.

На выходе подмодели получаем две таблицы: «Набор данных» и «Выбросы», — где отображаются скорректированные данные и исходные значения, которые подверглись корректировке соответственно.

Для визуализации результатов используется Диаграмма, настроенная для таблицы «Набор данных». Синим графиком демонстрируются начальные значения с выбросами, оранжевым графиком — обработанные значения.

Диаграмма набора данных после ARIMAX
Рисунок 3. Диаграмма набора данных после ARIMAX

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

4. Сглаживание

а) Сглаживание

Наборы данных, полученные в пункте 3, обрабатываются с помощью узла Сглаживание, который корректирует график, делая переходы между значениями более плавными.

Установлены следующие настройки для узла Сглаживание:

Для визуализации результатов используется Диаграмма, настроенная для таблицы «Набор данных». Синим графиком демонстрируются скорректированные аномальные значения пунктом 3, оранжевым графиком — значения после сглаживания.

Диаграмма набора сглаженных данных после редактирования выбросов
Рисунок 4. Диаграмма набора сглаженных данных после редактирования выбросов
Диаграмма набора сглаженных данных после ARIMAX
Рисунок 5. Диаграмма набора сглаженных данных после ARIMAX

Узел Сглаживание может использоваться для случаев, когда необходимо рассматривать статистику данных подъема и спуска по сезонам, без ориентира на конкретные значения.


Пример использования ARIMA для прогноза продаж

Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2 (POPCNT, LZCNT).