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

Извлечение информации из даты

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

  1. День недели. Извлекая дни недели, такие как понедельник, вторник и т. д., мы можем включить в наши модели порядковый порядок дней недели. Эта информация может фиксировать еженедельные закономерности или сезонность в данных.
  2. Месяц года. Извлечение месяцев года, таких как январь, февраль и т. д., позволяет нам фиксировать сезонные колебания, которые могут происходить ежегодно. В разные месяцы могут наблюдаться различные закономерности, которые могут повлиять на прогноз.
  3. Квартал. Разделение года на кварталы, например Q1, Q2 и т. д., помогает выявить тенденции, характерные для определенных периодов года. Это может быть особенно полезно в отраслях, где продажи или спрос колеблются в зависимости от сезона.

Извлечение информации из времени суток

Помимо извлечения информации из компонента «Дата», мы также можем получить представление о времени суток. Вот некоторые важные аспекты, которые мы можем рассмотреть:

  1. Временные сегменты. Разделение дня на осмысленные сегменты, такие как утро, день, вечер и ночь, позволяет нам фиксировать суточные закономерности. Различные временные сегменты могут демонстрировать различное поведение, которое может быть включено в качестве дополнительных функций в наши модели прогнозирования.
  2. Выходной или будний день. Создание бинарной переменной, указывающей, является ли конкретный день выходным или будним, может быть полезным. Это может помочь объяснить различные модели и поведение, которые происходят в выходные дни по сравнению с будними днями.
  3. Праздники. Добавление двоичной переменной, указывающей, является ли конкретный день выходным, может дать ценную информацию. Праздники часто приносят уникальные модели и поведение, которые могут существенно повлиять на данные временных рядов.
  4. Времена года. Создание бинарных переменных для представления разных времен года, например зимы, весны, лета и осени, может помочь фиксировать сезонные колебания. Каждый сезон может иметь различные характеристики, влияющие на модели временных рядов.

Дополнительные временные характеристики

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

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

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

Обработка отсутствующих данных

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

  1. Удаление строк. Если отсутствующие значения относительно невелики и распределены случайным образом, можно удалить строки с отсутствующими значениями DateTime. Однако этот подход следует использовать с осторожностью, так как он может привести к потере ценной информации.
  2. Заполнение вперед или назад. Другой подход заключается в распространении последнего наблюдаемого значения DateTime вперед или назад для заполнения отсутствующих значений. Этот метод предполагает, что пропущенные значения имеют те же характеристики, что и ближайшие наблюдаемые значения.
  3. Интерполяция. Методы интерполяции можно использовать для оценки отсутствующих значений DateTime на основе окружающих наблюдаемых значений. В зависимости от характера данных могут применяться линейная интерполяция, сплайн-интерполяция или другие методы интерполяции на основе времени.
  4. Вменение среднего или медианы. Если отсутствующие значения DateTime имеют числовой характер, например метки времени, для заполнения пропущенных значений можно использовать вменение среднего или медианы. Этот подход предполагает, что пропущенные значения аналогичны средним или медианным значениям в наборе данных.
  5. Разработка функций. В некоторых случаях отсутствующие значения DateTime можно рассматривать как отдельную категорию или функцию. Например, можно создать переменную бинарного индикатора для представления отсутствующих значений DateTime, фиксируя любые потенциальные шаблоны или корреляции, связанные с отсутствием.

Интеграция модели

Как только мы извлекли значимые функции из столбцов DateTime и устранили недостающие данные, мы можем интегрировать эти функции в наши модели прогнозирования временных рядов. Для включения этих функций DateTime можно использовать различные алгоритмы машинного обучения, такие как ARIMA, SARIMA или рекуррентные нейронные сети (RNN, CNN1D).

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

Заключение

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

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