Аппроксимация данных временных рядов
Задача аппроксимации данных временных рядов заключается в поиске аномальных значений относительно временного ряда и их сглаживание. Решение данной задачи было реализовано двумя методами: при помощи компонента Редактирование выбросов и с помощью компонента ARIMAX.
Модели ARIMA применяются для решения задач, в которых требуется построить прогноз на основе имеющихся данных, то есть вычислить последующие значения ряда на основе предыдущих. Временным рядом могут быть любые данные в разрезе времени, например, продажи товаров, количество заказов, поток клиентов, значения окружающей температуры и т.д. Кроме того, на основе построения прогноза автоматически корректируются аномальные значения, соответственно, прогноз — это выборка текущих значений с учетом корректировки выбросов.
В данном примере аппроксимация данных временных рядов производится на значениях о температуре окружающей среды за 2017 — 2019 года.
Описание алгоритма
1. Импорт данных
Таблица «Температура»
Имя | Метка |
---|---|
Дата | |
Температура |
Для визуализации входных данных используется Диаграмма, где резкие точечные перепады показывают аномальные значения или выбросы.
![Диаграмма исходного набора данных](images/source-set1.png)
2. Обработка данных
Пропущенные значения поля Температура заполняются с помощью обработчика Заполнение пропусков, в настройках в качестве метода обработки указано «Заменять наиболее вероятным».
Для обеспечения лучшего заполнения значений в пропусках с помощью Цикла производится многократный запуск узла Заполнение пропусков.
Установлены следующие настройки для узла Цикл:
- «Вид групповой обработки» — Фиксированный размер групп;
- «Количество строк в группе» — 10.
Разбиение диапазона на группы нужно для установки наиболее вероятного значения не из всего диапазона, а только из соответствующего интервала.
3. Корректировка аномальных значений
Поиск аномальных значений поля Температура и их обработка производятся с помощью узла Редактирование выбросов.
Установлены следующие настройки для узла Редактирование выбросов:
- «Метод выявления» — Стандартное отклонение;
- «Для выброса» — 2;
- «Для экстремального» — 3;
- «Метод обработки» — Заменять наиболее вероятным.
Аналогично Заполнению пропусков, с помощью Цикла производится многократный запуск узла Редактирование выбросов, где диапазон делится на группы по 13 значений.Данный подход увеличивает качество итоговых значений.
С помощью компонента Объединение выбросы и экстремальные значения объединяются в одну таблицу, а далее с помощью обработчика Сортировка структурируются по возрастанию даты.
На выходе подмодели получаем две таблицы: «Набор данных» и «Выбросы», — где отображаются скорректированные данные и значения, которые подверглись корректировке соответственно.
Для визуализации результатов используется Диаграмма, настроенная для таблицы «Набор данных», где уже отсутствуют резкие одиночные перепады.
![Диаграмма набора данных после редактирования выбросов](images/processed-set1.png)
Узел Редактирование выбросов может использоваться для редактирования аномальных значений данных, где необходимо сохранять исходную структуру, так как в выходном наборе данных скорректированы только «Выбросы». В качестве примера таких данных может выступать статистика заболеваемости за короткий промежуток времени (за месяц).
Примечание: В зависимости от исходных данных, диапазон групп при настроке Циклов в Заполнении Пропусков и Редактировании выбросов может изменяться. Размер диапазона зависит от периодичности и частоты «Пропусков» и «Выбросов» соотвественно, а также от величины исходного набора данных.
Узел ARIMAX автоматически обрабатывает от выбросов весь диапазон значений. На «Выходе модели» получаем таблицу, состоящую из следующих полей:
- Дата — показатели даты из исходного набора
- Температура — показатели температуры из исходного набора
- Температура|Прогноз — спрогнозированные показатели температуры
- Температура|Ошибка аппроксимации — значение корректировки исходных показателей температуры
С помощью компонента Калькулятор идет поиск выбросов на основе больших значений из поля Температура|Ошибка аппроксимации. Полученное поле Выбросы с помощью Фильтра строк очищаем от пустых значений.
На выходе подмодели получаем две таблицы: «Набор данных» и «Выбросы», — где отображаются скорректированные данные и исходные значения, которые подверглись корректировке соответственно.
Для визуализации результатов используется Диаграмма, настроенная для таблицы «Набор данных». Синим графиком демонстрируются начальные значения с выбросами, оранжевым графиком — обработанные значения.
![Диаграмма набора данных после ARIMAX](images/source-set-arimax1.png)
Узел ARIMAX может использоваться для редактирования аномальных значений данных, где помимо «Выбросов» корректируется весь набор данных. В качестве примера таких данных может выступать поток клиентов за несколько лет.
4. Сглаживание
Наборы данных, полученные в пункте 3, обрабатываются с помощью узла Сглаживание, который корректирует график, делая переходы между значениями более плавными.
Установлены следующие настройки для узла Сглаживание:
- «Метод обработки» — Вейвтлет-сглаживание;
- «Тип вейвлета» — Добеши.
Для визуализации результатов используется Диаграмма, настроенная для таблицы «Набор данных». Синим графиком демонстрируются скорректированные аномальные значения пунктом 3, оранжевым графиком — значения после сглаживания.
![Диаграмма набора сглаженных данных после редактирования выбросов](images/smothed-data1.png)
![Диаграмма набора сглаженных данных после ARIMAX](images/smothed-data-arimax1.png)
Узел Сглаживание может использоваться для случаев, когда необходимо рассматривать статистику данных подъема и спуска по сезонам, без ориентира на конкретные значения.
Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно
Минимальные требования к системе:
- Операционная система: Windows 8.1 и выше.
- CPU x64: 1 core.
- Оперативная память: 1 GB.
- Жесткий диск: 10 GB.