Введение в прогнозирование иерархических временных рядов - Часть I

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

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

Теоретическое введение

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

Первый сценарий предполагает четкую иерархическую структуру данных, в которой нижние уровни однозначно вложены в группы более высокого уровня. Самый простой пример - географическое разделение. Как розничный торговец, мы можем посмотреть на общий уровень продаж на всех рынках, а затем разбить агрегированные ряды по странам. При необходимости мы можем глубже изучить продажи по регионам (например, по штатам США и т. Д.). Когда наши данные следуют такой структуре, мы имеем дело с иерархическими временными рядами.

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

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

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

Еще одна вещь, требующая пояснения, заключается в том, что иерархическое прогнозирование временных рядов не является методологией прогнозирования временных рядов (например, ARIMA, ETS или Prophet) per se. Вместо этого это набор различных методов, которые делают прогнозы согласованными в данной иерархии отдельных временных рядов.

Ниже мы рассмотрим основные подходы к прогнозированию иерархических временных рядов.

Подход снизу вверх

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

Преимущества:

  • никакая информация не теряется из-за агрегирования, так как прогнозы получаются на самом низком уровне.

Недостатки:

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

Нисходящий подход

Нисходящий подход включает прогнозирование верхнего уровня иерархии с последующим разделением прогноза на более детализированные ряды. Чаще всего для определения раскола используются исторические пропорции. В качестве примера мы бы спрогнозировали общий уровень. Затем, глядя на прошлые данные, мы можем сделать вывод, что США покрывают 50% продаж, Европу 40% и т. Д. Затем мы можем повторить и разбить ряды на более детализированные уровни.

Преимущества:

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

Недостатки:

  • менее точные прогнозы на более низких уровнях из-за потери информации (в исторической пропорции).

Срединный подход

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

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

Оптимальный подход к согласованию

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

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

Преимущества:

  • более точные прогнозы,
  • объективные прогнозы на всех уровнях с минимальной потерей информации
  • учитывает отношения между временными рядами,
  • поскольку каждый прогноз создается независимо, подход позволяет использовать разные методы прогнозирования (ARIMA, ETS, Prophet и т. д.) на каждом уровне. Кроме того, на разных уровнях могут использоваться разные наборы функций, поскольку некоторые переменные могут быть недоступны на данном уровне детализации.

Недостатки:

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

Доступны также другие подходы к согласованию, например, подход оптимального согласования MinT (Minimum Trace), о котором вы можете прочитать здесь.

Выводы

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

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

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

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

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

Если вам понравилась эта статья, возможно, вас заинтересует одно из следующего:







использованная литература

  • Хайндман, Р.Дж., и Атанасопулос, Г. (2021) Прогнозирование: принципы и практика, 3-е издание, OTexts: Мельбурн, Австралия. OTexts.com/fpp3.
  • Роб Дж. Хайндман, Роман А. Ахмед, Джордж Атанасопулос, Хан Л. Шан (2011) Вычислительная статистика и анализ данных 55 (9), 2579–2589