Научная статья на тему 'ПРИМЕНЕНИЕ ФРЕЙМВОРКА H2O В ОБРАБОТКЕ ВРЕМЕННЫХ РЯДОВ'

ПРИМЕНЕНИЕ ФРЕЙМВОРКА H2O В ОБРАБОТКЕ ВРЕМЕННЫХ РЯДОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
229
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЯЗЫКИ ПРОГРАММИРОВАНИЯ / АЛГОРИТМЫ ФРЕЙМВОРК / МОДЕЛЬ / ОБРАБОТКА ДАННЫХ / СТЭКИНГ / PROGRAMMING LANGUAGES / ALGORITHMS FRAMEWORK / MODEL / DATA PROCESSING / STACKING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бунякина Екатерина Витальевна, Гальченко Максим Иванович

В настоящее время одной из востребованных сфер продвинутой аналитики является анализ временных рядов. Примерами генерации такого рода данных могут служить сохраняемые данные измерительных приборов, детекторов различного рода. На рынке присутствует достаточно небольшое количество предложений комплексных платформ для построения моделей глубокого обучения. В этой ситуации платформа (фреймворк) H2O является уникальным предложением, в силу бесплатности, комплексности, низкого порога входа и масштабируемости. Особый интерес к фреймворку диктуется также и тем, что разработчики предусмотрели возможность получения доступа к алгоритмам платформы в языках R и Python с помощью библиотек, а также наличия приложения Sparkling Water для Apache Spark. В аналитической платформе KNIME версии 4 в группе узлов KNIME Labs, Deep Learning имеются хорошо настраиваемые узлы, способные вызывать соответствующие алгоритмы H2O. На текущий момент реализованы ещё не все алгоритмы H2O, но процесс развития KNIME позволяет рассчитывать на то, что скоро будет реализовано и всё оставшееся. В работе приводятся общие сведения, а также пример использования платформы к задаче прогнозирования временных рядов. Показываются порядок применения функций, основные параметры настройки, а также особенности вызова, возникающие при работе на одиночном персональном компьютере при работе на языке R. Описывается процесс взаимодействия с web-интерфейсом и реализация функций в языке статистического программирования R. Продемонстрировано использование результатов моделирования, а именно относительной важности предикторов, в H2O для упрощения набора данных и повышения скорости сходимости алгоритма.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бунякина Екатерина Витальевна, Гальченко Максим Иванович

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

APPLICATION OF H2O FRAMEWORK IN TIME SERIES PROCESSING

Currently, one of the most popular advanced analytics area is time series analysis. Stored data of measuring instruments, detectors of various kinds can serve as examples of generating this kind of data. There are quite a few integrated platforms proposals on the market for building deep learning models. In this situation, the H2O platform (framework) is a unique offer, due to its free, comprehensive, low entry threshold and scalability. Particular interest in the framework is also dictated by the fact that the developers have provided the opportunity to access the platform algorithms in R and Python using libraries, as well as the availability of the Sparkling Water application for Apache Spark. In the KNIME Analytics Platform 4.X, the KNIME Labs - Deep Learning node group has well-tuned nodes that can invoke the corresponding H2O algorithms. Currently, not all H2O algorithms have been implemented yet, but the KNIME development process allows us to expect that everything remaining will be implemented soon. The article provides general information, as well as an example of using the platform for the task of time series forecasting. The order of the functions in the code, the basic settings, as well as the call features that occur when working on a single PC while working in R are shown. The process of interaction with the web interface and the implementation of functions in the statistical programming language R is described. The use of simulation results, namely, relative importance, is demonstrated. predictors in H2O to simplify the data set and increase the rate of convergence of the algorithm.

Текст научной работы на тему «ПРИМЕНЕНИЕ ФРЕЙМВОРКА H2O В ОБРАБОТКЕ ВРЕМЕННЫХ РЯДОВ»

doi: 10.36724/2409-5419-2020-12-4-56-64

ПРИМЕНЕНИЕ ФРЕЙМВОРКА H2O В ОБРАБОТКЕ ВРЕМЕННЫХ РЯДОВ

БУНЯКИНА

Екатерина Витальевна1

ГАЛЬЧЕНКО Максим Иванович2

