Перейти к основному содержимому Перейти к дополнительному содержимому

Прогнозирование с помощью многомерных временных рядов

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

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

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

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

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

  • Индекс даты

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

  • Ковариаты

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

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

Цель

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

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

Индекс даты

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

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

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

Группы

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

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

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

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

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

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

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

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

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

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

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

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

Ковариаты

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

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

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

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

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

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

Будущие признаки

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

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

Другие важные понятия

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

Интервалы

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

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

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

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

Качество

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

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

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

Окно применения рассчитывается и устанавливается системой. Оно измеряется в интервалах. Окно применения определяется по заданным параметрам окна прогнозирования и разрыва (горизонта прогнозирования).

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

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

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

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

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

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

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

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

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

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

  • Индекс даты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Столбцы признаков

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

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

Объем данных

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

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

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