УДК: 33.336.7
РАЗРАБОТКА ВЫСОКОНАГРУЖЕННОГО РЕШЕНИЯ ПРОГНОЗИРОВАНИЯ ВРЕМЕННЫХ РЯДОВ
Рысин Н.А., студент
Финансовый университет при Правительстве Российской Федерации, Москва, Россия
E-mail: nikita.rysin1999@gmail.com Научный руководитель: Городецкая О.Ю., к.э.н., доцент
Финансовый университет при Правительстве Российской Федерации, Москва, Россия
E-mail: ogorodetskaya@fa.ru
Аннотация. В статье рассматривается применение методов анализа, обработки больших данных и машинного обучения для решения задач прогнозирования в коммерческих банках. Описывается модель прогнозирования оптимальной точки инкассации банкоматов внутри дня. В качестве исходных данных для анализа были использованы данные об оборотах наличных денежных средств в банкоматах одного из коммерческих банков Российской Федерации. Рассмотрены этапы предобработки данных, подготовки данных для моделирования, генерации и подбора признакового пространства, а также построения прогнозной модели на основе одного из методов ансамблирования алгоритмов - градиентного бустинга над решающими деревьями. Приведено описание метода оптимизации процедуры скоринга большого количества моделей. Также приведено исследование прогнозных моделей на предмет их качества прогностической способности. Разработанное решение применено для прогнозирования оптимальной точки инкассации банкомата внутри дня. Представлены параметры выборки для тестирования алгоритма, включающие даты, количество устройств, количество точек для прогнозирования, а также указаны метрики качества прогнозов на данной выборке.
Ключевые слова: машинное обучение, анализ данных, большие данные, прогнозирование временных рядов, ансамблирование алгоритмов, градиентный бустинг над решающими деревьями.
THE DEVELOPMENT OF A HIGHLY LOADED TIME SERIES
FORECASTING SOLUTION
Rysin N.A., student
Financial University under the Government of the Russian Federation, Moscow, Russia
E-mail: nikita.rysin1999@gmail.com Gorodetskaya O.Y., Ph.D. Econ. Sciences, Docent Financial university under the Government of Russian Federation, Russia, Moscow
E-mail: ogorodetskaya@fa.ru
Abstract. The article deals with the application of methods of analysis, big data processing and machine learning to solve forecasting problems in commercial banks. A model for predicting the optimal point of ATM collection within a day is described. Data on cash turnover in ATMs of one of the commercial banks of the Russian Federation were used as the initial data for the analysis. The stages of data preprocessing, data preparation for modeling, generation and selection offeature space, as well as the construction of a predictive model based on one of the methods of algorithm ensemble -gradient boosting over decision trees are considered. A method for optimizing the scoring procedure for a large number of models is described. A study ofpredictive models for their quality of predictive ability is also given. The developed solution is applied to predict the optimal point of ATM collection within a day. The selection parameters for testing the algorithm are presented, including dates, the number of devices, the number ofpoints for forecasting, and metrics for the quality of forecasts for this sample are specified.
Key words: machine learning, data analysis, big data, time series forecasting, algorithm ensembling, gradient boosting over deision trees.
ВВЕДЕНИЕ [2]. С их помощью решаются прогнозные и
В настоящее время банкам очень важно оптимизационные задачи [3]. оптимизировать затраты на бизнес-процессы, так Одной из таких задач является как от их скорости и эффективности зависит их прогнозирование оборотов в офисах банков и прибыль [5, 6]. Зачастую для их оптимизации банкоматах. Для качественного решения банки используют методы, основанные на предполагается использовать «двухуровневую» машинном обучении и анализе больших данных модель. Модель первого уровня прогнозирует
суммарный спрос на наличность на день, а модель
второго уровня - распределение снятий по часам суток. Такой подход необходим для определения эффективной точки инкассации внутри дня, как следствие составление оптимального графика и маршрута инкассаций на день, что позволит избежать ситуацию, когда наличность в банкомате заканчивается утром, а инкассация прибудет только вечером [4].
Наиболее очевидным подходом было бы сразу прогнозировать сумму спроса на каждый час дня, однако он имеет один важный недостаток -большая ошибка модели. Поэтому предлагается с начала строить модель для дневного прогнозирования, а после - повышать степень детализации, переходя к почасовым прогнозам долей снятий.
МЕТОДЫ ИССЛЕДОВАНИЯ
Одним из первых этапов в построении прогнозной модели является сбор и предобработка данных [5]. Данные извлекаются из витрины карточных транзакций, фильтруются путем отбора из всех транзакций только тех, которые относятся к снятиям в банкоматах или офисах банка. Затем данные группируются по часам дня, рассчитывается суммарный спрос за час. Далее осуществляется расчет кумулятивной доли на каждый час: рассчитывается отношение куммулятивного спроса к суммарному спросу за сутки. Ввиду большого объема транзакций для реализации предобработки данных используется алгоритм на базе подхода MapReduce в ApacheSpark.
Однако ввиду большого количества аномальных транзакций, для корректного прогнозирования их следует отфильтровать, для этого их нужно задетектировать и разметить. Для этого используется метод С^иМ [10].
С^иМ (куммулятивная сумма) - метод, который отслеживает вариации процесса (временного ряда). В его основе лежит накопление изменений временного ряда от среднего значения. Как только куммулятивная сумма превышает значение заданного порога, так точка маркируется как аномалия [12]. Процесс детекции осуществляется через итеративное обучения и
предсказание с движущимся окном. На обучающей выборке рассчитываются параметры метода, а на тестовой детектируются аномалии [10].
Решение задачи прогнозирования
осуществляется с помощью современных методов машинного обучения, так как они имеют ряд преимуществ по сравнению с классическими эконометрическими подходами. Во-первых, эконометрические модели ограничены краткосрочным горизонтом прогнозирования (несколько точек вперед) [1]. Также ограничены в возможности использования категориальных признаков, тогда как в моделях машинного обучения их можно использовать в составе признакового пространства, что позволяет улучшить качество прогнозов за счет новых знаний об объекте исследования [1]. Модели машинного обучения имеют преимущество в том, что способны обучаться быстрее на больших объемах данных, чем эконометрические -способны обрабатывать большие объемы данных с высокой скоростью [8]. Также модели, построенные на алгоритмах машинного обучения, не требуют стационарности ряда, так как приведение к стационарному виду не всегда однозначно на исследуемых данных (для какого-то банкомата поможет первое дифференцирование, для какого-то только сезонное) [9].
В качестве метода моделирования был выбран градиентный бустинг над решающими деревьями, в качестве его достоинств для применения в данной задаче стоит отметить быструю скорость обучения моделей за счет параллелизации обучения и хорошее качество прогнозов во многих прикладных задачах [12, 13]. Для программной реализации был выбран язык программирования Python [9].
Для процесса обучения модели на основе машинного обучения необходимо признаковое пространство. Для обучения использовались два типа признаков: статистические признаки и признаки, основанные на поведении клиентов и расположении устройств самообслуживания (табл. 1).
Статистические признаки Признаки, основанные на поведении клиентов и расположении устройств самообслуживания
• лаговые признаки; • сезонный лаг; • скользящее среднее, min, max, std (окно для сбора подбирается по кросс-валидации) -для часов, дней, дней недели, для месяца (например, скользящее среднее по двум таким же дням недели); • календарные признаки: • one-hot дней недели; • one-hot месяцев; • разметка с использованием детектора аномалий дней массовых выплат; • разметка дней: • Праздничных; • Предпраздничных; • послепраздничных. • средний вектор пользователей банкомата (на основе «знаний о клиенте» карточных транзакций, социально-демографических признаков): вычисляется по часам каждого типа дней недели, отдельно для праздников и дней масс. выплат; • информация о расположении банкомата (координаты); • место установки банкомата (магазин, ТЦ); • информация о ближайших банкоматах и офисах банка; • статистики о среднем чеке в сессии снятия наличных.
распределение величин ошибок по всем наблюдениям выборки.
На рис. 1, приведена визуализация фактических (синий цвет) и прогнозных (красный цвет) кумулятивных долей снятий наличных на примере одного из банкоматов, по горизонтальной оси отложен час суток. По результатам анализа можно сделать вывод, что прогнозные значения несильно отклоняются от фактических, что говорит о хорошей прогностической способности модели.
На примере устройства самообслуживания, визуализация прогнозов для которого приведена на рис. 1, можно определить, что оптимальная точка инкассации достигается в интервале 14.00 -16.00.
В целях оптимизации скоринга моделей на большом объеме данных были использованы технологии параллельного программирования, основанные на параллелизме по данным. Была использована библиотека Dask, реализованная в экосистеме Python, коллекция верхнеуровнего параллелизма - Dask.Delayed.
РЕЗУЛЬТАТЫ
Для того чтобы убедиться, что разработанные модели качественные, обладают хорошей обобщающей способностью и устойчивы, принято измерять метрики качества на отложенной выборке (OOT - out of time) и анализировать
Рис. 1. Визуализация прогнозных и факти Однако представление только интегральных метрик качества алгоритмов не даст точного представления о качестве алгоритма. В таблице 2 представлены параметры выборки,
использованной для тестирования модели и полученные значения метрика качества прогнозов. Рассчитанный 95% доверительный интервал для метрики MAE составляет (0.04, 0.09). Видно, что средняя ошибка составляет 0.05%, медиана 0.04. Это говорит о довольно высоком качестве алгоритма, его хорошей статистической устойчивости и надежности прогнозов.
Таблица 2. Параметры выборки и результаты моделирования
Дата выборки 01.05 - 01.06.2019
Горизонт прогнозирования 20 дней
Количество уникальных устройств в выборке, шт. 100000
Количество сэмплов, шт. 7200000
Величина метрики MAE, % 0.05
95% доверительный интервал для MAE (0.04, 0.09)
Мин. ошибка, в % 0.02
Макс. ошибка, в % 0.11
Медиана ошибки, в % 0.04
Время обучения моделей, мин 210
Время скоринга 90
ЗАКЛЮЧЕНИЕ
Таким образом, показано оптимальное решение задачи определения оптимальной точки инкассации банкоматов внутри дня с использованием технологий обработки больших
их значений куммулятивных долей спроса данных, анализа данных и машинного обучения. Решение данной задачи позволит банкам минимизировать затраты на инкассацию путем определения эффективных точек инкассаций и составления оптимального графика
обслуживаний. Разработанное решение может быть смасштабировано для переиспользования в аналогичной задаче для офисов банка.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
[1] Андерсон Т. Статистический анализ временных рядов /Т. Андерсон. - М.: Мир, 2012. - 752 с.
[2] Гобарева Я.Л., Городецкая О.Ю. Большие данные и машинное обучение в банковской сфере // Аналитика в управлении финансами: актуальные вопросы теории и практики: межд. науч.-практич. конф. (Москва, 14-16 декабря 2017). - М.: Изд-во ГУУ, 2017. С. 46-50
[3] Гобарева Я.Л., Городецкая О.Ю., Рысин Н.А. Машинное обучение на службе банковской индустрии. // Современная математика и концепции инновационного математического образования. - М: Издательский дом МФО, 2019. Т. 6. № 1. - С. 232-239.
[4] Гобарева Я.Л., Городецкая О.Ю., Рысин Н.А. Практическое применение когнитивных инструментов в банковской деятельности. // Банковские услуги, 2019. -№ 6. - С. 15-21.
[5] Гобарева, Я.Л. Технологии больших данных и особенности их применения в России / Я.Л. Гобарева, О.Ю. Городецкая // РИСК: Ресурсы, Информация, Снабжение, Конкуренция. - 2020. - № 1. - С. 108-112.
[6] Гобарева, Я.Л. Проблемы развития систем искусственного интеллекта / Я.Л. Гобарева, О.Ю. Городецкая // Банковские услуги. - 2020. - № 4. - С. 3138.
[7] Маккинли, У. Python и анализ данных / Уэс Маккинли; пер. с англ. А.А. Слинкина. - Москва: ДМК Пресс, 2015. - 482 с. - ISBN 978-5-97060-315-4 - ЭБС Znanium.com. -
URL: http://znanium.com/catalog/product/1027796 - Текст электронный.
[8] Мюллер А., Гвидо С. Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными 2017. - 392c
[9] Флах, Петер Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных. - М.: ДМК Пресс, 2015. - 400 c.
[10] A. Aue, L. Horvath, M. Kühn and J. Steinebach. On the reaction time of moving sum detectors. Journal of Statistical Planning and Inference, 142(8):2271-2288, 2012.
[11] H. Friedman. Greedy function approximation: a gradient boosting machine. Annals of statistics, vol. 29, No.5, pp. 1189-1232, 2009
[12] Stefan Fremdt. Page's Sequential Procedure for Change-Point Detection in Time Series Regression, arxiv.org, 2013
[13] Yohannes Y., Webb P. Classification and regression trees, CART: a user manual for identifying indicators of vulnerability to famine and chronic food insecurity. - Intl Food Policy Res Inst, 1999. - T. 3.
V V