Сведения об авторах:

старший преподаватель Военно-морского политехнического института "Военный учебно-научный центр Военно-Морского Флота «Военно-морская академия им Н. Г. Кузнецова», г. Пушкин, Россия

2старший преподаватель, аспирант Санкт-Петербургского аграрного университета, г. Пушкин, Россия, maxlm.galchenko@gmall.com

АННОТАЦИЯ

В настоящее время одной из востребованных сфер продвинутой аналитики является анализ временных рядов. Примерами генерации такого рода данных могут служить сохраняемые данные измерительных приборов, детекторов различного рода. На рынке присутствует достаточно небольшое количество предложений комплексных платформ для построения моделей глубокого обучения. В этой ситуации платформа (фреймворк) H2O является уникальным предложением, в силу бесплатности, комплексности, низкого порога входа и масштабируемости. Особый интерес к фреймворку диктуется также и тем, что разработчики предусмотрели возможность получения доступа к алгоритмам платформы в языках R и Python с помощью библиотек, а также наличия приложения Sparkling Water для Apache Spark. В аналитической платформе KNIME версии 4 в группе узлов KNIME Labs, Deep Learning имеются хорошо настраиваемые узлы, способные вызывать соответствующие алгоритмы H2O. На текущий момент реализованы ещё не все алгоритмы H2O, но процесс развития KNIME позволяет рассчитывать на то, что скоро будет реализовано и всё оставшееся. В работе приводятся общие сведения, а также пример использования платформы к задаче прогнозирования временных рядов. Показываются порядок применения функций, основные параметры настройки, а также особенности вызова, возникающие при работе на одиночном персональном компьютере при работе на языке R. Описывается процесс взаимодействия с web-интерфейсом и реализация функций в языке статистического программирования R. Продемонстрировано использование результатов моделирования, а именно относительной важности предикторов, в H2O для упрощения набора данных и повышения скорости сходимости алгоритма.

КЛЮЧЕВЫЕ СЛОВА: языки программирования; алгоритмы фреймворк; модель; обработка данных; стэкинг.

Для цитирования: Бунякина Е. В., Гальченко М. И. Применение фреймворка Н20 в обработке временных рядов // Наукоемкие технологии в космических исследованиях Земли. 2020. Т. 12. № 4. С. 56-64. Со1: 10.36724/2409-5419-2020-12-4-56-64

Введение

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

В настоящее время для обработки такого рода данных активно применяются языки программирования R и Python с применение облачных платформ или локально, но с использованием одного из фреймворков. К наиболее часто встречаемым относятся фреймворки глубокого обучения Tensorflow, PyTorch, а также Open Source фреймворк H2O [1].

Фреймворк H2O разрабатывается, в том числе, как отдельно стоящая полноценная платформа для машинного анализа, ядро которой написано на Java. На самом деле, фреймворк самодостаточен, вся работа по моделированию может быть выполнена с применением H2O Flow. H2O Flow напоминает ноутбуки Python, типа Jupyter Notebook, работа в них достаточно хорошо описана в документации.

Платформа может быть запущена как на локальном компьютере, так и на кластере. Доступны библиотеки для использования фреймворка в R [2], Python. Последняя версия KNIME Analytics Platform [3] содержит узлы, позволяющие выполнять операции по анализу данных с помощью данного фреймворка. Стоит обратить внимание на то, что для Apache Spark разработано приложение Sparkling Water, функционал которого полностью перекрывает H2O. Таким образом, код может быть портирован в облако, что даёт возможность производить расчёты в случае больших объёмов данных. В настоящее время компания—разработчик активно продвигает на рынок продукт H2O Driverless AI, который позволяет строить модели в максимально автоматическом режиме. Для данного продукта сформирована академическая инициатива, позволяющая получить ключ для исследования возможностей продукта как преподавателям ВУЗов, так и студентам в индивидуальном порядке.

Обсуждение

В данной работе мы покажем кейс применения H2O для анализа временных рядов в R и коснёмся возможностей применения KNIME Analytics Platform для данных целей.

Для анализа и прогнозирования в случае временных рядов могут быть использованы следующие алгоритмы, реализованные в H2O:

- Isolation Forest [4] для анализа выбросов во временном ряду;

