ПРИМЕНЕНИЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ ПРЯМОГО РАСПРОСТРАНЕНИЯ ДЛЯ КРАТКОСРОЧНОГО ПРОГНОЗИРОВАНИЯ ТЕМПЕРАТУРЫ ВОЗДУХА
Приведены результаты применения искусственной нейронной сети прямого распространения для краткосрочного прогнозирования значений температуры воздуха. Исходными данными для исследования послужил длительный ряд регулярных измерений значений температуры воздуха на метеорологической станции Одесса. Выбор архитектуры сети обусловлен ее простотой, приемлемым временем обучения, укладывающимся в сроки краткосрочного прогноза. При исследованиях применена модель сети системы компьютерной математики MATLAB. Для достижения наилучшей оправдываемости краткосрочных прогнозов была проведена оптимизация как характеристик нейронной сети – подобраны вид алгоритма обучения, вид функции активации нейронов, количество скрытых слоев сети, так и данных, используемых для обучения – подобраны вид данных, сезонность данных, объем и структура обучающей выборки. В результате удалось достичь высоких показателей оправдываемости краткосрочных прогнозов значений температуры воздуха при прогнозировании в условиях невозмущенной атмосферы. Прогнозы на три часа и на сутки получаются практически безошибочными, а оправдываемость трехсуточного прогноза превышает 90%.
Введение. Прогнозирование является одной из важнейших задач практически во всех областях науки и жизни. Прогноз погодных факторов является одной из старейших задач прогнозирования из-за большого их влияния на все стороны человеческой жизни. Метеорологические прогнозы погоды – это научно обоснованное предположение о будущем состоянии погоды. Изучением и разработкой методов прогноза погоды занимались и занимаются И.Н. Русин, М.И. Юдин, Л.Е. Федулова, О.П. Глазова, К.М. Шанталинский, Ю.Г. Хабутдинов, Л.В. Беркович, Н.К.Барашкова, Л.И. Кижнер, И.В. Кужевская, Л.Н. Ермакова, Д.В. Машьянова и др. [Ермакова Л.Н., Машьянова Д.В., 2018]. Успешность современных краткосрочных прогнозов погоды достаточно высокая, однако есть и не оправдавшиеся прогнозы, особенно в случаях аномальных погодных проявлений. Поэтому исследования в данной области остаются актуальными и в настоящее время. Первичных погодных факторов не так много: температура воздуха, атмосферное давление, влажность воздуха, дальность видимости, инсоляция [Матвеев Л.Т., 1984]. Известны три основных способа прогнозирования погодных условий – гидродинамический, физико-статистический и синоптический [Белов П.Н. и др., 1989]. Получение прогноза гидродинамическим методом предусматривает решение системы нелинейных аэрогидродинамических уравнений для точки или для региона, физико-статистический метод дает прогноз на основе анализа достаточно длительного ряда наблюдений за погодными факторами, а синоптический прогноз получается за счет анализа полей погодных факторов. Прогнозирование погоды выполняется с различной заблаговременностью – сверхкраткосрочное, краткосрочное, среднесрочное, долгосрочное, циркуляционное.
В последние десятилетия наряду с упомянутыми традиционными методами прогнозирования погоды применение искусственных нейронных сетей (ИНС) для прогнозирования рассматриваются как перспективное направление исследований [Матвеев М.Г. и др., 2017; Петросян Я.В., 2001; Козадаев А.С., Арзамасцев А.А., 2006; Герасименко О.О. и др., 2020; Imran Maqsood at al., 2004]. И если раньше скромные успехи нейронных сетей объяснялись небольшими размерами обучаемых сетей ввиду ресурсоемкости задачи их обучения, то сейчас имеется возможность строить сети существенно большего размера, но к качественному улучшению результатов аппроксимации это зачастую не приводит. Уровень развития теории ИНС в настоящее время не дает конструктивного метода построения искомой сети. Поэтому при решении прикладных задач приходится практически вслепую или на основе некоторых эвристик экспериментировать с различными архитектурами сетей, количеством скрытых слоев, количеством нейронов в каждом слое и топологией связей между ними. В научных публикациях появляются статьи по оптимизации мета-параметров [Февралев А.А. и др., 2017]. При этом внесение указанных модификаций в топологию сети зачастую влечет ее полное переобучение, что в свою очередь приводит к существенному увеличению требуемых вычислительных ресурсов. Более того, современная тенденция к увеличению размеров обучающих выборок и поиск все более сложных зависимостей также приводят к необходимости увеличения размеров сети и к все той же необходимости в вычислительных ресурсах.
Исходными данными при прогнозировании погоды для ИНС являются, как правило, результаты регулярных измерений характеристик погоды в виде числовых рядов. При помощи нейронных сетей возможно моделирование нелинейной зависимости будущего значения временного ряда от его прошлых значений и от значений внешних факторов [J.W. Taylor, R. Buizza, 2002]. Например, для прогноза временных рядов влажности горных грунтов предлагается использовать полносвязные нейронные сети прямого распространения [Великанова Л.И., 2015]. Для прогноза геофизических временных рядов предлагается использовать мультивейвлетные полиморфные сети [Верзунов С.Н., Лыченко Н.М., 2017; Верзунов С.Н., 2019]. Для прогноза долговременных рядов предлагается использовать машины экстремального обучения [LeiYu at al., 2015], сверточные нейронные сети [Koprinska, Irena et al., 2018]. В том числе есть примеры прогнозирования значений температуры [Кузнецов Б.Ф., 2019; Грибин А.С., 2005; Талалаев А.А. и др., 2008]. Однако, в работах последнего из упомянутых направлений проводится сравнительный анализ возможности применения различных архитектур ИНС и, как правило, недостаточно освещены методика подготовки исходных данных, численные оценки качества прогнозирования и влияния на эти оценки параметров ИНС. То есть в литературе недостаточно представлены решения задач оптимизации применения ИНС для целей прогнозирования метеорологических элементов. Данная статья является попыткой восполнить указанный пробел. Поэтому при реализации этой попытки в качестве предмета исследования была взята хорошо известная ИНС прямого распространения поверхностного обучения и применена для краткосрочного прогнозирования.
Объект исследования. Объектом исследования являлся процесс применения искусственной нейронной сети прямого распространения для прогнозирования значений температуры воздуха. Процесс применения ИНС для прогнозирования включает в себя несколько этапов, а именно, 1) сбор данных для обучения, 2) их подготовку и нормализацию, 3) выбор топологии сети, 4) экспериментальный подбор характеристик сети, 5) экспериментальный подбор параметров обучения, 6) собственно обучение, 7) проверку адекватности обучения, 8) корректировку параметров, 9) окончательное обучение, 10) вербализацию сети с целью дальнейшего использования. В процессе исследования были выполнены не все этапы, не было уделено внимания трем последним. Это связано с тем, что при исследовании доведение решения задачи до уровня разработки программного комплекса для прогнозирования не ставилось.
Предмет исследования. Предметом исследования является искусственная нейронная сеть прямого распространения, предназначенная для краткосрочного прогнозирования значений температуры воздуха.
Постановка задачи исследования. В процессе проведения исследований необходимо было выяснить: 1) оптимальные длину и количество обучающих нейронную сеть векторов, обеспечивающих наилучшую оправдываемость краткосрочных прогнозов с заблаговременностью 3 часа, 1 сутки и 3 суток; 2) влияние на оправдываемость краткосрочных прогнозов указанной выше заблаговременности параметров обучающих нейронную сеть данных (длина обучающих векторов, количество обучающих векторов, виды исходных данных); 3) влияние на оправдываемость прогнозов с указанной выше заблаговременностью параметров нейронной сети (число ее скрытых слоев, наличие ограничения в функциях активации нейронов скрытых слоев); 4) качество получаемых прогнозов.
Используемые данные. Для проведения исследований выбраны в качестве данных значения температуры воздуха по причине непрерывности этих данных и наглядности получаемых результатов. Данные являются длительным 15-ти летним рядом значений температуры воздуха, полученных при регулярных восьмисрочных наблюдениях на метеостанции 33837 Одесса с 01 февраля 2005 года по 31 декабря 2019 года (рис. 1, 2) [https://rp5.ru].
При формировании массива исходных данных пропущенные значения температуры воздуха интерполировались как среднее арифметическое соседних значений температуры. Таких пропусков в данных было всего 6, поэтому при длине ряда в 43569 отсчетов их правка не оказала существенного влияния на результат исследования.
Рис. 1. Фрагмент данных о температуре воздуха метеостанции 33837 Одесса
Рис. 2. Ряд значений температуры, использованный для прогнозирования значений температуры воздуха с применением искусственной нейронной сети (43569 отсчетов с 01.02.2005 г. по 31.12.2019 г.)
Методы и порядок проведения исследования. В связи с большой изменчивостью метеорологических величин в пространстве и во времени конкретное значение любой указанной в прогнозе величины следует рассматривать как наиболее вероятное значение, которое данная величина будет иметь в период действия прогноза. По окончании срока действия краткосрочного прогноза делается оценка его успешности, которая базируется на оправдываемости. Оправдываемость – это степень соответствия с некоторыми установленными допусками прогностических и фактических метеорологических величин и явлений. Оправдываемость прогноза температуры производится альтернативно. Если прогностическая температура отличалась от фактической не более чем на 2,0 °С, то оправдываемость прогноза составляет 100%, если отличие на 3,0 °С – 50%, если ≥ 4,0 °С – 0% [Настанова, 2019]. При проведении исследований оправдываемость рассчитывалась аналогично приведенной выше методике, но без альтернативы, а количественно, в виде отношения числа оправдавшихся прогнозов (попавших в диапазон ±2 °С) к общему числу прогнозов при заданной заблаговременности.
В работе под разными видами данных следует понимать собственно имеющийся ряд наблюдений, так называемые «сырые» данные, и две его трансформации: центрированный ряд – полученный путем вычитания из всех значений ряда среднего арифметического ряда; и нормированный ряд – полученный путем деления всех значений ряда на максимальное модульное значение ряда. Все ряды наблюдений делились на две большие группы: 1-я группа данных – для обучения и 2-я группа данных – для прогнозирования (рис. 3).
Из первой группы данных, предназначенных для обучения, формировались требуемые массивы исходных данных следующим образом. Вся группа делились на 3 части. Первая часть (I на рис. 3) применялась для обучения сети (обучающее множество). Вторая (II на рис. 3) использовалась как проверочное (контрольное) множество для проверки качества обучения.
Рис. 3. Разбиение исходных данных на группы и массивы, необходимые для обучения искусственной нейронной сети и прогнозирования
Многократное повторение экспериментов приводит к тому, что контрольное множество начинает играть ключевую роль в создании модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели – при большом числе экспериментов есть риск выбрать сеть, дающую хороший результат на контрольном множестве. Для того, чтобы придать окончательной модели должную надежность, третья часть первой группы данных составила резервное (тестовое) множество наблюдений (III на рис. 3). Итоговая модель тестировалась на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах, реальны. По полученным данным рассчитывался показатель качества обучения по методике, примененной к расчету оправдываемости прогноза. Только рассчитывалось не экстраполированное значение температуры, а аппроксимация значений температуры обучающего массива. Под моделированием здесь понимается процесс применения искусственной нейронной сети для прогнозирования значений температуры воздуха.
Из этой группы данных все требуемые для обучения массивы (обучающий, контрольный и тестовый) формировались методом, проиллюстрированным на рис. 4.
Рис. 4. Порядок формирования массивов для обучения искусственной нейронной сети и для прогнозирования с ее помощью значений температуры
Вдоль исходного массива «сырых» (центрированных или нормированных) данных, начиная с заданного отсчета (который выбирается для анализа определенного сезона года), сдвигается на один отсчет при каждом шаге «окно» размером равным заданной длине обучающего (контрольного, тестового) вектора плюс один отсчет. Из значений температуры, попавших в «окно», формировались обучающий, контрольный и тестовый массивы, а из дополнительных отсчетов формировались целевой и оба эталонных массива (для контрольного множества и для тестового множества).
Для обучения сети предъявлялись обучающий и соответствующий ему целевой массив. Для контроля обучения предъявлялись контрольный (или тестовый) и эталонные массивы. В процессе исследований менялись длина и количество обучающих векторов, а также менялось место начала массива для оценки сезонного влияния данных на качество прогноза.
После обучения сети из второй группы данных для получения прогноза в порядке, приведенном на рис. 4, формировались массив данных для прогнозирования и эталонный массив для оценки оправдываемости прогноза. Сети предъявлялся массив данных для прогнозирования, на основании которого сеть вырабатывала экстраполированное значение температуры (прогноз), который сравнивался с эталонным значением температуры (истинное значение температуры). Заблаговременность прогноза при таком построении массивов задается количеством векторов. При прогнозировании на 3 часа – это один вектор, при прогнозировании на одни сутки – это 8 векторов и при прогнозировании на трое суток – это 24 вектора. При этих условиях однократное моделирование прогноза на 3 часа давало оценку оправдываемости 0% или 100%, а при однократном моделировании прогноза на сутки и на трое суток уже появляется возможность построить гистограмму распределения значения ошибки прогноза, оценить среднеквадратическое отклонение и получить значение оценки оправдываемости прогноза. При многократном моделировании прогноза количество полученных оценок увеличивается, появляется возможность получения статистических оценок оправдываемости, что повышает надежность прогнозирования.
Из всех парадигм и архитектур ИНС была выбрана для исследований сеть прямого распространения из пакета прикладных программ NNTool системы компьютерной математики MATLAB. Все характеристики сети (количество входов соответствует длине обучающего вектора, количество слоев, вид функции активации) устанавливались и менялись в рамках возможностей NNTool и используемого компьютера, а именно количество скрытых слоев изменялось от одного до трех, поскольку их дальнейшее увеличение нецелесообразно из-за усложнения сети и увеличения времени обучения, что, однако, не приводит к улучшению оправдываемости прогнозов. Функция активации искусственных нейронов применялась двух видов: линейная без ограничения и с ограничением типа сигмоидального.
Анализ результатов исследования. Поскольку общая задача исследования включала в себя несколько частных задач, то проанализируем результаты их решения в порядке, указанном при постановке задачи.
При определении оптимальной, с точки зрения оправдываемости прогнозов, длины обучающего вектора и оптимального количества обучающих нейронную сеть векторов было выполнено многократное моделирование процедуры обучения и прогнозирования. При этом размеры обучающего массива (длина векторов и их количество) были подобраны таким образом, чтобы процедура обучения была завершена за время не более одного часа. В противном случае терялся смысл краткосрочного прогнозирования с заблаговременностью в 3 часа, т.к. результат мог быть получен после наступления прогнозного времени. При многократном моделировании оценивались качество обучения и оправдываемость всех трех прогнозов различной заблаговременности при изменении: а) вида исходных данных («сырые», центрированные, нормированные), б) при изменении количества скрытых слоев (1, 2, 3) и в) при изменении функции активации с линейной на сигмоидальную для скрытых и выходного слоев. В результате этих исследований было получено 72 трехмерных графика. Поскольку объем статьи не позволяет представить их все, то два их них в качестве примера приведены на рис. 5. Вдоль оси абсцисс отложено количество обучающих векторов, вдоль оси ординат – длина векторов, а вдоль оси аппликат – значение параметра качества обучения или значение параметра оправдываемости прогноза соответствующей заблаговременности. Каждая точка этих графиков рассчитывалась при заданных длине вектора, количестве векторов, количестве скрытых слоев ИНС, типе функции активации и виде исходных данных. С математической точки зрения левый график на рис. 5 отображает качество аппроксимации сетью обучающего массива, а правый – качество экстраполяции данных, на которых сеть не обучалась. На правом же графике хорошо видна неустойчивость прогнозов при любой длине обучающих векторов и при небольшом их количестве.
Рис. 5. Пример отображения параметров качества обучения и оправдываемости прогнозов
Анализ всех графиков показал, что наличие в функции активации нелинейности (ограничения) очень сильно ухудшает показатель качества прогнозирования – оправдываемость (рис. 6) и увеличивает время обучения более чем в 2 раза. Поэтому при решении подобной задачи нейроны сети должны иметь полную линейную функцию активации.
Кроме того, увеличение числа скрытых слоев сети не улучшает, но и не ухудшает качество прогнозирования, оправдываемость существенно не изменяется (рис. 7), но усложняется архитектура сети и при том же алгоритме обучения (алгоритм Левенберга-Марквардта в процедуре обратного распространения ошибки) кратно увеличивается время обучения.
Вид исходных данных не оказывает влияния на качество прогнозирования, оправдываемость существенно не изменяется при замене «сырых» исходных данных на центрированные или на нормированные (рис. 8).
Описанные выше исследования позволили определить тип исходных данных, объем исходных данных и основные параметры ИНС прямого распространения для прогнозирования значений температуры.
Рис. 6. Оправдываемость прогнозов при линейной функции активации нейронов (слева) и при наличии нелинейности в функции активации нейронов (справа) при одинаковом виде исходных данных и одинаковом количестве скрытых слоев
Рис. 7. Оправдываемость прогнозов при наличии в сети одного скрытого слоя (слева вверху), двух скрытых слоев (справа вверху), трех скрытых слоев (внизу)
Рис. 8. Оправдываемость прогнозов при разных видах исходных данных: «сырых» (слева вверху), центрированных (справа вверху), нормированных (внизу)
По результатам первого этапа исследований для дальнейшей оценки параметров качества прогнозирования, кроме оправдываемости, была применена однослойная сеть прямого распространения с линейными функциями активации нейронов, с обучением на основе «сырых» данных и с использованием алгоритма Левенберга-Маквардта и с объемом исходных данных в виде 150 векторов с длиной 16 каждый (очерченные области устойчивого прогнозирования на рис. 6, 7, 8). Причем при обучении на столь незначительном количестве данных нужно соблюдать одно условие: при прогнозировании в определенном сезоне (времени года) для обучения нужно брать более ранние данные, но обязательно из точно такого же времени года. В противном случае ошибка прогнозирования будет неприемлемо большой. Результаты применения указанной сети с приведенными выше параметрами при многократном краткосрочном прогнозировании с заблаговременностью три часа, одни сутки и трое суток приведены на рис. 9, 10, 11 и 12.
Рис. 9. Иллюстрация качества обучения сети
Рис. 10. Результаты прогнозирования на три часа
При этом показатель качества обучения составил 88%, оправдываемость прогноза на три часа составила 100%, на одни сутки – 100%, на трое суток – 91%. Эти показатели получены при среднеквадратической ошибке (СКО) аппроксимации в 1,22 градуса, СКО прогноза на 3 часа – 0,17 градуса, СКО прогноза на одни сутки – 0,83 градуса и СКО прогноза на трое суток – 1 градус.
Рис. 11. Результаты прогнозирования на одни сутки
Выводы. В процессе проведения исследований были решены все поставленные задачи: определена оптимальная выборка данных для обучения сети прямого распространения, обеспечивающая наилучшую оправдываемость краткосрочных прогнозов температуры (150 обучающих векторов длиной в 16 отсчетов каждый), исследовано влияние на оправдываемость краткосрочных прогнозов температуры параметров, обучающих нейронную сеть данных («сырые» данные, совпадающая сезонность данных для обучения и прогнозирования) и параметров нейронной сети (линейные функции активации нейронов, один скрытый слой, обучение на основе процедуры обратного распространения ошибки с применением алгоритма Левенберга-Маквардта как наиболее быстрого), оценено качество получаемых краткосрочных прогнозов как высокое (оправдываемость прогноза на три часа и на одни сутки составляет практически 100%, а оправдываемость прогноза на трое суток – не менее 91%).
Рис. 12. Результаты прогнозирования на тое суток
Заключение. Все изложенные в статье результаты исследований проведены на данных, отражающих в некотором сезоне спокойную атмосферу. На подобных данных проведено и обучение сети, и прогнозирование. Представляет несомненный интерес исследование влияния возмущенной атмосферы на качество прогнозирования значений температуры. Кроме того, необходимо исследовать процедуры прогнозирования с помощью искусственных нейронных сетей и других атмосферных факторов. Особый интерес вызывает также применение сетей для среднесрочного и долгосрочного прогнозирования отдельных элементов погоды.
Комментарии