Работа с многомерным прогнозированием временных рядов | Qlik Cloud Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

Работа с многомерным прогнозированием временных рядов

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

Компоненты задачи временных рядов

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

При разработке задачи временных рядов определите следующие компоненты:

  • Цель и группы

  • Индекс даты

  • Горизонт прогнозирования

  • Ковариаты

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

Упрощенная иллюстрация, описывающая компоненты задачи прогнозирования временных рядов в Qlik Predict.

Упрощенная иллюстрация, описывающая компоненты задачи прогнозирования временных рядов в Qlik Predict.

Цель

Как и в других типах экспериментов, цель — это столбец, для которого вы хотите, чтобы модель предсказала будущие значения. Для экспериментов с временными рядами цель должна содержать числовые данные — например, продажи или запасы.

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

Индекс даты

Индекс даты отслеживает метрики временных рядов в течение непрерывного временного интервала (временного шага). Вам нужно определить свой временной шаг на раннем этапе: как часто вам нужно прогнозировать будущие значения?

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

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

Группы

Группы — это характеристики, содержащие категориальную информацию, для которой вы хотите генерировать прогнозы отдельно. Классические примеры групп включают номер магазина и продукт, которые могли использоваться для организации данных для такой цели, как продажи. Выбрав номер магазина и тип продукта в качестве групп, ваши модели временных рядов предоставят прогнозы для каждого отдельного значения в этих столбцах. Например, если цель — продажи, и у вас есть три номера магазина (1, 2 и 3) и два типа продукта (бакалея и продукты), ваша модель будет генерировать прогнозы продаж для каждой уникальной комбинации этих значений.

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

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

Группы идентифицируются по дублирующимся значениям в столбце индекса даты — например, для даты 14.01.2025 у вас есть две записи: одна для магазина A, а другая для магазина B.

Каждая группа в эксперименте с временными рядами (включая только цель) считается отдельным временным рядом в вашем наборе данных. См. Что такое временной ряд?.

Горизонт прогнозирования

Горизонт прогнозирования определяет, как далеко в будущее вы хотите прогнозировать. Горизонт прогнозирования состоит из окна прогнозирования (количество временных шагов, для которых вам нужны прогнозы) и разрыва прогнозирования (необязательное количество временных шагов после ваших исторических данных, для которых вы не хотите получать прогнозы).

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

Окно прогнозирования — это количество временных шагов, на которые вы хотите сделать прогноз в будущее. Например, если ваш временной шаг — один день, и вы хотите спрогнозировать продажи на следующие две недели, вы установите окно прогнозирования на 14.

Разрыв прогнозирования — это количество времени в будущем, для которого вам не требуются прогнозы. Установка разрыва прогнозирования необязательна, так как он может вам понадобиться, а может и нет. Разрыв прогнозирования начинается в конце предоставленных вами записанных исторических данных обучения. Окно прогнозирования начинается там, где заканчивается разрыв прогнозирования.

Например, вы можете стремиться спрогнозировать будущие продажи, но вас интересуют только будущие продажи на даты, наступающие более чем через неделю после окончания ваших входных данных. В этом случае, при временном шаге в дни, вы можете установить размер разрыва прогнозирования на семь временных шагов.

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

Ковариаты

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

В прогнозировании временных рядов существует несколько типов ковариат, и они имеют некоторые важные различия:

  • Статические ковариаты: Столбцы, которые не меняются в течение временного ряда. Статические ковариаты применимы в экспериментах с временными рядами, где используются группы. Например, предположим, что у вас есть группы для продукта и номера магазина, и есть характеристика «Скидка по умолчанию». Если у продукта A в магазине 1 скидка по умолчанию составляет 10%, а у продукта B в магазине 2 — 20%, то «Скидка по умолчанию» будет статической ковариатой. То есть она не меняется внутри данных для группы, в которой она появляется.

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

  • Прошлые ковариаты: Зависящие от времени переменные, которые доступны только в исторических данных и которые меняются в этих данных. Прошлые ковариаты определяются автоматически на основе исторических характеристик, которые вы включаете в эксперимент. Вам не нужно явно указывать, какие характеристики являются прошлыми ковариатами.

  • Будущие ковариаты: Будущие ковариаты, также известные как будущие характеристики, — это зависящие от времени переменные, для которых вы будете знать будущие значения в пределах горизонта прогнозирования. При использовании будущих ковариат при обучении вам необходимо указать их как будущие характеристики в конфигурации обучения.

Будущие характеристики

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

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

Другие важные концепции

В этом разделе описаны концепции, которые имеют отношение к вашей задаче временных рядов, но которые вы не настраиваете напрямую в эксперименте или развертывании ML. Это свойства, которые определяются вашими данными или другими свойствами, которые вы настраиваете для модели.

Временные шаги

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

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

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

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

Качество

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

Окно применения

Окно применения, или период ретроспективного анализа, — это часть данных обучения, которую алгоритм может использовать для предоставления прогнозов для вашего указанного окна прогнозирования.

Окно применения рассчитывается и устанавливается системой. Оно измеряется в временных шагах. Окно применения определяется тем, что вы установили в качестве окна прогнозирования и разрыва (горизонт прогнозирования). Размер вашего окна применения отображается на панели конфигурации эксперимента и в Сводке обучения модели после запуска хотя бы одной версии эксперимента. Он также отображается в Схеме модели развертывания ML при создании или редактировании конфигурации пакетного прогнозирования.