- Gradient Boosting Machine (GBM) [5], Deep Learning (Neural Networks)[6], Distributed Random Forest (DRF) и стэкированные модели.

Следует отметить наличие возможностей для получения стэкированных моделей в автоматическом режиме и подбора гиперпараметров на сетках, в случае наличия таковых у применяемого алгоритма. Вообще, H2O даёт возможность поиска оптимальных значений гиперпараметров с помощью Random Grids.

Обработка данных в H2O, вне зависимости от того, что используется для вызова алгоритмов фреймворка, состоит из следующих шагов:

1. Запуск фреймворка, если таковой требуется. По умолчанию, в случае использования локальной установки, доступ к фреймворку может быть получен с помощью веб-интерфейса с использованием порта 54321 (при использовании KNIME Analytics Platform веб-интерфейс не стартует). На этом этапе возможно указывать количество ядер процессора (R), задействованных при обработке данных. Если задействуются все ядра, операционная система практически перестаёт отвечать, поэтому мы в своих экспериментах, оставляли одно ядро за системой. Также важно учесть и то, что в случае использования R объём используемой памяти не контролируется, что приводит к зависанию кода без исполнения каких-либо действий в случае, когда объём данных и необходимый объём памяти для построения модели превышает доступный.

2. Преобразование наборов данных и, при необходимости, разбиение на тестовую, обучающую и валидацион-ную выборки. Здесь необходимо учитывать, что построение выборок идёт одним доступным методом: случайная выборка, что абсолютно не подходит для анализа временных рядов.

3. Вызов процедур H2O и построение моделей. Фреймворк содержит достаточный функционал для тестирования и кросс-валидации моделей.

4. Сохранение моделей в бинарном виде, либо MOJO или POJO форматах для дальнейшего использования. Следует отметить одну тонкость: понятно, что для увеличения скорости работы и удобства в продакшене появляется желание сохранять бинарную модель. Однако, бинарная модель не может быть использована при различиях в версиях фреймворка при тренировке и в продакше-не. Нет ни прямой, ни обратной совместимости — модель должна быть перетренирована для используемой версии фреймворка.

Если говорить о KNIME Analytics Platform может быть получен достаточно компактный поток (рис. 1) для построения модели.

В данном случае показан фрагмент потока, который использовался для применения градиентного бустинга к задаче классификации. Как видно, для кросс-валидации используются возможности фреймворка, но, при этом, результат из кросс-валидационного цикла, ограниченного узлами H2O Cross Validation Loop Start и Loop End, пере-

Рис. 1. Фрагмент потока KNIME Analytics Platform, отвечающий за кросс-валидацию модели GBM

даются в поток KNIME в понятном для него формате, хотя большая часть действий выполняется во фреймворке.

В R нами данный фреймворк использовался для анализа временного ряда, состоящего из порядка 300 тысяч измерений прогнозируемой величины, исторические данные покрывают приблизительно 2.5 года. Особенностью было то, что измерения проводились на 21 точке, и модель должна строиться в максимально автоматическом режиме, желательно без участия аналитика в подборе параметров, для каждой из точек. Горизонт прогноза — 48 шагов. На данный процесс большое влияние оказывают погодные условия, что привело к необходимости получения исторических погодных данных и прогноза.

После добавления экзогенных переменных (данных о погодных условиях), а также организации достаточного количества лагов, количество полей изначально составило 4000 (переменная historical.data.division в примерах далее). Так как объём данных достаточно велик, предпочтение в предобработке данных отдавалось библиотеке data.table.

Для упрощения разработки системы были созданы три референсных класса (RefClass) R (рис. 2):

Environment — для создания окружения для моделирования. В классе реализованы действия для формирования истории по всем точкам измерений, включая данные погодных условий, исходя из описания места расположения и наличия метеостанций вблизи объекта, на котором проводятся измерения. При формировании истории используются данные метеостанций сайта https://rp5.ru, а для получения прогнозов — данные, получаемые с помощью API сайта OpenWeather.com.

StatisticalModelsFitting — для формирования статистических моделей по каждой из точек. Статистическое

моделирование использовалось как для апробации, так и для повышения качества прогнозов и ускорения сходимости. Для данного типа моделирования применялись алгоритмы SSA[7], ТВАте и Prophet[8].

