Прогнозирование метеорологических показателей с использованием нейросетевых технологий
Автор: Раскатова М.В., Терелецкова Е.Е., Сало А.А., Челышев Э.А.
Рубрика: Управление сложными системами
Статья в выпуске: 4, 2024 года.
Бесплатный доступ
В статье рассматривается применение нейросетевых технологий для прогнозирования метеорологических показателей в Москве. Актуальность исследования обусловлена необходимостью повышения точности и надежности прогнозов температуры, что становится особенно важным в условиях изменения климата и роста экстремальных погодных явлений. Методология включает сбор и обработку метеорологических данных, настройку и обучение нейросетевой модели с помощью языка программирования Python и его библиотек. В статье представлена работоспособная модель прогнозирования метеорологических показателей, верифицированная с использованием следующих метрик: средняя абсолютная ошибка (MAE) и коэффициент детерминации ( R5 ).
Нейросетевая модель, прогнозирование, анализ данных, метеорология, погода
Короткий адрес: https://sciup.org/148330363
IDR: 148330363 | DOI: 10.18137/RNU.V9187.24.04.P.64
Текст научной статьи Прогнозирование метеорологических показателей с использованием нейросетевых технологий
Москва как один из крупнейших мегаполисов мира сталкивается с уникальными климатическими вызовами, что делает эффективное прогнозирование погоды особенно актуальным 1 .
Традиционные методы прогнозирования, разработанные на статистических моделях и численных методах, имеют свои ограничения, особенно в условиях быстрых изменений метеорологических условий. В последние годы нейросетевые технологии, основанные на принципах глубокого обучения, продемонстрировали значительные успехи в различных областях, включая метеорологию. Эти методы способны обрабатывать большие объемы данных и выявлять сложные паттерны, что открывает новые перспективы для повышения точности прогнозов погоды.
1 Миронов Н. Столица субтропиков: как изменится климат в Москве в ближайшие десятилетия // Вечерняя Москва. 2024. 22 июля. URL: https:// (дата обращения: 22.10.24).
Прогнозирование метеорологических показателей с использованием нейросетевых...
Раскатова Марина Викторовна кандидат технических наук, доцент кафедры вычислительных машин, систем и сетей, Национальный исследовательский университет «МЭИ», Москва. Сфера научных интересов: нейронные сети, вычислительная техника, прогнозирование временных рядов, сравнительный анализ моделей прогнозирования. Автор более 100 опубликованных научных работ. ORCID: 0000-0001-7671-3312, SPIN-код: 8053-5041, AuthorID: 609945.
Нейронная сеть
Нейронные сети являются мощным инструментом для анализа данных, обнаружения паттернов и автоматизации процессов в различных областях [1]. Профессор Саймон Хайкин в своей книге «Нейронные сети» отмечает, что «нейронная сеть – это громадный распределенный параллельный процессор, состоящий из элементарных единиц обработки информации, накапливающих экспериментальные знания и предоставляющих их для последующей обработки» [2, с. 32].
Учитывая мнения различных ученых, можно представить следующую классификацию нейронных сетей:
-
• «…по характеру обучения – нейронные сети, использующие обучение с учителем и без учителя» (Ф.М. Гафаров и А.Ф. Галимянов [3, с. 12]);
-
• «…по характеру настройки синапсов – сети с фиксированными связями. В этом случае весовые коэффициенты нейронной сети выбираются сразу исходя из условия задачи; сети с динамическими связями. Для них в процессе обучения происходит настройка синаптических связей» (В.А. Головко и В.В. Краснопрошин [4, с. 24]);
-
• «три основных типа нейронных сетей:
-
- полносвязные нейронные сети – каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе;
-
- многослойные нейронные сети – нейроны объединяются в слои;
-
- слабосвязные нейронные сети» (Д.В. Сысоев, О.В. Курипта и Д.К. Проскурин [5, с. 20]).
Язык программирования Python
Для представления «кодирования информации» можно использовать различные языки программирования, в том числе Python [6, с. 2].
С.К. Буйначев и Н.Ю. Боклаг подчеркивают, что «Python – это язык программирования с динамическим контролем типа, в котором имена во время выполнения программы могут представлять значения различных типов» [7, с. 8]. То есть образуется связь между именем и значением, где данные представлены объектами.
Анализ данных в Python
Для анализа метеорологических данных в Python используются следующие библиотеки: Tensor Flow, Num Py, scikit-learn, Pandas, Matplotlib, statsmodels – «для очистки и подготовки данных, анализа и визуализации данных, а также для создания нейронной модели» [8, с. 25].
Данные о метеорологических значениях были взяты с сайта «Прогноз погоды в Москве» .
Первым этапом решения задачи является предварительный анализ данных (см. Рисунок 1). Набор данных состоит из 57 записей с интервалом в 1 день и включает в себя следующие признаки: «Дата», «Температура», «Давление (мм)», «Ветер (м/с)», «Влажность (%)». Все перечисленные параметры являются количественными переменными, что позволяет использовать разнообразные статистические методы для их анализа. К ним относятся:
-
• проверка данных на дубликаты;
-
• пропущенные значения;
-
• повторяющиеся значения;
-
• очистка данных;
-
• статистический анализ;
-
• визуализация.
Дат* |
Т*»«>*р*Турв |
Д*ал«ни«(ми) |
0«т«р<к/с) |
Жлаоюст» (*) |
е 01.09.2024 |
29 |
755 |
1 |
30 |
1 «2.И.2024 |
27 |
757 |
2 |
32 |
2 03.09.2024 |
27 |
757 |
1 |
31 |
3 64.09.2024 |
20 |
759 |
2 |
52 |
4 05.09.2024 |
21 |
761 |
2 |
42 |
$ 00.09.2024 |
23 |
761 |
1 |
39 |
0 07.09.2024 |
24 |
760 |
1 |
36 |
7 00.09.2024 |
25 |
750 |
1 |
34 |
S 09.09.2024 |
20 |
754 |
1 |
40 |
9 10.09.2024 |
20 |
750 |
2 |
36 |
10 11.09.2024 |
24 |
749 |
2 |
30 |
11 12.09.2024 |
а |
751 |
1 |
34 |
12 13.09.2024 |
27 |
754 |
3 |
30 |
13 14.09.2024 |
26 |
755 |
2 |
32 |
14 15.09.2024 |
26 |
757 |
2 |
24 |
Рисунок 1. Исходные данные
Источник: здесь и далее схемы, рисунки и графики составлены авторами
Прогнозирование метеорологических показателей с использованием нейросетевых...
На Рисунке 2 представлены результаты проверки на дубликаты (используется метод duplicated), пропущенные значения (можно выявить с помощью метода isnull), уникальные значения (nunique).
Дата в |
|||
Температура е |
|||
Давление(мм) в |
|||
Ветер(м/с) в |
|||
Влажность (X) в |
|||
dtype: int64 |
|||
в |
|||
Температура |
Дааленне(мм) |
Ветер(м/с) |
Влажность (X) |
count 57.000000 |
57.ееееее |
57.000000 |
57.000000 |
■•an 17.298246 |
752.964912 |
2.859649 |
54.333333 |
*td 7.176263 |
5.223453 |
1.705439 |
21.429563 |
■in 4.000000 |
74е.ееееее |
a ль^льльа/ь А |
24.000600 |
25X u.eoeeeo |
749.ееееее |
35.000000 |
|
sex is.eeeeee |
753.000080 |
* алаллл |
53.000000 |
7SX гз.ееееее |
757.008000 |
4.000000 |
72.000000 |
■ax гэ.ееееее |
761.000000 |
95.000000 |
|
Дата 57 |
|||
Тамларатура 28 |
|||
Даалемиа(мм) 19 |
|||
Ветер(м/с) 7 |
|||
Влажность (X) 42 |
Рисунок 2. Предварительный анализ данных
В результате предварительного анализа не выявлены дубликаты и пропущенные значения. Было найдено количество уникальных значений для каждого столбца и проведен статистический анализ. Все это обеспечивает отсутствие неточностей при выполнении машинного обучения. По проведенной обработке данных можно сделать вывод, что показатели корректны для дальнейших этапов создания модели прогнозирования.
«Визуализация данных – это набор методов, которые позволяют использовать визуальное представление для изучения, анализа и коммуникации количественных данных, в том числе видеть тенденции и закономерности» 2 . В работе использовались следующие способы визуализации: гистограмма, диаграмма размаха и корреляционный анализ.
«Конечная цель визуализации данных – способствовать принятию более эффективных решений и мер» 3 .
Гистограмма – это своего рода столбчатая диаграмма, которая дает дискретное отображение частоты значений [9, с. 18].
Диаграмма размаха – особый вид диаграммы, компактно показывающий распределение элементов. На ней видно медиану, размах, можно оценить дисперсию, асимметрию и определить выбросы.
Корреляционный анализ – это метод математической статистики, который позволяет определить степень взаимосвязи между различными параметрами [10, с. 2].
По матрице корреляций можно увидеть, что на прогнозируемую переменную «Температура» больше всего влияет переменная «Влажность (%)», однако переменные «Давление (мм)» и «Ветер (м/с)» также влияют на эту зависимую переменную, но в меньшей степени (см. Рисунок 3).

