Работа с многомерным прогнозированием временных рядов
С помощью 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.
Столбцы характеристик
Вы можете обучить модель временных рядов без каких-либо ковариат. Однако, если вы включаете ковариаты, предоставьте столбец в наборе данных для каждой характеристики. Данные характеристик, как правило, должны быть исторически записанными данными, если только вы не добавляете будущие характеристики. Столбцы будущих характеристик могут содержать как исторические, так и будущие данные. Вам следует включать данные будущих характеристик в набор данных для обучения только в том случае, если вы уверены, что будущие значения этих столбцов будут известны при создании прогнозов.
Следите за тем, какие характеристики вы будете использовать в качестве будущих характеристик, так как вам нужно будет выбрать их в качестве таковых в конфигурации обучения.
Объем данных
Ваш набор данных должен содержать достаточное количество записей: объем данных определяется временным диапазоном, общим для всех групп. Для обучения эксперимента используются только данные из этого перекрывающегося периода.
Объем ваших исторических данных играет роль в определении того, насколько далеко в будущее вы можете прогнозировать. Желаемое окно прогнозирования также влияет на то, сколько исторических данных вам нужно.
Как правило, больше исторических данных лучше, чем меньше. Однако данные должны быть хорошего качества и отражать желаемые тенденции. Если данные предоставляют нерелевантную информацию или содержат неточности, их наличие в модели не принесет пользы. Учитывайте баланс между оптимизацией объема и поддержанием качества и релевантности.
Примеры
Подготовка набора данных для применения
После того как вы развернете модель временных рядов, вам необходимо разработать набор данных для применения, для которого будут делаться прогнозы.
Набор данных для применения — Требования и проверка
Для моделей временных рядов набору данных для применения требуется:
-
Столбцы и заголовки столбцов для всех столбцов, включенных в набор данных для обучения.
-
Тот же временной шаг, что и в наборе данных для обучения.
-
Все группы и значения групп, которые присутствовали в наборе данных для обучения.
Примечание к информацииЕсли в наборе данных для применения присутствуют новые значения групп (которых не было в данных для обучения), прогнозы для этих строк не генерируются. Если для этих новых значений групп требуются прогнозы, рекомендуется переобучить модель с использованием данных для обучения, которые их включают.Примечание к информацииВо время прогнозирования или в наборе данных для применения отсутствующие значения групп обрабатываются следующим образом:
-
Отсутствие значений основной группы, на которых обучается модель, допускается.
-
Отсутствие значений вторичной группы не допускается. Прогнозирование завершается с ошибкой.
По возможности лучше всего собирать и предоставлять все данные вторичной группы во время прогнозирования. Однако, если ожидается, что вторичные группы будут отсутствовать в основном во время прогнозирования, одним из возможных решений является полный отказ от использования вторичных групп.
Вместо этого можно объединить исходные значения основной и вторичной групп в один новый столбец группировки, использовать его в качестве новой основной группы и переобучить модель на основе этой структуры. В этой конфигурации новая модель зависит только от недавно введенных основных групп.
Компромисс заключается в том, что вы можете потерять часть коррелированной информации между группами, поскольку теперь они будут рассматриваться как полностью отдельные временные ряды, а не как связанные подряды, предоставляющие друг другу контекстную информацию.
-
-
Столько же или больше записей исторических данных (для каждой цели и группы) до времени отсечения прогноза, сколько записей в окне применения для модели. Это должны быть полные записи, содержащие исторически наблюдаемую дату или метку времени, цель и значения ковариат. Окно применения определяется окном прогноза и интервалом, настроенными во время обучения: чем дальше в будущее нужно сделать прогноз, тем больше исторических данных требуется в наборе данных для применения для выполнения прогнозирования.
-
Записи для всех будущих временных шагов в горизонте прогноза. Для этих будущих записей включайте только значения для столбца индекса даты, а также любые будущие характеристики. Оставьте значения для остальных столбцов пустыми.
Иллюстрации, показывающие необходимые столбцы и данные для наборов данных применения, используемых для генерации прогнозов с помощью моделей прогнозирования временных рядов. Описаны сценарии без групп, с одной группой и с двумя группами.

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