DeepModels — для построения моделей с помощью алгоритмов, реализованных в Н20. В настоящее время для изучения отобраны градиентный бустинг и нейронные сети.

Классы формировались исходя из функционала, реализующегося в продукте, фактически, отражают поток данных. В настоящее время рассматривается целесообразность реализации классов на уровне объектов, нпо которым ведётся процесс прогнозирования.

При анализе данных были выявлены следующие особенности:

- Временные ряды имеют достаточно сложную структуру. С помощью периодограммы Ломба-Скаргла ^отЬ^са^1е Periodogram) были выявлены наиболее общие периоды в 8, 12, 24, 84, 168 часов. Набор периодов уникален для каждой точки измерения.

- Статистическое моделирование даёт не вполне удовлетворительные результаты, однако можно отметить, что каждый из методов выделяет некоторые особенности ряда, что даёт возможность использовать данные статистического моделирования как дополнительные предикторы.

- При прогнозировании на полном наборе данных, со всеми возможными лагами на 14 суток назад было выявлено, что основную роль в прогнозе играют данные, соответствующие 48, 72, 96 и т.д. сдвигу и соответствующие им, сдвинутые на 3-4 лага максимум, значения (лаги 49, 50, 51 и т.п., рис. 3). Для этого использовались показатели относительной важности предикторов, которые могут быть получены для всех типов моделей в Н20.

Рис. 2. UML модель классов, реализованных в процессе решения задачи

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

Рис. 3. Пример диаграммы, показывающей важность составляющих в сформированной модели. Число в названии фактора соответствует лагу. Видно, что основными факторами являются факторы со сдвигом в 48, 72, 96 часов, а также текущие температура (Т), влажность (и) и давление (Р)

Подключение библиотеки h2o, инициализация, экспорт данных и их разбиение на обучающую, валидацион-ную и тестовые выборки представляют собой достаточно компактный код (рис. 4) в R Language.

1. library(h2o)

2. h2o.init(nthreads = 3)

3.......

4. h2o.ds <- as.h2o(historical.data.division)

5. splits <-.self$getSplitData(.self$ds[[tp]], split.dates)

6. train <- as.h2o(splits[["train.ds"]][, -c("etime")])

7. valid <- as.h2o(splits[["validation.ds"]][,-c("etime")])

8. test <- as.h2o(splits[["test.ds"]][, -c("etime")])

9. rm(splits) 10.....

Рис. 4. Код инициализации фреймворка и подготовки данных. В строке 5 используется функция для получения разбиения на необходимые выборки, с учётом того, что работа идёт с временным рядом

К особенностям фреймворка с точки зрения подготовки данных стоит отнести:

- Отсутствие необходимости в преобразовании категориальных переменных (one-hot encoding). Фреймворк делает при необходимости это сам.

- Отсутствие необходимости предварительной нормализации данных. Данный элемент предобработки может быть задан как параметр соответствующей функции.

- При общей "лояльности" R к символам кириллицы в названиях полей и наличию в них некорректных символов, с точки зрения самого языка программирования, H2O плохо справляется с такими отклонениями.

- Если сумма долей в разбиении, при использовании функции h2o.splits() не равна единице, будет создана третья выборка. Предполагается, что доли соответствуют обучающей, валидационной и тестовой выборкам. Функция h2o.assign() может быть использована для формирования этих выборок в явном виде в окружении R.

Для прогнозирования были выбраны алгоритмы Gradient Boosting Machine (GBM), Deep Learning (Neural Networks). Если говорить о Deep Learning, то в H2O может быть построена многослойная нейронная сеть, при этом могут быть заданы кроме количества нейронов по

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

1. nn1 <- h2o.deeplearning(training_frame = train, validation_frame = valid,

2. x = predict.x, y ="predicted.var",

3. model_id = "NN_type",

4. hidden = c(800, 800),

5. activation = "Rectifier",

6. epochs = 100,

7. seed = 2000000,

8. stopping_metric = "RMSE",

9. stopping_tolerance = 0.005,

10. stopping_rounds = 2)

11. finalnn_predictions<-h2o.predict(

12. object = nn1,

13. newdata = test)

