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

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

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

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

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

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

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

Набор данных

Набор данных, используемый для обучения, был взят с сайта INMET с метеорологическими данными со станции SAO PAULO — INTERLAGOS (A771) в городе Сан-Паулу — Бразилия. Частота выборки данных о температуре составляет ежечасно, и использовался 1 год обучения с 01:00 23 марта 2022 года до 12:00 23 марта 2023 года.

Источник: https://mapas.inmet.gov.br/#

  • Целевая переменная: максимальная температура (ºC)

ЛСТМ

LSTM (Long Short-Term Memory) — это тип архитектуры рекуррентной нейронной сети (RNN), который особенно хорошо подходит для обработки последовательных данных, таких как временные ряды, речь или текст.

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

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

Поезд и тесты

Основным результатом обучения модели временных рядов является правильное разделение набора данных на наборы данных для обучения и тестирования. Поскольку последовательность важна, мы не можем разделить набор данных случайным образом, чтобы правильно разделить набор данных, используется функция sklearn «TimeSeriesSplit».

LSTM Ваниль

Ванильный LSTM (или «ванильный LSTM») относится к типу архитектуры нейронной сети с долговременной кратковременной памятью (LSTM), которая является базовой или стандартной версией модели LSTM.

Поезд

  • 18 дней образца времени
  • Набор данных с почасовой разбивкой
  • 80% набор данных поезда

Показатели регрессии для обучения:

  • MAE (средняя абсолютная ошибка): 0,53
  • MSE (среднеквадратичная ошибка): 0,60
  • MAPE (средняя абсолютная ошибка в процентах): 2,9 %

Проблемы:

  • Задержка повышения температуры и идентификация пика

Тест

  • 20% набора данных

Показатели регрессии для обучения:

  • MAE (средняя абсолютная ошибка): 0,59
  • MSE (среднеквадратичная ошибка): 0,82
  • MAPE (средняя абсолютная ошибка в процентах): 2,5 %

Прогнозирование

  • Прогнозирование на 48 часов вперед

LSTM с накоплением

Stacked LSTM (Long Short-Term Memory) — это вариант популярной архитектуры рекуррентной нейронной сети LSTM. В стандартном LSTM один слой ячеек LSTM используется для обработки последовательных данных. В многослойном LSTM используется несколько слоев ячеек LSTM, при этом выходные данные одного слоя используются в качестве входных данных для следующего слоя.

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

Поезд

  • 18 дней образца времени
  • Набор данных с почасовой разбивкой
  • 80% набор данных поезда

Показатели регрессии для обучения:

  • MAE (средняя абсолютная ошибка): 0,52
  • MSE (среднеквадратичная ошибка): 0,57
  • MAPE (средняя абсолютная ошибка в процентах): 2,8 %

Проблемы:

  • Задержка повышения температуры и идентификация пика
  • Проблема с прогнозами на будущее

Тест

  • 20% набора данных

Показатели регрессии для обучения:

  • MAE (средняя абсолютная ошибка): 0,57
  • MSE (среднеквадратичная ошибка): 0,82
  • MAPE (средняя абсолютная ошибка в процентах): 2,4 %

Прогнозирование

  • Прогнозирование на 48 часов вперед

Оцените прогнозирование — LSTM Vanilla

После обучения и тестов, выполненных для каждой модели, наиболее последовательным методом сравнения их эффективности является сравнение с новыми и реальными данными. Прогноз на следующие 48 часов был выполнен для LSTM Vanilla и Stacked и сравнен с реальными данными (желтый) ниже:

LSTM Ваниль

  • Средняя погрешность: 2,04 ºC
  • Максимальная погрешность: 4,44ºC

LSTM с накоплением

  • Средняя погрешность: 1,36 ºC
  • Максимальная погрешность: 3,16ºC

Заключение

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

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

Обе модели продемонстрировали высокую степень точности в прогнозировании значений температуры на следующие 48 часов со средней частотой ошибок примерно 2% и 2ºC. Однако проблема, с которой столкнулись обе модели, заключалась в точном определении вторичной долины температуры, которая отличалась от ожидаемого результата. Эта проблема подчеркивает потенциальное ограничение способности моделей фиксировать и интерпретировать сложные закономерности в данных о температуре, особенно в случаях, когда возникают неожиданные колебания или аномалии. Могут потребоваться дальнейшие исследования, чтобы улучшить чувствительность моделей к таким аномалиям и улучшить их общую эффективность для прогнозирования температуры.

Большое спасибо за чтение! Любые вопросы или предложения, пожалуйста, свяжитесь со мной через LinkedIn: https://www.linkedin.com/in/octavio-b-santiago/

Если вы хотите реализовать это решение или узнать больше об алгоритмах LSTM, вы можете найти полный код Python в моем репозитории GitHub по ссылке ниже:

Код



Рекомендации

Источник данных: https://mapas.inmet.gov.br/# — INMET (Instituto Nacional de Meteorologia) Общедоступный набор данных: Универсальная лицензия CC0 1.0 (https://portal.inmet.gov.br/sobre)