УДК 004.85, 004.89
Нестеров Сергей Александрович,
канд. техн. наук, доцент, доцент, Никольская Анастасия Николаевна,
студент
АНАЛИЗ И ПРЕДСКАЗАНИЕ ЗАГРУЖЕННОСТИ БАНКОМАТОВ НА ОСНОВЕ ИХ РАСПОЛОЖЕНИЯ
г. Санкт-Петербург, Санкт-Петербургский политехнический университет Петра Великого,
Аннотация. Рассматривается набор данных о расположении и загруженности банкоматов. Решается задача регрессии для предсказания загруженности банкоматов в зависимости от расположения и прочих признаков. Описываются первичный анализ и обработка набора данных, строятся модели с использованием различных реализаций градиентного бустинга.
Ключевые слова: градиентный бустинг, машинное обучение, загруженность банкоматов, расположение банкоматов, LightGBM, XGBoost, CatBoost.
Sergei A. Nesterov, PhD in Technical Sciences, Associate Professor,
Anastasiya N. Nikolskaya,
Student
ANALYSIS AND PREDICTION OF ATM LOAD BASED
ON THE LOCATION
St-Petersburg, Peter the Great Saint-Petersburg Polytechnic University,
Abstract. The paper focuses on optimal location-allocation of Automatic Teller Machines. There are used different realizations of gradient boosting to predict popularity of ATMs. Also some results of analysis of ATM popularity using data mining and machine learning are given.
Keywords: location-allocation, machine learning, gradient boosting, ATM popularity, LightGBM, XGBoost, CatBoost.
Банкоматы или АТМ (от англ. Automated teller machine) позволяют делать различные операции со счетом и пластиковыми картами клиента банка. Это может быть снятие наличных, пополнение карты, действия со счётом без использования наличных средств. В настоящее время банки уделяют все больше внимания задаче оптимального расположения банкоматов [4]. Так, в декабре 2018 - январе 2019 г. Росбанк проводил со-
ревнование в области машинного обучения по предсказанию популярности своих и партнёрских банкоматов [6]. В работе описывается часть результатов, полученных во время участия в соревновании.
Задача прогнозирования уровня загруженности устройств самообслуживания в данном случае сводится к задаче регрессии, так как целевой признак измеряется в числовых единицах и является функцией от количества операций с устройством [1]. Для её решения были использованы три различные реализации градиентного бустинга. Данный алгоритм отличается высокой точностью прогнозов, при этом он является практически универсальным методом для решения стандартных задач [2].
Подготовка и первичный анализ данных
Исследуемый набор данных содержит информацию о 6000 банкоматах Росбанка и его партнёров. Данные представлены в виде таблицы со строками следующего вида (табл. 1).
Таблица 1.
Строка исходного набора данных
Id atm_group address address_rus lat long target isTrain
8526.0 32.0 VL.4 NOSO- VIKHINSKOE HW. MKR.SALTYKOV шоссе Носови-хинское, 4, Балашиха, Московская обл. 55.75268 137.90764 4 0.0115 True
В некоторых строках набора были пропущены адрес на русском языке, широта и долгота. Адреса на английском языке были получены из транзакций. Целевой признак является функцией от количества операций за рассматриваемый период времени - 2017-2018 годы.
Анализ адресов показал, что банки в наборе имеют следующие идентификаторы:
• 80830 - Росбанк • 320 - Райффайзен
• 10220 - АК Барс • 4965- Россельхозбанк
• 19420 - Альфабанк • 54780 - Уралсиб
• 31855 - Газпромбанк
На рисунке 1 представлены гистограммы распределения целевого признака в зависимости от банка. Как видно, оно отличается для различных банков.
Рассмотрим распределение целевого признака по координатам. Для этого отобразим банкоматы на карте (рис. 2).
547а (ВТБ) 1942 (Альфабанк) 8083 (Росбанк) 495 (Россельхаз)
-015-0 10-005 »00 005 010 -0 1 00 01 ООО 005 0,10 015 020 -0 1 00 01
3135 [Газпром) 1022 [Ак Барс) 37 (Прочее)
-О.] 0.0 0.1 -0.15 -0.10 -0.05 ООО 0.05 -0.1 00 01 0.2
Рис. 1. Гистограммы целевого признака по банкам (М разделён на 10)
Как видно, распределение этого признака не зависит от координаты напрямую, однако его значение выше для крупных городов, особенно для городов с высокими средними зарплатами и плотностью населения. Из этого можно сделать вывод, что целевой признак может зависеть от имущественных показателей, плотности банкоматной сети в некоторой области и плотности населения.
Рис. 2. Географическое распределение целевого признака
При подготовке данных координаты банкоматов восстанавливались с помощью API Яндекс-карт и открытой информации вышеописанных банков. Некоторые данные были восстановлены вручную.
Также в таблицу были добавлены расходы по картам, средняя сумма на счете, средняя зарплата по региону, плотность населения по регионам за 2018 год, для чего использовались открытые данные Сбербанка. В качестве показателей плотности распределения банкоматов были выбраны расстояния до 5 ближайших, а также их среднее и вариация.
Построение моделей
В работе используются модели, полученные с помощью алгоритма градиентного бустинга над деревьями решений. Данный алгоритм строится следующим образом.
Алгоритм представляется в виде композиции алгоритмов деревьев
h (a.)
м
m=i (1) Ьт еВс1,йт£/1с
Композиция строится жадным методом, каждый раз в сумму (1) добавляется слагаемое, такое, что hm (a, b) = argmax Q.
aeA,beB
Большую популярность снискал стохастический градиентный бус-тинг [4], идея которого не в использовании всей обучающей выборки, а в использовании её случайной подвыборки, полученной с помощью бег-гинга (создания случайной подвыборки с возвращением для элементов набора и признаков для каждого дерева).
В качестве метрики качества моделей выбран корень среднеквадратичной ошибки [3]. Эта метрика имеет смысл стандартного отклонения прогноза от целевой функции:
Рассмотрим особенности трех реализаций градиентного бустинга: LightGBM, Са1Воо81, ХОВоо81. LightGBM использует разбиение деревьев, в качестве обучающих примеров выбирая только дающие малый прирост функционала качества, в то время как XGBoost использует предва-
рительно отсортированные признаки. Кроме того, LightGBM обрабатывает категориальные признаки, в то время как XGBoost обрабатывает все признаки как непрерывные. CatBoost принципиально отличается от двух других методов тем, что использует только категориальные признаки.
Рассмотрим, как распределены признаки по важности для трех методов. Для CatBoost наиболее важны признаки банка, являющиеся категориальными. Для XGBoost наиболее важны признаки расстояний между банкоматами, также как и для LightGBM. При этом для XGBoost являются более важными признаки координат и идентификатор банка, чем для LightGBM, в остальном среди двух последних алгоритмов нет принципиальных различий.
Сравнение моделей
Для обучения моделей были использована кроссвалидация на 5 подвыборках, для каждой из которых задавался новый случайный момент (random seed), так как в процессе экспериментов было определено, что точность моделей сильно зависит от случайного момента.
Значения ошибки, вычисленные по формуле (2) для полученных моделей на трёх подвыборках по городам и по всей обучающей выборке, представлены в таблице 2.
Таблица 2.
Ошибка моделей_
XGBoost LightGBM CatBoost
Москва 0.045477 0.044547 0.044566
СПб 0.035777 0.035685 0.034299
Москва+СПб 0.042807 0.042720 0.042202
Вся выборка 0.042771 0.043097 0.043341
Как видно, наилучшие результаты на полном наборе данных показывает хобоо81, а худшие - Са1Воо81. Это объясняется тем, что в данном наборе практически нет категориальных признаков. LightGBM незначительно отстаёт от XGBoost, а на малых выборках даже даёт более точные прогнозы. При этом LightGBM является наиболее быстрой реализацией градиентного бустинга.
В результате работы были построены модели предсказания загруженности банкоматов с помощью трёх реализаций градиентного бустин-га. Также было проведено сравнение этих трех реализаций для данной задачи. При этом ни для одной из этих итераций ошибка прогнозирования не является достаточно малой, что говорит о необходимости улучшения моделей. Для дальнейшего увеличения точности предсказания целесообразно построить их композицию или использовать методы нейронных сетей. Кроме того, возможно использование геоинформацион-
ных систем для получения таких признаков, как расстояние до офиса банка, до центра города, транспортных узлов, бизнес-центров, государственных учреждений и других. Результаты работы можно использовать для предварительной быстрой оценки загруженности, не требующей высокой точности.
Список литературы
1. Барсегян А., Куприянов М., Холод И., Тесс М., Елизаров С. Анализ данных и процессов: учебное пособие - БХВ-Петербург, 2009. - 512 с.
2. Градиентный бустинг. Открытый курс по машинному обучению. [электронный ресурс] URL:
https://habr.eom/ru/company/ods/blog/327250/#4-itog-pro-teoriyu-gbm.
3. А.В. Замятин. Введение в интеллектуальный анализ данных - Томск, 2016. - 119 с.
4. Mourad M., Optimal Location-Allocation of Automatic Teller Machines, Conference: World Academy of Science, Engineering and Technology, Volume 61, Dubai, UAE, 2012.
5. Friedman, J.H. Stochastic Gradient Boosting. Technical report. Dept. of Statistics, Stanford University, 1999.
6. Happy Data Year - New Year's data analysis championship from Rosbank. [электронный ресурс] - URL: https://boosters.pro/championship/rosbank2/