Рис. 5. Вызов функции h2o.deeplearning() для построения нейронной сети

1. gbm <- h2o.gbm(

2. training_frame = train,

3. validation_frame = valid,

4. x = predict.x,

5. y ="power",

6. ntrees = ntrees,

7. learn_rate = 0.05,

8. max_depth = 50,

9. sample_rate = 0.8,

10. col_sample_rate = 0.8,

11. min_rows = 30,

12. stopping_rounds = 3,

13. stopping_tolerance = 0.001,

14. stopping_metric = "RMSE",

15. score_each_iteration = T,

16. model_id = paste0("gbm_", tp),

17. seed = 2000000)

18. finalgbm_predictions<-h2o.predict(

19. object = gbm,

20. newdata = test)

Рис. 6. Вызов функции h2o.gbm() для обучения модели

Как видно из кода, строится полносвязная сеть с двумя скрытыми слоями по 800 нейронов (строка 4), активацион-ная функция—Rectifier (строка 5). Независимые переменные и целевая переменная передаются с помощью названий полей (строковые векторы, строка 2). Максимальное количество эпох — 100 (строка 6), но при достаточно малых различиях в двух последовательных шагах метрики RMSE (строки 8-10) обучение останавливается.

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

Аналогичным образом может быть проделано построение моделей и для градиентного бустинга (Gradient Boosting Machine (GBM), функция h2o.gbm() рис. 6).

В нашем случае точность получаемого прогноза оказалась достаточно высока (рис. 7).

Если говорить о такой метрике, как R2, то значения на тестовой выборке не опускались ниже 0.98, а процент-

ная ошибка за 24 шага не поднималась выше 6%, что превосходит используемую в настоящий момент заказчиком модель по большинству точек измерений. В рассматриваемом наборе данных присутствует ряд точек, для которых попытки прогнозирования окончились неудачно.

В настоящее время на рынке активно продвигаются средства моделирования, позволяющие строить модели максимально автоматизированным способом, без подбора гиперпарметров с участием исследователя, а также с возможностью построения ансамбля моделей. В случае описываемого фреймворка, таковым инструментом является функция Мо.аиЮтЦ), которая позволяет достаточно эффективно строить модели с использованием стэкинга, который часто используется для построения подобного рода моделей [9-11] (рис. 8).

Рис. 7. Результат прогнозирования на тестовой выборке: GBM показал лучшие результаты

1. automl.tp <- h2o.automl(

2. training_frame = train,

3. validation_frame = valid,

4. x = predict.x,

5. y ="power",

6. sort_metric = "RMSE",

7. project_name = paste0("auto_", tp),

8. include_algos = c("DRF", "GBM", "DeepLearning", "StackedEnsemble"),

9. max_runtime_secs = 3600*3,

10. stopping_rounds = 2, ##

11. stopping_tolerance = 0.01,

12. stopping_metric = "RMSE",##

13. seed = 2000000)

Рис. 8. Построение и выбор наилучших моделей с использованием стэкинга

При использовании стэкинга моделирование ведётся в два этапа: на первом этапе обучается группа моделей на основе входных данных. На втором этапе результаты прогнозирования моделей первого этапа используются для прогнозирования результатов с помощью некоторой обобщающей модели.

Огромной проблемой при реализации данной модели явилось то, что вычисления проводятся на CPU, к сожалению GPU не может быть использован в случае H2O. Это приводит к достаточно длительным расчётам, не всегда укладывающимся в максимально допустимое время. Если превышение составило хотя бы доли секунды—модель не достраивается.

Заключение

На текущий момент ведётся эксперимент по сравнению полученных результатов с результатами, получаемыми с помощью фреймворка tensorflow (используется библиотека keras), а делается попытка использования стэ-кинговых моделей, генерируемых H2O. Стоит отметить, что для ряда точек измерений не удалось построить значимой модели (четыре точки из 21), что даёт повод для дальнейших исследований.

Литература

1. Landry M., Aiello S., Eckstrand E., Fu A., Aboyoun P. Machine Learning with R and H2O. 2018. URL: https://www.h2o. ai/wp-content/uploads/2018/01/RBooklet.pdf (дата обращения 02.08.2020).

