Прогнозирование метеорологических показателей с использованием нейросетевых технологий

Бесплатный доступ

В статье рассматривается применение нейросетевых технологий для прогнозирования метеорологических показателей в Москве. Актуальность исследования обусловлена необходимостью повышения точности и надежности прогнозов температуры, что становится особенно важным в условиях изменения климата и роста экстремальных погодных явлений. Методология включает сбор и обработку метеорологических данных, настройку и обучение нейросетевой модели с помощью языка программирования 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
Еще
Статья научная