Модуль Прогнозирование предназначен для получения прогнозных значений на основании текущих данных. Результатом прогноза является новый прогнозный элемент с расчетными значениями.
Для больших объемов данных используется автоматический выбор одного из алгоритмов:

  • Линейная регрессия;
  • Экспоненциальное сглаживание;
  • Фильтр Калмана;
  • Модель сквозящего среднего;
  • Авторегрессионная модель;
  • Arima.

Порядок работы прогнозирования:

  • В начале производится тестирование алгоритмов на имеющихся данных, генерируются последние n элементов строки каждым из алгоритмов, и считается ошибка между полученным результатом и реальными данными: n = min(10, size/10);
  • Данные тестов усредняются, и для каждого из фактов выбирается алгоритм, показавший наименьшую ошибку;
  • Берется уже полная строка данных. В ней ищется наличие сезонной составляющей. Если она была найдена, то она удаляется и сохраняется отдельно;
  • Данные, очищенные от сезонной компоненты, сглаживаются и результат отдается одному из алгоритмов, выбранному на шаге 2;
  • Алгоритм экстраполирует данные на K шагов (задается пользователем) и возвращает полученный результат;
  • К полученным данным добавляется сезонная составляющая, сохраненная на шаге 3;
  • После того, как шаги 3-6 будут применены ко всем строкам из рабочей области, итоговый результат записывается в куб в виде новых элементов верхней размерности;
  • Имена новых элементов задаются по следующему принципу: для даты, времени и числовых типов берется разница между последним и предпоследним элементом и добавляется к имени последнего элемента; для строковых размерностей имена новых элементов выглядят как Прогноз #K, K = 1, 2, 3, ...
  • Нет меток