2. LeDell E., Gill N., Aiello S., Fu A., Candel A., Click C, Kraljevic T., Nykodym T., Aboyoun P., Kurka M., Malohlava M, Rehak L., Eckstrand E., Hill B., Vidrio S., Jadhawani S., Wang A., Peck R., Wong W., Gorecki J., Dowle M., Tang Y., DiPerna L. h2o: R Interface for the 'H2O' Scalable Machine Learning Platform. Version: 3.30.0.1. 2020. URL: https://CRAN.R-project.org/ package=h2o (дата обращения 02.08.2020).

3. Berthold M. R., Cebron N., Dill F., Gabriel T. R., Kötter T., Meinl T., Ohl P., Sieb C., Thiel K., Wiswedel B. KNIME: The Konstanz Information Miner // Data Analysis, Machine Learning and Applications: Proceedings of the 31st Annual Conference of the Gesellschaft für Klassifikation e.V., Albert-Ludwigs-Universität Freiburg, March 7-9, 2007. Springer, Berlin, Heidelberg, 2008. Pp 319-326.

4. LiuF. T., TingK., Zhou Z. H. Isolation Forest // Proceedings of the 8th IEEE International Conference on Data Mining (ICDM 2008) (Pisa, Italy, 15-19 December 2008). IEEE, 2008. Pp.413-422. DOI: 10.1109/ICDM.2008.17

5. Malohlava M., Candel A. Gradient Boosting Machine with H2O. Mountain View, CA: H2O.ai, Inc, 2020. URL: http://

docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/GBMBooklet.pdf (дата обращения 02.08.2020).

6. Candel A., LeDell E. Deep Learning with H2O. Mountain View, CA: H2O.ai, Inc, 2020. URL: http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/DeepLearningBooklet.pdf (дата обращения 02.08.2020).

7. Golyandina N., KorobeynikovA. Basic Singular Spectrum Analysis and Forecasting with R // Computational Statistics and Data Analysis. Vol. 71. Pp. 934-954.

8. Taylor S., Letham B. Prophet: Automatic Forecasting Procedure. Version: 0.6.1. URL: https://CRAN.R-project.org/ package=prophet (дата обращения 02.08.2020).

9. Ma Z., Wang P., Gao Z., Wang R., Khalighi K. Ensemble of machine learning algorithms using the stacked generalization approach to estimate the warfarin dose // PLoS ONE. 2018. No. 13(10): e0205872. DOI: https://doi.org/10.1371/journal. pone.0205872

10. Sikora R., Al-laymoun O.H. A Modified Stacking Ensemble Machine Learning Algorithm Using Genetic Algorithms // Journal of International Technology and Information Management. 2014. Vol. 23. No. 1. Pp. 1-12.

11. Divina F., Gilson A., Goméz-Vela F., García Torres M., Torres J. F. Stacking Ensemble Learning for Short-Term Electricity Consumption Forecasting // Energies. 2018. No. 11 (4). P. 949. DOI: https://doi.org/10.3390/en11040949

APPLICATION OF H2O FRAMEWORK IN TIME SERIES PROCESSING

EKATERINA V. BUNYAKINA,

St. Petersburg, Russia, ninapetergof@mail.ru

MAXIM I. GALCHENKO,

St. Petersburg, Pushkin, Russia, maxim.galchenko@gmail.com

KEYWORDS: programming languages; algorithms framework; model; data processing; stacking.

ABSTRACT

Currently, one of the most popular advanced analytics area is time series analysis. Stored data of measuring instruments, detectors of various kinds can serve as examples of generating this kind of data. There are quite a few integrated platforms proposals on the market for building deep learning models. In this situation, the H2O platform (framework) is a unique offer, due to its free, comprehensive, low entry threshold and scalability. Particular interest in the framework is also dictated by the fact that the developers have provided the opportunity to access the platform algorithms in R and Python using libraries, as well as the availability of the Sparkling Water application for Apache Spark. In the KNIME Analytics Platform 4.X, the KNIME Labs - Deep

