Настройка узла Прогнозирование временных рядов (библиотека ETNA)
Данный узел или опция доступны, только если они включены в лицензии PolyAnalyst Server. |
Диалоговое окно настроек состоит из трех вкладок: Выбор колонок, Настройки и Общие.
Настройка вкладки Выбор колонок
На первой вкладке Выбор колонок указаны все доступные колонки из входящего узла. Выберите, какие атрибуты необходимо спрогнозировать, и переместите их вправо:

-
Колонка данных - колонка, содержащая данные временного ряда. Принимает колонки типа "число", "целое число".
-
Временная переменная - колонка отметок времени, которая обычно содержит данные о дате и времени. Эта переменная необходима для правильного анализа временных рядов, так как она указывает, когда каждая запись была сделана. Принимает колонки типа "дата".
-
Колонка сегмента - колонка идентификаторов сегментов. Таблица данных может содержать несколько временных рядов (сегментов). Каждый уникальный идентификатор представляет один временной ряд. Поле можно оставить пустым, если ваши данные представлены одним временным рядом без разделения на сегменты. Принимает колонки типа "целое число", "строка".
Настройка вкладки Настройки
На второй вкладке Настройки производится выбор модели для предсказания и настройка ее параметров:

Существует два режима работы с моделями: предсказание и бэктестирование.
Чтобы запустить модель в режиме предсказания, в разделе Параметры алгоритма необходимо отметить галочкой опцию Вычислить предсказания. В поле Горизонт предсказания укажите количество будущих дат, на которые необходимо сделать прогноз. В выпадающем меню Частотность возможно выбрать один из двух вариантов: auto и none. Если выбрано auto, то частотность вычисляется автоматически, но только в случаях, когда временной ряд имеет частотность, кратную недельной или дневной. Другую частотность при необходимости можно задать вручную, введя в это текстовое поле значение в соответствующем формате библиотеки pandas для временных рядов. Вариант none пока может работать не для всех моделей - это в настоящий момент свойство библиотеки ETNA.
Бэктест позволяет оценить точность предсказания модели на исторических данных. Для запуска модели в режиме бэктеста, в разделе Параметры бэктеста необходимо отметить галочкой опцию Вычислить бэктест и указать Горизонт бэктеста - количество последних дат временного ряда, используемых для тестирования модели. В поле Метрики введите метрики для вычисления разницы между предсказанным и реальным значением. По ссылке Метрики в настройках узла доступна документация библиотеки ETNA, в которой более подробно описаны различные метрики.
Параметры алгоритма
Выпадающий список Алгоритм позволяет выбрать модель для предсказания. После выбора модели, пользователи могут нажать на ссылку Алгоритм, чтобы подробно ознакомиться с назначением модели и ее параметрами.
Узел Прогнозирование временных рядов (библиотека ETNA) позволяет выбрать и настроить следующие модели для предсказания:
Naive - простая модель прогнозирования, основанная на принципе: дальше будет то же, что было раньше, то есть:
где I - используемый для предсказания лаг (отступ назад). Обычно модель используется как базис для сравнения насколько другая модель предсказывает лучше по сравнению с данной моделью.
-
Лаг - задайте значение отступа назад для предсказания нового значения.
Holt-Winters - классический метод экспоненциального сглаживания. Этот метод особенно хорошо работает, если ряд имеет ярко выраженную сезонность и/или тренд. Параметры алгоритма:
-
Тренд - выберите тип трендового компонента (нет, аддитивный, мультипликативный). Если ряд в целом растет линейно, рекомендуется выбрать аддитивный тип. Если рост выглядит как экcпоненциальный, рекомендуется выбрать мультипликативный тип.
-
Тренд дамп - включите опцию, чтобы уменьшить эффект трендового компонента.
-
Сезонность - выберите тип сезонного компонента (нет, аддитивный, мультипликативный). Если амплитуда сезонности в целом растет линейно, рекомендуется выбрать аддитивный тип. Если амплитуда сезонности растет экспоненциально, рекомендуется выбрать мультипликативный тип.
-
Период сезонности - задайте длину сезонного цикла. Например, если ряд содержит ежедневные данные о температуре, то период сезонности будет равен 365. Если ежемесячные данные о средней температуре за месяц, то 12.
-
Метод инициализации - выберите метод для инициализации рекурсий (оценочный или известный). Если выбран метод оценочный, модель самостоятельно подбирает оптимальные коэффициенты модели. Если выбран метод известный, то такие коэффициенты, как Начальный уровень, Начальный тренд, Начальная сезонность, пользователь задает самостоятельно.
-
Начальный уровень - задайте начальный уровень; обязательно для метода инициализации известный.
-
Начальный тренд - задайте начальный тренд; обязателен для метода инициализации известный.
-
Начальная сезонность - задайте начальную сезонность; обязателен для метода инициализации известный.
-
Использовать Box-Cox - включите опцию, если необходимо применить к данным преобразование Бокса-Кокса.
-
Обработка пропущенных дат - обработка может выполняться по следующим методам:
-
удалить отсутствующие значения - все наблюдения с пропущенными датами будут отфильтрованы из набора данных.
-
выводить сообщение об ошибке - при наличии пропусков будет сгенерирована ошибка.
-
Prophet - комплексная модель прогнозирования, способная самостоятельно анализировать различные характеристики временного ряда, чтобы обеспечить успешное прогнозирование. Параметры алгоритма:
-
Годовая сезонность - включает годовую сезонность, если есть данные за год (Да), и выключает в противном случае (Нет). Значение по умолчанию - автоматически.
-
Недельная сезонность - определяет наличие недельной сезонности, регулируется по аналогии с годовой сезонностью.
-
Дневная сезонность - определяет наличие дневной сезонности, регулируется по аналогии с годовой сезонностью.
-
Характер сезонности- позволяет определить и учесть сезонность в данных (аддитивный, мультипликативный).
Seasonal Moving Average - простая модель, использующая для предсказания скользящее сезонное среднее. Предположим, у нас есть ежедневные значения температуры за несколько лет. Чтобы предсказать температуру на определённую будущую дату, мы можем рассчитать среднее значение температуры за три года на эту же дату. Этот метод аналогичен тому, что используется в Seasonal Moving Average. Для вычисления необходимо задать Окно - в данном случае 3 и Сезонность - в данном случае 365. Параметры алгоритма:
-
Окно - количество значений, используемых для расчета прогноза для каждой точки временного ряда.
-
Сезонность - длительность сезона.
Recurrent neural network - модель на основе Рекуррентной нейронной сети. Параметры алгоритма:
-
Количество лагов - задайте количество лагов.
-
Количество эпох - укажите количество эпох для обучения.