Работа с многомерным прогнозированием временных рядов
С помощью Qlik Predict можно обучать модели машинного обучения для прогнозирования показателей, зависящих от времени. Используя методы на основе нейронных сетей, модели изучают и прогнозируют сложные закономерности, включающие ассоциации, зависящие от времени, сгруппированные целевые данные, исторические характеристики и известные будущие переменные. Чтобы создать прогноз временных рядов, подготовьте набор данных для обучения, используйте его в эксперименте с временными рядами, разверните модель, а затем создайте наборы данных применения, которые можно использовать для генерации прогнозов.
Компоненты задачи временных рядов
При прогнозировании временных рядов цель состоит в том, чтобы предсказать целевые значения для определенных дат в будущем. Например, может потребоваться спрогнозировать продажи на следующую неделю, месяц или квартал.
При разработке задачи временных рядов определите следующие компоненты:
-
Цель и группы
-
Индекс даты
-
Горизонт прогнозирования
-
Ковариаты
Упрощенная иллюстрация, описывающая компоненты задачи прогнозирования временных рядов в Qlik Predict.

Цель
Как и в других типах экспериментов, цель — это столбец, для которого модель должна прогнозировать будущие значения. Для экспериментов с временными рядами цель должна содержать числовые данные, например, продажи или запасы.
Если в прогнозе временных рядов используются группы, модели будут прогнозировать одно целевое значение для каждой группы на каждом временном шаге в окне прогнозирования. Если группы не используются, обученные модели будут прогнозировать одно целевое значение для каждого временного шага в окне прогнозирования.
Индекс даты
Индекс даты отслеживает показатели временных рядов на протяжении непрерывного временного интервала (временного шага). Необходимо определиться с временным шагом на раннем этапе: как часто нужно прогнозировать будущие значения?
В частности, индекс даты — это столбец, который появляется в наборах данных для обучения и применения для задач временных рядов. Индекс даты определяет структуру обоих этих наборов данных применения: каждая строка представляет собой шаг во времени (или, при наличии групп, шаг во времени для каждой уникальной группировки).
При добавлении набора данных для обучения в эксперимент с временными рядами возможные столбцы индекса даты автоматически идентифицируются и представляются в виде Аналитики на уровне столбцов. Их можно определить с помощью аналитики Возможный индекс даты в представлении схемы.
Группы
Группы — это характеристики, содержащие категориальную информацию, для которой требуется генерировать прогнозы отдельно. Классические примеры групп включают номер магазина и продукт, которые могли использоваться для организации данных для такой цели, как продажи. При выборе номера магазина и типа продукта в качестве групп модели временных рядов будут предоставлять прогнозы для каждого отдельного значения в этих столбцах. Например, если целью являются продажи, и у вас есть три номера магазинов (1, 2 и 3) и два типа продуктов (бакалея и свежие продукты), модель сгенерирует прогнозы продаж для каждой уникальной комбинации этих значений.
Следует включать группы в задачу временных рядов, если у вас есть данные и требуются индивидуальные прогнозы по категориям. Еще одно преимущество групп заключается в том, что модели могут обучаться глобально, лучше понимая закономерности, существующие между определенными вами различными группировками.
Можно настроить группы для использования в каждой версии эксперимента. Если группы не указаны, но они идентифицированы в наборе данных для обучения, при обучении будут использоваться группы.
Группы идентифицируются по дубликатам значений в столбце индекса даты: например, для даты 14.01.2025 есть две записи: одна для магазина A, а другая для магазина B.
Каждая группа в эксперименте с временными рядами, включая только цель, рассматривается как отдельный временной ряд в наборе данных. См. раздел Что такое временной ряд?.
Первичные и вторичные группы
Для задач временных рядов с двумя столбцами групп одна группа является первичной, а другая — вторичной. Примеры см. в разделах Подготовка набора данных для обучения, Пример набора данных для обучения — две группы и Пример набора данных применения — две группы.
Первичная группировка определяет независимые временные ряды. Например, каждый магазин становится отдельным временным рядом, что позволяет модели изучать различное поведение и закономерности в разных магазинах.
Вторичная группировка обрабатывается иначе. Вместо создания полностью отдельных рядов система преобразует эти значения в дополнительные характеристики (ковариаты), позволяя связанным подрядам предоставлять друг другу контекстную информацию.
Обычно не нужно знать, какая группа является первичной, а какая вторичной, хотя при желании можно выбрать первичную группу в эксперименте. При прогнозировании с помощью развернутых моделей временных рядов применяются определенные соображения — см. раздел Подготовка набора данных применения.
Все первичные группы должны иметь одни и те же вторичные группы. Например, если магазины являются первичными группами, а продукты — вторичными, каждый магазин должен содержать один и тот же набор продуктов. Отсутствие вторичных групп приведет к несогласованности измерений характеристик во временных рядах.
Если ожидается, что значения вторичной группы не будут совпадать со значениями первичной группы во время прогнозирования, один из возможных подходов — объединить исходные значения первичной и вторичной групп в новый столбец группировки и использовать его в качестве первичной группы при переобучении модели. В этой конфигурации модель больше не зависит от вторичных групп, но коррелированная информация между группами может быть уменьшена.
Горизонт прогнозирования
Горизонт прогнозирования указывает, насколько далеко в будущее требуется сделать прогноз. Горизонт прогнозирования состоит из окна прогнозирования (количества временных шагов, для которых нужны прогнозы) и разрыва прогнозирования (необязательного количества временных шагов после исторических данных, для которых прогнозы не требуются).
Окно прогнозирования и размер разрыва задаются при настройке версии эксперимента. Эти значения используются как во время обучения модели, так и при генерации прогнозов из моделей, развернутых как развертывания машинного обучения.
Окно прогнозирования — это количество временных шагов, на которое требуется сделать прогноз в будущее. Например, если временной шаг составляет один день и нужно спрогнозировать продажи на следующие две недели, окно прогнозирования следует установить равным 14.
Разрыв прогнозирования — это период времени в будущем, для которого прогнозы не требуются. Установка разрыва прогнозирования не является обязательной, так как он может понадобиться или нет. Разрыв прогнозирования начинается в конце предоставленных записанных исторических данных для обучения. Окно прогнозирования начинается там, где заканчивается разрыв прогнозирования.
Например, может потребоваться спрогнозировать будущие продажи, но интересуют только будущие продажи на даты, наступающие более чем через неделю после окончания входных данных. В этом случае при временном шаге в днях можно установить размер разрыва прогнозирования равным семи временным шагам.
Выбранное окно прогнозирования, помимо объема данных для обучения, ограничивает то, насколько далеко в будущее можно сделать прогноз. Для получения дополнительной информации см. раздел Максимальное окно прогнозирования.
Ковариаты
В задачах временных рядов характеристики часто называют ковариатами. Как и в других задачах машинного обучения, ковариаты — это другие переменные, которые, как предполагается, влияют на результат цели. Каждая ковариата представлена в виде отдельного столбца в наборе данных для обучения.
В прогнозировании временных рядов существует несколько типов ковариат, и они имеют некоторые важные отличия:
-
Статические ковариаты: столбцы, которые не изменяются в течение временного ряда. Статические ковариаты применимы в экспериментах с временными рядами, где используются группы. Например, предположим, что есть группы для продукта и номера магазина, а также характеристика «Скидка по умолчанию». Если продукт A в магазине 1 имеет скидку по умолчанию 10%, а продукт B в магазине 2 имеет скидку по умолчанию 20%, «Скидка по умолчанию» будет статической ковариатой. То есть она не изменяется в пределах данных для группы, в которой она появляется.
Статические ковариаты обнаруживаются автоматически из исторических характеристик, включенных в эксперимент. Указывать, какие характеристики являются статическими ковариатами, не нужно.
-
Прошлые ковариаты: зависящие от времени переменные, которые доступны только в исторических данных и которые изменяются в этих данных. Прошлые ковариаты обнаруживаются автоматически из исторических характеристик, включенных в эксперимент. Явно указывать, какие характеристики являются прошлыми ковариатами, не нужно.
-
Будущие ковариаты: будущие ковариаты, также известные как будущие характеристики, — это зависящие от времени переменные, для которых будут известны будущие значения в пределах горизонта прогнозирования. При использовании будущих ковариат в обучении их необходимо указать как будущие характеристики в конфигурации обучения.
Будущие характеристики
С помощью будущих характеристик можно предоставить моделям дополнительные данные о будущей информации, которая уже известна или которую можно обоснованно ожидать. В частности, есть доступ к будущим значениям для этой характеристи, охватывающим выбранный горизонт прогнозирования. При определении будущих характеристик необходимо предоставить как исторические, так и будущие данные.
Например, для модели, прогнозирующей показатели, на которые могут повлиять будущие скидки, предлагаемые магазином, можно включить исторически наблюдаемые скидки, а также скидки для будущих периодов времени в пределах окна прогнозирования. Другими примерами будущих характеристик может быть информация о погоде или календаре.
Другие важные концепции
В этом разделе описаны концепции, которые имеют отношение к задаче временных рядов, но которые не настраиваются напрямую в эксперименте или развертывании машинного обучения. Это свойства, которые определяются данными или другими свойствами, настраиваемыми для модели.
Временные шаги
Временной шаг определяется набором данных для обучения и важен как для обучения, так и для прогнозов.
В наборе данных для обучения временной шаг — это интервал, с которым записываются данные в индексе даты. Например, временной шаг может быть ежедневным, ежечасным, ежеминутным или ежесекундным. Наименьший обнаруживаемый временной шаг — миллисекунды.
Важно знать временной шаг, используемый в данных для обучения. Другие определяемые параметры эксперимента, такие как окно прогнозирования и размер разрыва прогнозирования, будут следовать этому интервалу временного шага.
После развертывания модели данные применения, для которых требуется создать прогнозы, должны будут следовать тому же временному шагу, который определен в наборе данных для обучения.
Качество
При выборе набора данных для обучения система определяет используемый временной шаг. Если в индексе даты есть пропущенные значения или пробелы, такие столбцы, как цель, группы и ковариаты, могут быть интерполированы системой автоматически. Однако если данные содержат временные интервалы, которые настолько непоследовательны, что обнаруживаются разные временные шаги, данные необходимо сначала исправить. Например, если есть данные за несколько месяцев, записываемые один раз в день, но есть раздел, в котором данные последовательно записываются еженедельно, набор данных использовать нельзя, так как будут обнаружены несколько временных шагов.
Окно применения
Окно применения, или период ретроспективного анализа, — это часть данных для обучения, которую алгоритм может использовать для предоставления прогнозов для указанного окна прогнозирования.
Окно применения рассчитывается и устанавливается системой. Оно измеряется во временных шагах. Окно применения определяется тем, что задано в качестве окна прогнозирования и разрыва (горизонта прогнозирования). Размер окна применения отображается на панели конфигурации эксперимента и в Сводке по обучению модели после запуска хотя бы одной версии эксперимента. Он также отображается в Схеме модели развертывания машинного обучения при создании или редактировании конфигурации пакетного прогнозирования.
Окно применения определяется автоматически из конфигурации обучения. Чтобы сгенерировать прогнозы для заданного окна прогнозирования, необходимо предоставить исторические данные, охватывающие как минимум окно применения. Это предоставляется в наборе данных применения. См. раздел Подготовка набора данных применения.
Максимальное окно прогнозирования
Максимальное окно прогнозирования оценивается при настройке эксперимента с временными рядами. После запуска версии обучения максимальное окно прогнозирования подтверждается с уверенностью. Максимальное окно прогнозирования отображается как Расчетный максимальный прогноз или Максимальный прогноз в разделе На основе ваших данных при открытии Цель и тип эксперимента на панели конфигурации эксперимента. Максимальное окно прогнозирования — это максимальное количество временных шагов, для которых можно сгенерировать прогнозы, с учетом выбранного окна прогнозирования, объема предоставленных исторических данных и минимального размера выборки, ожидаемого системой. Чем больше исторических данных предоставлено, тем дальше во времени можно будет прогнозировать. Однако для генерации надежных прогнозов важно выбрать разумное окно прогнозирования.
Максимальное окно прогнозирования может составлять до 180 временных шагов.
Время отсечения прогноза
Время отсечения прогноза особенно важно при определении набора данных применения во время прогнозирования. Время отсечения прогноза — это последняя дата в выборке, для которой есть целевое значение. По сути, даты после этого времени отсечения — это даты, для которых требуется сгенерировать прогнозы.
Что такое временной ряд?
В прогнозировании временных рядов Qlik Predict каждая группа, включая только цель, рассматривается как отдельный временной ряд в наборе данных для обучения. Например, предположим, что набор данных для обучения содержит показатели продаж. Эти показатели продаж определены для каждого магазина и типа продукта. Если столбцы «Магазин» и «Тип продукта» определены как группы, в наборе данных для обучения будет три временных ряда.
Подготовка набора данных для обучения
Для многомерных прогнозов временных рядов набор данных для обучения должен содержать следующие столбцы:
-
Индекс даты
-
Целевой столбец
-
Столбцы групп (необязательно)
-
Столбцы характеристик (необязательно — без характеристик обучается одномерная модель прогнозирования)
Иллюстрации, показывающие необходимые столбцы и данные для наборов данных для обучения временных рядов. Описаны сценарии без групп, с одной группой и с двумя группами.

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

