Прогнозирование температурных трендов с помощью передовых методов глубокого обучения с использованием 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)