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

Прогноз температуры воздуха с помощью методов машинного обучения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
369
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ (МО) / XGBOOST / РЕГРЕССОР ГОЛОСОВАНИЯ / ТЕМПЕРАТУРА ОКРУЖАЮЩЕЙ СРЕДЫ / ВРЕМЕННОЙ РЯД / КОРЕНЬ СРЕДНЕЙ КВАДРАТИЧНОЙ ОШИБКИ / СРЕДНЯЯ АБСОЛЮТНАЯ ОШИБКА / MACHINE LEARNING (ML) / XGBOOST (EXTREM GRADIENT BOOSTING) / VOTING REGRESSOR / AMBIENT TEMPERATURE / TIMELINE / ROOT MEAN SQUARED ERROR (RMSE) / MEAN ABSOLUTE ERROR (MAE)

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фролькис Виктор Абрамович, Добровлянский Дмитрий Богданович

В статье проведен сравнительный анализ использования алгоритма XGBOOST и ансамбля алгоритмов на основе регрессора голосования для прогнозирования температуры окружающей среды. Данные для прогноза температуры окружающей среды были взяты с сайта meteoblue (https://www.meteoblue.com) для города Базель, Швейцария. Прогноз был сделан на 10 дней. В качестве метрик качества были взяты MAE (mean absolute error) и RMSE (root mean square error). В качестве языка программирования был использован Python и его стандартные библиотеки. В результате было установлено, что прогноз, выданный XGBOOST лучше, чем ансамбль алгоритмов.The article presents a comparative analysis of the use of the XGBOOST algorithm and an ensemble of algorithms based on the voting regressor for predicting the ambient temperature. Data for the environmental temperature forecast was taken from the meteoblue website (https://www.meteoblue.com) for the city of Basel, Switzerland. The forecast was made for 10 days. The quality metrics used were MAE (mean absolute error) and RMSE (root mean square error). Python and its standard libraries were used as the programming language. As a result, it was found that the forecast issued by XGBOOST is better than the ensemble of algorithms.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Прогноз температуры воздуха с помощью методов машинного обучения»

ПРОГНОЗ ТЕМПЕРАТУРЫ ВОЗДУХА С ПОМОЩЬЮ МЕТОДОВ

МАШИННОГО ОБУЧЕНИЯ

FORECAST TEMPERATURE OF THE AIR WITH THE METHODS OF

MACHINE LEARNING

УДК 004.048 DOI: 10.24411/2658-4964-2020-1118

Фролькис Виктор Абрамович

кандидат физико-математических наук , доцент кафедры прикладной математики и экономико-математических методов Санкт-Петербургский государственный экономический университет, г.Санкт-Петербург

Добровлянский Дмитрий Богданович

Магистрант

Санкт-Петербургский государственный экономический университет, г.Санкт-Петербург

Frolkis V.A. vfrolkis@gmail .com Dobrovlianskii D.B. dmuzykant@list.ru

Аннотация

В статье проведен сравнительный анализ использования алгоритма XGBOOST и ансамбля алгоритмов на основе регрессора голосования для прогнозирования температуры окружающей среды. Данные для прогноза температуры окружающей среды были взяты с сайта meteoblue (https://www.meteoblue.com) для города Базель, Швейцария. Прогноз был сделан на 10 дней. В качестве метрик качества были взяты MAE (mean absolute error) и RMSE (root mean square error). В качестве языка программирования был использован Python и его стандартные библиотеки. В результате было установлено, что прогноз, выданный XGBOOST лучше, чем ансамбль алгоритмов.

Annotation

The article presents a comparative analysis of the use of the XGBOOST algorithm and an ensemble of algorithms based on the voting regressor for predicting the ambient temperature. Data for the environmental temperature forecast was taken from the meteoblue website (https://www.meteoblue.com) for the city of Basel,

Switzerland. The forecast was made for 10 days. The quality metrics used were MAE (mean absolute error) and RMSE (root mean square error). Python and its standard libraries were used as the programming language. As a result, it was found that the forecast issued by XGBOOST is better than the ensemble of algorithms.

Ключевые слова: Машинное обучение (МО) , XGBOOST , Регрессор голосования, Температура окружающей среды, Временной ряд, Корень средней квадратичной ошибки, Средняя абсолютная ошибка

Keywords: Machine learning (ML) , XGBOOST (eXtrem Gradient Boosting), voting regressor, Ambient temperature, Timeline, Root Mean Squared Error (RMSE), Mean Absolute Error (MAE)

В области машинного обучения постоянно ведутся новые исследования. Известно, что XGBoost —улучшение фреймворка GBM через системную оптимизацию и усовершенствование алгоритма. Почему XGBoost (что означает eXtrem Gradient Boosting) показывает такую хорошую производительность?

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

В фреймворке GBM критерий остановки для разбиения дерева зависит от критерия отрицательной потери в точке разбиения. XGBoost использует параметр максимальной глубины max_depth вместо вышеупомянутого критерия и начинает обратное отсечение. Этот "глубинный" подход значительно улучшает вычислительную производительность. Алгоритм XGBoost был разработан таким образом, чтобы он оптимально использовал аппаратные ресурсы.

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

Эти факты послужили значимыми аргументами для меня при выборе методов МО.

Данные для прогноза температуры окружающей среды были взяты с сайта meteoblue (https://www.meteoblue.com) для города Базель, Швейцария. данные представляют собой матрицу размером 306984 строк(период с 1985 до 2020) и 25 столбцов (Year, Month, Day, Hour, Minute, Temperature,

RelativeHumidity, MeanSeaLevelPressure, TotalPrecipation, TotalPrecipationlow, TotalPrecipationlow, SnowfallAmounthigh, SnowfallAmountlow,

TotalCloudCover, SunshineDuration, ShortwaveRadiation, WindSpeed10, WindDirection 10, WindSpeed80,WindDirection80, WindSpeed900,

WindDirection900, WindGust) Также были добавлены производные метрики: столбец с первой разностью температуры, скользящее стандартное отклонение, а также скользящее среднее. Временной ряд для прогноза был разбит на 24 ряда по часу, 4 ряда по 6 часов и 2 ряда по 12 часов и «без разбиения» (24 hours) соответственно.

В качестве языка программирования был использован Python и его стандартные библиотеки, такие как: sklearn, tensorflow, pandas, numpy, matplotlib

Ниже в таблицах приведены результаты метрик RMSE и MAE после работы алгоритмов машинного обучения.

Таблица 1 -Прогноз на 10 дней, °C

1 hour 6 hours 12 hours 24 hours

XGBo ost voting regress or XGBo ost voting regress or XGBo ost voting regress or XGBo ost voting regress or

RMS E 3,18 3,02 3,17 3,07 2,57 2,83 2,7 3,03

MA E 2,7 2,65 2,63 2,68 2,01 2,42 2,12 2,258

Таблица 2 - Прогноз на 3 дня, °C

1 hour 6 hours 12 hours 24 hours

XGBo ost voting regress or XGBo ost voting regress or XGBo ost voting regress or XGBo ost voting regress or

RMS E 2,62 2,6 2,42 2,75 2,53 2,5 1,85 2,69

MA E 2,36 2,32 2,13 2,42 2,11 2,11 1,39 2,33

Таблица 3- Прогноз на 1 день, °C

1 hour 6 hours 12 hours 24 hours

XGBo ost voting regress or XGBo ost voting regress or XGBo ost voting regress or XGBo ost voting regress or

RMS E 1,84 1,66 1,89 1,83 1,55 1,56 1,04 1,48

MA E 1,84 1,66 1,70 1,62 1,27 1,32 0,78 1,28

При рассмотрении данных XGBoost в таблицах 1,2 и 3 видно, что лучшее разбиение временного ряда для долгосрочного прогноза на 10 дней -это разбиение по 12 часов и «без разбиения». Важно заметить, что метрики MAE и RMSE при прогнозировании температуры на 3 дня (Таблица 2) и на 10 дней (таблица 1) не сильно отличаются соответственно при разбиениях на 1, 6 и 12 часов. Тогда как, прогноз на три дня «без разбиения» сильно улучшается по сравнению с прогнозом на 10 дней по тому же показателю «без разбиения»: RMSE падает с 2.7 °C до 1.85 °C.

Также стоит отметить, что если данные разбивались, то не у всех подпрогнозов (1 hour - 24 разбиения, 6 hours - 4 разбиения) ошибка MAE и RMSE была одинакова, некоторые разбиения давали значительно большую разницу в оценивании ошибки, что связано с тем, что в выборке данных присутствовал тренд. Основная трудность для прогнозирования температуры воздуха состояла в резкой смене тренда.

Лишь только модель с разбиением по 12 часов смогла частично уловить меняющийся тренд. График тренда представлен на рисунке 1.

Рис.1 - Прогноз температуры на разбиении 12 часов Также было бы интересно взглянуть на то, какие признаки оказались наиболее значимыми при построении прогноза.

Из гистограммы на рисунке 2 отмечаем , что самым важным оказался признак hour, на втором месте - mean_temp (скользящее среднее с окном 240), потом: year и std. Таким образом имеем, что производные метрики оказывают на прогноз самое сильное влияние.

Теперь рассмотрим результаты МО для ансамбля voting regressor. В ансамбль я собрал следующие алгоритмы машинного обучения : SVM (Support Vector Machine), Случайный лес (RandomForest), GBM (Gradient Boosting Machines).

Рис.2 - Важность признаков Из данных в таблицах 1,2 и 3 ясно видно, что в целом ансамбль справляется хуже с прогнозированием, чем XGBOOST. Ансамблевый метод «выиграл» только на разбиении 1 час для всех трех прогнозов температуры. В прогнозе на 1 день на разбиениях 6 и 12 часов метрики MAE и RMSE при двух методах МО близки друг к другу.

XGBOOST показал себя намного лучше при краткосрочных прогнозах (лучшее RMSE для ансамбля при прогнозе на 1 день «без разбиения» - 1,48°C градуса, для XGBOOST же - 1,04°C). Также при анализе графика ясно следует, что ансамблевая модель строит сглаженный прогноз, практически не учитывая тренда.

В рамках моего исследования хочу отметить, что XGBoost в отношении производительности, гибкости, практичности и точности прогноза подтвердил свое первенство среди алгоритмов ML.

ЛИТЕРАТУРА

1. Воронцов К.В. Лекции по алгоритмическим композициям. Открытый курс Машинное обучение. Режим доступа: http://www.machinelearning.ru/wiki/images/0/0d/Voron-ML-Compositions.pdf свободный. Загл. с экрана.-Яз. Рус.

2. Гущин А.Е. Методы ансамблирования обучающихся алгоритмов; научный руководитель д.ф.-м.н. А.Г. Дьяконов.- Режим доступа: http://www.machinelearning.ru/wiki/images/5/56/Guschin2015Stacking.pdf , свободный. Загл. с экрана.-Яз. рус.

3. Дьяконов А. Стекинг (Stacking) и блендинг (Blending). КвазиНаучный блог Александра Дьяконова [Электронный ресурс]. Режим доступа: https://dyakonov.org/2017/03/10/cтекинг-stacking-и-блендинг-blending/ , свободный. Загл. с экрана.-Яз. рус.

4. Кашницкий Ю.С. История развития ансамблевых методов классификации в машинном обучении, М: НИУ ВШЭ. // Researchgate. Режим доступа: https://www.researchgate.net/publication/278019662 Istoria razvitia ansamb levvh_metodov_klassifikacii_v_masinnom_obucenn свободный. Загл. с экрана.-Яз. Рус.

5. Открытый курс машинного обучения [Электронный ресурс]. Радченко В. Тема 5. Композиции: бэггинг, случайный лес /В.Радченко, Ю.С. Кашницкий.-2017.- Режим доступа: https://habr.com/ru/companv/ods/blog/324402/#2-sluchavnvv-les, свободный. Загл. с экрана.-Яз. Рус., англ.

6. Орельен Ж. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow: концепции, инструменты и техники для создания интеллектуальных систем. Пер. с англ. - СпБ.: ООО Альфа-книга : 2018. - 688 с.

LITERATURE

1. K.V. Vorontsov Lectures on algorithmic compositions. Open Machine Learning course. Access mode: http://www.machinelearning.ru/wiki/images/0/0d/Voron-ML-Compositions.pdf , Free.

2. Gushchin A.E. Methods of ensembleing learning algorithms; Scientific Director Dr. A.G. Deaconov. Access mode: http://www.machinelearning.ru/wiki/images/5/56/Guschin2015Stacking.pdf , Free.

3. Deacons A. Stacking and Blending. Aleksandr Diakonov's quasi-Scientific Blog. [Electronic resource]. Access mode: https://dyakonov.org/2017/03/10/cTeKHHr-stacking-H-6.neHgHHr-blending/ , Free.

4. S. Kashnitsky. History of the development of ensemble classification methods in machine learning, M: RU GSE.- // [Electronic resource]: Researchgate. Access mode: https://www.researchgate.net/publication/278019662 Istoria razvitia ansamb levyh_metodov_klassifikacii_v_masinnom_obucenii , Free.

5. Open machine learning course [Electronic resource]. Radchenko V. Theme 5. Compositions: bagging, random forest /V.Radchenko, Y.S. Kashnitsky.-2017.- Access mode: https://habr.com/ru/company/ods/blog/324402/#2-sluchaynyy-les, Free.

6. Aurelien Geron. Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools and Techniques for build Intelligent Systems. (2017)

i Надоели баннеры? Вы всегда можете отключить рекламу.