Learning node group has well-tuned nodes that can invoke the corresponding H2O algorithms. Currently, not all H2O algorithms have been implemented yet, but the KNIME development process allows us to expect that everything remaining will be implemented soon. The article provides general information, as well as an example of using the platform for the task of time series forecasting. The order of the functions in the code, the basic settings, as well as the call features that occur when working on a single PC while working in R are shown. The process of interaction with the web interface and the implementation of functions in the statistical programming language R is described. The use of simulation results, namely, relative importance, is demon-

strated. predictors in H2O to simplify the data set and increase the rate of convergence of the algorithm.

REFERENCES

1. Landry M., Aiello S., Eckstrand E., Fu A., Aboyoun P. Machine Learning with R and H2O. 2018. URL: https://www.h2o.ai/wp-content/ uploads/2018/01/RBooklet.pdf (date of access 02.08.2020).

2. LeDell E., Gill N., Aiello S., Fu A., Candel A., Click C., Kraljevic T., Nykodym T., Aboyoun P., Kurka M., Malohlava M., Rehak L., Eckstrand E., Hill B., Vidrio S., Jadhawani S., Wang A., Peck R., Wong W., Gorecki J., Dowle M., Tang Y., DiPerna L. h2o: R Interface for the 'H2O' Scalable Machine Learning Platform. Version: 3.30.0.1. 2020. URL: https:// CRAN.R-project.org/package=h2o (date of access 02.08.2020).

3. Berthold M. R., Cebron N., Dill F., Gabriel T. R., Kötter T., Meinl T., Ohl P., Sieb C., Thiel K., Wiswedel B. KNIME: The Konstanz Information Miner. Data Analysis, Machine Learning and Applications: Proceedings of the 31st Annual Conference of the Gesellschaft für Klassifikation e.V., Albert-Ludwigs-Universität Freiburg, March 7-9, 2007. Springer, Berlin, Heidelberg, 2008. Pp 319-326.

4. Liu F. T., Ting K., Zhou Z. H. Isolation Forest. Proceedings of the 8th IEEE International Conference on Data Mining (ICDM 2008) (Pisa, Italy, 15-19 December 2008). IEEE, 2008. Pp.413-422. DOI: 10.1109/ ICDM.2008.17.

5. Malohlava M., Candel A. Gradient Boosting Machine with H2O. Mountain View, CA: H2O.ai, Inc, 2020. URL: http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/GBMBooklet.pdf (date of access 02.08.2020).

6. Candel A., LeDell E. Deep Learning with H2O. Mountain View, CA: H2O.ai, Inc, 2020. URL: http://docs.h2o.ai/h2o/latest-stable/h2o-docs/ booklets/DeepLearningBooklet.pdf (date of access 02.08.2020).

7. Golyandina N., Korobeynikov A. Basic Singular Spectrum Analysis and Forecasting with R. Computational Statistics and Data Analysis. Vol. 71. Pp. 934-954

8. Taylor S., Letham B. Prophet: Automatic Forecasting Procedure. Version: 0.6.1. URL: https://CRAN.R-project.org/package=prophet (date of access 02.08.2020).

9. Ma Z., Wang P., Gao Z., Wang R., Khalighi K. Ensemble of machine learning algorithms using the stacked generalization approach to estimate the warfarin dose. PLoS ONE. 2018. No. 13(10): e0205872. DOI: https://doi.org/10.1371/journal.pone.0205872

10. Sikora R., Al-laymoun O.H. A Modified Stacking Ensemble Machine Learning Algorithm Using Genetic Algorithms. Journal of International Technology and Information Management. 2014. Vol. 23. No. 1. Pp. 1-12.

11. Divina F., Gilson A., Gomez-Vela F., Garcia Torres M., Torres J. F. Stacking Ensemble Learning for Short-Term Electricity Consumption Forecasting. Energies. 2018. No. 11 (4). P. 949. DOI: https:// doi.org/10.3390/en11040949

INFORMATION ABOUT AUTHORS:

Bunyakina E.V., Lecturer of Military Institute (Naval Polytechnic) Military Educational and Scientific Center of the Navy «Naval Academy»; Galchenko M.I., Lecturer of St. Petersburg agrarian University.

For citation: Bunyakina E.V., Galchenko M. I. Application of H2O framework in time series processing. H&ES Research. 2020. Vol. 12. No. 4. Pp. 56-64. doi: 10.36724/2409-5419-2020-12-4-56-64 (In Rus)

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