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

Модель ARIMAX (AutoRegressive Integrated Moving Average eXtended) — это математическая модель для анализа временных рядов, объединяющая в себе интегрированную авторегрессию, скользящее среднее и возможность учета дополнительных внешних факторов.

Существуют два подхода к реализации моделей:

  • ARIMA — авторегрессионная модель скользящего среднего с интеграцией.
  • ARIMAX — отличается от ARIMA тем, что дополнительно учитывается воздействие внешних (eXtended) факторов, влияющих на изменение исходного показателя.

В демопримере разбирается построение модели ARIMAX в Loginom для прогноза объема продаж сезонных товаров зимнего спорта по месяцам. Данный демопример основан на статье Пример использования ARIMA для прогноза продаж.

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

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

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

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

Таблица «Объем продаж»:

Имя Метка
Дата/время Date Дата
Вещественный тип Sales Продажи (руб.)

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

2. Автоматическая настройка структуры

а) Построение модели

В узле ARIMAX (авто настройка) выполнены настройки для получения прогнозных данных.

На первой странице мастера настройки для поля Продажи (руб.) установлено значение Прогнозируемое.

В окне Настройки ARIMAX установлена отметка в поле Определить структуру автоматически. Значение горизонта прогноза изменено на 5.

В примере узел настроен и обучен. Если в настройки модели вносятся изменения, то узел нужно переобучить.

б) Дополнение временных рядов

Поскольку поле Date содержит данные только за исходный временной период, возникает необходимость заполнить значения временного ряда для появившихся строк. В узле Дополнение временных рядов создается поле AllDates, содержащее все значения временного ряда. С помощью функции IF заполняются новые строки: если поле даты пустое, то к последней известной дате добавляется нужное количество месяцев, иначе остается существующая дата. Количество месяцев определяется как разница между номером строки и числом уникальных значений в поле Date. Полученная разница увеличена на 2, т.к. нумерация строк начинается с 0, и в числе уникальных значений учитывается пустая строка.

в) Построение графика

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

3. Увеличение точности прогноза

а) Построение модели

В узле ARIMAX (ручная настройка) на первой странице мастера настройки для поля Продажи (руб.) установлено значение Прогнозируемое.

В окне Настройки ARIMAX установлены следующие значения:

  • Порядок AR части — 35

  • Порядок интегрирования — 1

  • Порядок MA части — 1

  • Порядок сезонности AR части — 1

  • Горизонт прогноза — 5

В примере узел настроен и обучен. Если в настройки модели вносятся изменения, то узел нужно переобучить.

б) Дополнение временных рядов

Настройка выполняется так же, как описано в подпункте «б» пункта 2.

в) Построение графика

Для просмотра результатов используется визуализатор Диаграмма.

Параметры для сравнения моделей отображаются во вкладке «Сводка» на третьем выходном порте модели. Сравнивая модели, можно заметить, что средняя относительная ошибка снижается с 0,07 до 0,03, если задать параметры ручным способом.


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

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

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

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

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

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