Окно применения идентифицируется автоматически на основе вашей конфигурации обучения. Чтобы генерировать прогнозы для заданного окна прогнозирования, вам необходимо предоставить исторические данные, охватывающие как минимум ваше окно применения. Это предоставляется в вашем наборе данных для применения. См. Подготовка набора данных для применения.

Максимальное окно прогнозирования

Максимальное окно прогнозирования оценивается по мере настройки вашего эксперимента с временными рядами. После того как вы запустили версию обучения, максимальное окно прогнозирования подтверждается с уверенностью. Максимальное окно прогнозирования отображается вам как Оценочный максимальный прогноз или Максимальный прогноз в разделе На основе ваших данных, когда вы открываете Цель и тип эксперимента на панели конфигурации эксперимента. Максимальное окно прогнозирования — это максимальное количество временных шагов, для которых вы можете генерировать прогнозы, учитывая выбранное вами окно прогнозирования, объем предоставленных вами исторических данных и минимальный размер выборки, ожидаемый системой. Чем больше исторических данных вы предоставите, тем дальше во времени вы сможете прогнозировать. Однако для генерации надежных прогнозов важно выбрать разумное окно прогнозирования.

Максимальное окно прогнозирования может составлять до 180 временных шагов.

Время отсечки прогноза

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

Что такое временной ряд?

В прогнозировании временных рядов Qlik Predict каждая группа (включая только цель) считается отдельным временным рядом в наборе данных для обучения. Например, предположим, что ваш набор данных для обучения содержит метрики продаж. Эти метрики продаж определены для каждого магазина и типа продукта. С столбцами «Магазин» и «Тип продукта», определенными как группы, в наборе данных для обучения есть три временных ряда.

Подготовка набора данных для обучения

Для многомерных прогнозов временных рядов ваш набор данных для обучения должен содержать следующие столбцы:

  • Индекс даты

  • Целевой столбец

  • Столбцы групп (необязательно)

  • Столбцы характеристик (необязательно — без характеристик вы обучаете одномерную модель прогнозирования)

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

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

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

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

Столбец индекса даты

Вам нужен индекс даты, содержащий полные даты или временные метки. Этот столбец является хронологическим индексом, вдоль которого отслеживаются целевые метрики и метрики ковариат. Столбец индекса даты организует измерения на основе времени последовательно вдоль согласованного временного интервала (временного шага).

Столбец индекса даты организован следующим образом, в зависимости от того, используете ли вы группы:

  • Без групп: Одна запись для каждого временного шага. Например, при ежедневном прогнозе каждая строка представляет один день.

  • С группами: Одна или несколько дублирующихся записей для каждого временного шага в зависимости от используемых групп.

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

Пропущенные или непоследовательно записанные значения в этом столбце иногда приемлемы, если их можно интерполировать. Однако значения вашего индекса даты не могут содержать несколько разных временных шагов. Например, если интервал определен как один раз в день, но в какой-то момент идентифицируется интервал дважды в день, во время обучения произойдет ошибка.

Целевой столбец и столбцы групп

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

Если вы используете группы, вы предоставляете исторические целевые значения для каждого возможного значения в группах, которые вы добавляете. Например, если ваша цель — «Продажи», и вы добавляете группу «Номер магазина», которая содержит данные для магазина A и магазина B, ваш набор данных должен включать две отдельные записи для каждого временного шага: одну со значением продаж для магазина A, а другую со значением продаж для магазина B.

Столбцы характеристик

Вы можете обучить модель временных рядов без каких-либо ковариат. Однако, если вы включаете ковариаты, предоставьте столбец в наборе данных для каждой характеристики. Данные характеристик, как правило, должны быть исторически записанными данными, если вы не добавляете будущие характеристики. Столбцы будущих характеристик могут содержать как исторические, так и будущие данные. Вам следует включать данные будущих характеристик в набор данных для обучения только в том случае, если вы уверены, что будущие значения этих столбцов будут известны, когда вы будете создавать прогнозы.

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

Объем данных

Ваш набор данных должен содержать достаточно записей — объем данных определяется временным диапазоном, общим для всех групп. Для обучения эксперимента используются только данные из этого перекрывающегося периода.

Объем ваших исторических данных играет роль в определении того, как далеко в будущее вы можете прогнозировать. Желаемое окно прогнозирования также влияет на то, сколько исторических данных вам нужно.

Как правило, больше исторических данных — лучше, чем меньше. Однако данные должны быть хорошего качества и отражать желаемые тенденции. Если данные предоставляют нерелевантную информацию или содержат неточности, их наличие в модели не поможет. Рассмотрите баланс между оптимизацией объема и поддержанием качества и релевантности.

Примеры

Подготовка набора данных для применения

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

Набор данных для применения — Требования и проверка

Для моделей временных рядов набору данных для применения требуется:

  • Столбцы и заголовки для всех столбцов, включенных в набор данных для обучения.

  • Тот же временной шаг, что и в наборе данных для обучения.

  • Все группы и значения групп, которые присутствовали в наборе данных для обучения.

  • Столько же или больше записей исторических данных (для каждой цели и группы) до времени отсечения прогноза, сколько записей в окне применения для модели. Это должны быть полные записи, содержащие исторически наблюдаемую дату или метку времени, цель и значения ковариат. Окно применения определяется окном прогноза и интервалом, настроенными во время обучения: чем дальше в будущее нужно сделать прогноз, тем больше исторических данных требуется в наборе данных для применения для выполнения прогнозирования.

  • Записи для всех будущих временных шагов в горизонте прогноза. Для этих будущих записей включайте только значения для столбца индекса даты, а также любые будущие характеристики. Оставьте значения для остальных столбцов пустыми.

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

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

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

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

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

Примеры

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!