Столбец индекса даты
Необходим индекс даты, содержащий полные даты или метки времени. Этот столбец является хронологическим индексом, по которому отслеживаются целевые и ковариатные показатели. Столбец индекса даты последовательно организует измерения на основе времени вдоль согласованного временного интервала (временного шага).
Столбец индекса даты организован следующим образом, в зависимости от того, используются ли группы:
-
Без групп: одна запись для каждого временного шага. Например, при ежедневном прогнозе каждая строка представляет один день.
-
С группами: одна или несколько дублирующихся записей для каждого временного шага в зависимости от используемых групп.
В многомерном наборе данных для обучения будет одна или несколько дублирующихся записей для каждого временного шага в зависимости от используемых групп. Существует гибкость в используемом временном шаге: например, можно записывать даты один или несколько раз ежедневно, еженедельно, ежемесячно и т. д.
Пропущенные или непоследовательно записанные значения в этом столбце иногда допустимы, если их можно интерполировать. Однако значения индекса даты не могут содержать несколько разных временных шагов. Например, если интервал определен как один раз в день, но в какой-то момент идентифицируется интервал два раза в день, во время обучения произойдет ошибка.
Целевой столбец и столбцы групп
Набор данных должен иметь целевой столбец, содержащий числовой показатель, который требуется спрогнозировать. Распространенным примером являются продажи.
Если используются группы, предоставляются исторические целевые значения для каждого возможного значения в добавляемых группах. Например, если целью являются продажи и добавляется группа «Номер магазина», содержащая данные для магазина A и магазина B, набор данных должен включать две отдельные записи для каждого временного шага: одну со значением продаж для магазина A, а другую со значением продаж для магазина B.
Столбцы характеристик
Модель временных рядов можно обучить без каких-либо ковариат. Однако если ковариаты включены, предоставьте столбец в наборе данных для каждой характеристики. Данные характеристик, как правило, должны быть исторически записанными данными, если только не добавляются будущие характеристики. Столбцы будущих характеристик могут содержать как исторические, так и будущие данные. Данные будущих характеристик следует включать в набор данных для обучения только в том случае, если есть уверенность, что будущие значения этих столбцов будут известны при создании прогнозов.
Следите за тем, какие характеристики будут использоваться в качестве будущих характеристик, так как их нужно будет выбрать в качестве таковых в конфигурации обучения.
Объем данных
Набор данных должен содержать достаточное количество записей: объем данных определяется временным диапазоном, общим для всех групп. Для обучения эксперимента используются только данные из этого перекрывающегося периода.
Объем исторических данных играет роль в определении того, насколько далеко в будущее можно прогнозировать. Желаемое окно прогнозирования также влияет на то, сколько исторических данных требуется.
Как правило, чем больше исторических данных, тем лучше. Однако данные должны быть хорошего качества и отражать желаемые тенденции. Если данные предоставляют нерелевантную информацию или содержат неточности, их наличие в модели не принесет пользы. Учитывайте баланс между оптимизацией объема и поддержанием качества и релевантности.
Примеры
Подготовка набора данных применения
После развертывания модели временных рядов необходимо разработать набор данных применения, для которого будут делаться прогнозы.
Набор данных применения — требования и проверка
Для моделей временных рядов набор данных применения должен содержать:
-
Столбцы и заголовки столбцов для всех столбцов, включенных в набор данных для обучения.
-
Тот же временной шаг, что и в наборе данных для обучения.
-
Все группы и значения групп, которые присутствовали в наборе данных для обучения.
Примечание к информацииЕсли в наборе данных для применения присутствуют новые значения групп (которых не было в данных для обучения), прогнозы для этих строк не генерируются. Если для этих новых значений групп требуются прогнозы, рекомендуется переобучить модель с использованием данных для обучения, которые их включают.Примечание к информацииВо время прогнозирования или в наборе данных для применения отсутствующие значения групп обрабатываются следующим образом:
-
Отсутствие значений основной группы, на которых обучается модель, допускается.
-
Отсутствие значений вторичной группы не допускается. Прогнозирование завершается с ошибкой.
По возможности лучше всего собирать и предоставлять все данные вторичной группы во время прогнозирования. Однако, если ожидается, что вторичные группы будут отсутствовать в основном во время прогнозирования, одним из возможных решений является полный отказ от использования вторичных групп.
Вместо этого можно объединить исходные значения основной и вторичной групп в один новый столбец группировки, использовать его в качестве новой основной группы и переобучить модель на основе этой структуры. В этой конфигурации новая модель зависит только от недавно введенных основных групп.
Компромисс заключается в том, что вы можете потерять часть коррелированной информации между группами, поскольку теперь они будут рассматриваться как полностью отдельные временные ряды, а не как связанные подряды, предоставляющие друг другу контекстную информацию.
-
-
Столько же или больше записей исторических данных (для каждой цели и группы) до времени отсечения прогноза, сколько записей в окне применения для модели. Это должны быть полные записи, содержащие исторически наблюдаемую дату или метку времени, цель и значения ковариат. Окно применения определяется окном прогноза и интервалом, настроенными во время обучения: чем дальше в будущее нужно сделать прогноз, тем больше исторических данных требуется в наборе данных для применения для выполнения прогнозирования.
-
Записи для всех будущих временных шагов в горизонте прогноза. Для этих будущих записей включайте только значения для столбца индекса даты, а также любые будущие характеристики. Оставьте значения для остальных столбцов пустыми.
Иллюстрации, показывающие необходимые столбцы и данные для наборов данных применения, используемых для генерации прогнозов с помощью моделей прогнозирования временных рядов. Описаны сценарии без групп, с одной группой и с двумя группами.

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