Рисунок 3. Визуализация данных
Прогнозирование метеорологических данных с помощью нейронной сети
Для прогнозирования переменной «Температура» данные были разделены на обучающую и тестовую выборки в соотношении 80 % на 20 %, где 80 % – (training set) – используется исключительно для обучения модели. Тестовая выборка (testing set) полностью независима от обучающей выборки и предназначена для оценки качества работы модели. Без ее применения нельзя гарантировать несмещенность оценок модели [11, с. 7].
Далее была выполнена стандартизация модели. Преобразование данных в набор, имеющий определенные статистические характеристики, но неопределенные минимальные и максимальные значения, называется стандартизацией данных [12, с. 87]. После этого была разработана архитектура нейронной сети с одним входным слоем (64 нейрона), одним скрытым слоем (32 нейрона) и одним выходным слоем, который прогнозирует температуру. Далее разработанная нейронная модель обучалась на тренировочных данных в течение 100 эпох с размером пакета 32. После этого оценка проводилась на тестовых данных. Здесь вычисляются метрики производительности: средняя абсолютная ошибка
Прогнозирование метеорологических показателей с использованием нейросетевых...
(MAE) и коэффициент детерминации ( R 2), которые могут быть использованы для оценки качества прогноза модели. В данном случае ошибка R2 = 0,77; MAE = 3,08, что считается хорошим результатом (см. Рисунок 4).
МАЕ: 3.086972916548428
RA2: 0.7733358995710944
Предсказанная температура воздуха на 28.10.24: 23 ° PS C:\Users\user> Q
Рисунок 4. Вывод предсказанной погоды
В целом представленная модель – это полноценная система для обработки данных погоды, предсказания температуры и выполнения прогноза на основе новых входных данных. Она обеспечивает анализ, обработку, обучение и оценку системы, создавая основу для использования в реальных задачах предсказания.
Заключение
Таким образом, в статье показано применение нейронных сетей с использованием языка программирования Python и различных библиотек, в частности для прогнозирования метеорологических показателей. В статье также представлен предварительный анализ данных, выявлены ключевые взаимосвязи и построена модель нейронной сети, которая показала высокую точность предсказаний (R2 = 0,77; MAE = 3,08). Результаты подтверждают эффективность нейронных сетей в этой области и их потенциал для точного прогнозирования.
Список литературы Прогнозирование метеорологических показателей с использованием нейросетевых технологий
- Раскатова М.В., Терелецкова Е.Е., Сало А.А. Нейросети и перспективы их использования в экономико-хозяйственной деятельности // Цифровая трансформация: тенденции и перспективы: II Международная научно-практическая конференция, Москва, 20 декабря 2023 г. М.: Мир науки, 2023. С. 397–404. EDN UHTNLG
- Хайкин С. Нейронные сети: полный курс. 2-е изд. / Пер. с англ. Н.Н. Куссуль, А.Ю. Шелестова. М.: Вильямс, 2006. 1104 с. ISBN 5-8459-0890-6.
- Гафаров Ф.М., Галимянов А.Ф. Искусственные нейронные сети и их приложения: учеб. пособие. Казань: Изд-во Казанского университета, 2018. 121 с.
- Головко В.А., Краснопрошин В.В. Нейросетевые технологии обработки данных: учеб. пособие. Минск: БГУ, 2017. 263 с. ISBN 978-985-566-467-4. EDN GLV GIE.
- Сысоев Д.В., Курипта О.В., Проскурин Д.К. Введение в теорию искусственного интеллекта: учеб. пособие. Воронеж: Воронежский государственный архитектурно-строительный университет, 2014. 170 с. ISBN 978-5-89040-498-5. EDN UGOVA X.
- Марченко А.Л. Python: большая книга примеров: учеб. пособие. М.: Изд-во Московского университета, 2023. 361 с. ISBN 978-5-19-011853-7.
- Буйначев С.К., Боклаг Н.Ю. Основы программирования на языке Python: учеб. пособие. Екатеринбург: Изд-во Урал. ун-та, 2014. 92 c. ISBN 978-5-7996-1198-9. EDN HIM EBZ.
- Маккинни У. Python и анализ данных: Первичная обработка данных с применением pandas, NumPy и Jupiter: учеб. пособие. 3-е изд. / Пер. с англ. А.А. Слинкина. М.: МК Пресс, 2023. 536 с. ISBN 978-5-93700-174-0.
- Лемешевский С.В. Графическая визуализация данных: учеб. пособие. Минск: Институт математики НАН Беларуси, 2020. 25 с.
- Румянцев М.И. Корреляционный анализ: методические указания. Магнитогорск: Магнитогорский государственный технический университет им. Г.И. Носова, 2017. 12 с.
- Кугаевских А.В., Муромцев Д.И., Кирсанова О.В. Классические методы машинного обучения: учеб. пособие. СПб.: Университет ИТМО, 2022. EDN MJQVRZ.
- Старовойтов В.В., Голуб Ю.И. Нормализация данных в машинном обучении // Информатика. 2021. Т. 18. № 3. С. 83–96. EDN JKAHKM. DOI: 10.37661/1816-0301-2021-18-3-83-96