Научная статья на тему 'ИНФОРМАЦИОННАЯ СИСТЕМА ПРОГНОЗИРОВАНИЯ СОБИРАЕМОСТИ ПЛАТЕЖЕЙ В ОТДЕЛЕНИЯХ ПОЧТОВОЙ СВЯЗИ «ПОЧТА РОССИИ» С ИСПОЛЬЗОВАНИЕМ МАШИННОГО ОБУЧЕНИЯ'

ИНФОРМАЦИОННАЯ СИСТЕМА ПРОГНОЗИРОВАНИЯ СОБИРАЕМОСТИ ПЛАТЕЖЕЙ В ОТДЕЛЕНИЯХ ПОЧТОВОЙ СВЯЗИ «ПОЧТА РОССИИ» С ИСПОЛЬЗОВАНИЕМ МАШИННОГО ОБУЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
38
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / ПРОГНОЗИРОВАНИЕ С УЧЕТОМ СЕЗОННОСТИ / СОБИРАЕМОСТЬ ПЛАТЕЖЕЙ / МАШИННОЕ ОБУЧЕНИЕ / НЕЙРОННАЯ СЕТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Скоба А.Н., Бадашев В.В.

В данной статье рассматривается прогнозирование собираемости платежей в отделениях почтовой связи с учетом сезонности и применением машинного обучения. Разработан алгоритм построения расчетной модели, которая предоставляет возможность для аналитиков почты РФ делать помесячный прогноз собираемости платежей для каждого УФПС (Управление федеральной почтовой связи) с учетом сезонности. Данная модель позволяет выявлять отклонения от нормы в вопросах, касающихся собираемости платежей и более точно корректировать повышение тарифов на услуги. Данная информационная система реализована в виде веб-сайта с помощью фреймворка ASP.NET Core и библиотеки для машинного обучения ML.NET.

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

INFORMATION SYSTEM FOR FORECASTING THE COLLECTION OF PAYMENTS IN THE POST OFFICES OF THE RUSSIAN POST USING MACHINE LEARNING

This article discusses the forecasting of the collection of payments in post offices, taking into account seasonality and the use of machine learning. An algorithm for constructing a calculation model has been developed, which provides an opportunity for analysts of the Russian Post to make a monthly forecast of the collection of payments for each UFPS (Federal Postal Administration), taking into account seasonality. This model allows you to identify deviations from the norm in matters related to the collection of payments and more accurately adjust the increase in tariffs for services. The SSA algorithm is considered, which consists of 4 steps: embedding, singular decomposition, grouping, diagonal averaging. This information system is implemented in the form of a website using a framework ASP.NET Core and libraries for machine learning ML.NET . Then the forecast is evaluated using various methods.

Текст научной работы на тему «ИНФОРМАЦИОННАЯ СИСТЕМА ПРОГНОЗИРОВАНИЯ СОБИРАЕМОСТИ ПЛАТЕЖЕЙ В ОТДЕЛЕНИЯХ ПОЧТОВОЙ СВЯЗИ «ПОЧТА РОССИИ» С ИСПОЛЬЗОВАНИЕМ МАШИННОГО ОБУЧЕНИЯ»

Информационная система прогнозирования собираемости платежей в отделениях почтовой связи «Почта России» с использованием

машинного обучения

В.В. Бадашев, А.Н. Скоба

Южно-Российский государственный политехнический университет (НПИ) им

М.И. Платова, Новочеркасск

Аннотация: В данной статье рассматривается прогнозирование собираемости платежей в отделениях почтовой связи, с учетом сезонности и применением машинного обучения. Разработан алгоритм построения расчетной модели, которая предоставляет возможность для аналитиков почты РФ делать помесячный прогноз собираемости платежей для каждого УФПС (Управление федеральной почтовой связи) с учетом сезонности. Данная модель также позволяет получать отклонения от нормы для прогнозируемых и реально получаемых значений собираемых платежей и более точно корректировать повышение тарифов на услуги. Разработанная информационная система реализована в виде веб-сайта с помощью фреймворка ASP.NET Core и библиотеки для машинного обучения ML.NET. Ключевые слова: математическое моделирование, прогнозирование с учетом сезонности, собираемость платежей, машинное обучение, нейронная сеть.

Для решения задачи прогнозирования собираемости платежей в отделениях почтовой связи «Почта России» был использован метод машинного обучения Singular spectrum analysis (SSA), подробное описание которого приведено в работах [1,2]. Детальная постановка задачи прогнозирования собираемости платежей приведена в работе [3]. Использование метода SSA для построения прогнозных моделей включает два основных этапа: встраивание и сингулярное разложение. Суть данных этапов заключается в следующем.

Шаг 1. Встраивание. Шаг встраивание — это начальный шаг в алгоритме SSA. Этот метод преобразует наблюдаемые временные ряды в многомерную векторную последовательность. Техника встраивания отображает исходный временной ряд путем формирования K=N-L+1 векторов вложения, имеющих размерность L:

траекторная матрица - это матрица вида:

По к к - Гк-1 \

\Zl-i к к +1 ■■■ /л?-1

Можно заметить, что в уравнении (1) матрица X имеет одни и те же элементы на анти-диагоналях. Матрица такого типа называется матрицей Ганкеля [1]. Шаг 2. Сингулярное разложение. В результате данного шага осуществляется сингулярное разложение траекторной матрицы ряда. Пусть 5 = ХХТ. Обозначим Л±.....Хь собственные числа матрицы взятые в

неубывающем порядке А1>---Яй> 0 и и1.....IIь - ортонормированную

систему собственных векторов матрицы Б, соответствующих собственным числам. Пусть & = тах{/:А; > 0}. Пусть Ц = Хт\]{^Хи[ = 1 то

сингулярное разложение матрицы X может быть записано в виде:

тройкой сингулярного разложения (2).

Сконструированная таким образом матрица X одержит всю необходимую информацию для получении прогнозных значений собираемости платежей с учётом сезонности [3]. Разработанная и программно-реализованная информационная система, на основе метода прогнозирования SSA, для решения задачи прогнозирования собираемости платежей в отделениях почтовой связи «Почта России» является примером применения распределенных систем обработки информации (СОИ) [3]. Данная распределённая СОИ была реализована с использованием

Х = Х1 + - + ХЛ,

(2)

где Х^ = ТЗД^. Каждая из матриц Х1 имеет ранг 1, поэтому их называют элементарными матрицами. Набор называют /-й собственной

комбинации фреймворка ASP.NET Core и библиотеки машинного обучения ML.NET, которые являются мощными инструментами для разработки надежных программных приложений [4]. Фреймворк, основанный на языке программирования C# и включающий механизм представления Razor [4], обеспечивает надежную основу для создания сложных веб-систем. Для получения качественных и количественных оценок при прогнозировании необходимо учитывать множественные факторы и связи [5, 6]. Используя ML.NET для прогнозирования платежей методом SSA, можно получать всю необходимую информацию о тенденциях изменения платежей и принимать более обоснованные решения о минимизации финансовых потерь. При этом были рассмотрены варианты её программной реализации, как на базе двухуровневой архитектуры «клиент-сервер», так и на базе трехуровневой клиент-серверной архитектуры [7]. При разработке системы использовался предметно-ориентированный подход [8]. Рассмотрим более подробно программную реализацию системы. На первом шаге осуществляется сбор данных с региональных Управлений федеральной почтовой связи (УФПС) «Почта России» для реализации процесса обучения модели прогнозирования. Модель сущности для хранения данных для обучения за определенную дату по УФПС в базе данных представлена на рис.1.

public class UfpsStatistic : Entity {

[Key]

; Ссылок: О

public override int Id { get; set; } // Первичный коюч ' Ссылок: 10

public int Ufpsld { get; set; } 11 Id УФПС [ForeignKeyO'UfpsId"}]

Ссылок: 4

public virtual REFUFPS Ufps { get; set; } // УФПС

; Ссылок: 5

| public int CountPayment { get; set; } // Кол-во принятых платежей

! Ссылок: 6

; public -Float SumTotal { get; set; } // Сумма платежей

Ссылок: 28

public DateTime Date { get; set; } // Дата

}

Рис. 1. - Модель для хранения собранных данных в базе данных

Сбор данных осуществляется через Api платежной системы «Почта России». На втором шаге полученные данные преобразуются в модель данных (см. рис.1) и записываются в базу данных. Процесс сбора данных представлен на рис.2. На третьем шаге формируется модель, на которой и будет обучаться нейронная сеть (рис.2.) [9].

public class UfpsPaymentAnalysisData {

public -Float Year; // Год public -Float Month; // Месяц public -Float Day; // День

Ссылок: 9

public string Date { get; set; } // Дата

I Ссылок: 4

public string NameFull { get; set; } // Наименование УФПС

Ссылок: 4

public -Float CountPayment { get; set; } // Кол-во платежей

; Ссылок: 4

public -Float SumTotal { get; set; } // Сумма платежей

}

Рис. 2. - Модель данных для прогноза После того, как модель для построения прогноза сформирована -необходимо определить пайплайн обучения нейронной сети с помощью метода ForecastBySsa из ML.NET для прогнозирования временных рядов SSA [4]. Пайплайн представлен на рис.3.

IEstimator<ITransfonmer> forecastEstimator = mlContext.Forecasting.ForecastBySsa(

outputColumnName: nameof(UfpsPaymentCountTimeSeriesPrediction.ForecastedPaymentCountUnits)s

inputColumnName: nameof(UfpsPaymentAnalysisData.CountPayment)}

windowSize:

seriesLength: ufpsStatistics.County trainSize: ufpsStatistics.Count, horizon: lj

confidenceLevel: 0.9Bfj

confidenceLowerBoundColumn: nameof(UfpsPaymentCountTimeSeriesPrediction.ConfidenceLowerBound), confidenceUpperBoundColumn: nameof(UfpsPaymentCountTimeSeriesPrediction.ConfidenceUpperBound)j variableHorlzon: true);

Рис. 3. - Пайплайн прогнозирования модели методом SSA. Необходимо также отметить, что успешная реализация разработанной модели прогнозирования во многом зависит от правильно подобранных

значений параметров. Подробное описание каждого из параметров модели прогнозирования представлено в работе [10]. Так, например, параметр "Размер окна" особенно важен, поскольку он определяет точность сценарной модели путем разложения данных временного ряда на сезонные и шумовые компоненты, а поэтому он был установлен в значение 3 с учетом того, что сезон в рассматриваемых данных меняется каждые 3 месяца. Использование параметров доверительного интервала обеспечивает дополнительный уровень надежности и помогает снизить риски, связанные с чрезмерной зависимостью от прогнозов. Метод ForecastBySsa, который используется для прогнозирования применяет алгоритмы машинного обучения, чтобы автоматически определять параметры модели для прогнозирования. Таким образом, ML.NET Forecast BySsa позволяет прогнозировать собираемость платежей в разных регионах и учитывать сезонность, праздники и выходные дни. Для того, чтобы провести обучение модели на собранных данных о платежах и суммах с УФПС можно использовать метод Fit объекта PredictionEngine [10], который принимает в качестве аргументов наборы данных для обучения и тестирования модели. После обучения можно также провести оценку качества модели, используя для этого различные метрики. После того, как модель обучена и ее качество оценено, её можно использовать для прогнозирования будущих значений о собранных платежах и их суммах с УФПС. Для этого можно использовать метод Predict() [9], который принимает на вход временной ряд, для которого нужно сделать прогноз, и возвращает предсказанные значения на заданный интервал времени. Фактически временной ряд можно сформировать путем получения объекта, реализующего интерфейс IDataView, например, считав массив данных, состоящий из данных модели представленной на рис.2. c помощью метода LoadFromEnumerable() из свойства Data класса MLContext.

Для графического отображения прогноза с наложением реальных данных были использованы графики, построенные с помощью Kendo UI для ASP.NET Core [10]. Графики, построенные с помощью Kendo UI, могут быть полезными при визуализации результатов прогнозирования и оценки точности прогноза. Kendo UI предоставляет различные типы графиков, такие как линейные, столбчатые, круговые и другие, которые могут использоваться для отображения временных рядов и сравнения прогнозных значений с фактическими данными. Например, для прогнозирования количества собранных платежей с УФПС можно построить линейный график, где по оси X будут расположены даты, а по оси Y - количество принятых платежей. Затем целесообразно добавить на этот график две линии: одну для отображения фактических значений собранных платежей, а другую - для отображения прогнозных значений и соответственно сравнить прогноз с фактическими данными для оценки его точности. Так график количества собранных платежей в УФПС по одному из регионов России, за период шести месяцев, представлен на рис.4.

Собираемость платежей, шт

о- --0- -0 -0 -0 -0

О- -0- --9- 0--_^ -0- -н

О^—" ="*" 0-- ----

0 --о- -0- -0

яна '22 фев 22 мар'22 апр'22 май 22 июн'22

— УФПС Самарской оВласти(Верхний диапазон значений) — УФПС Самарской области(Нижний диапазон значений) — УФПС Самарской ойпасти(Прогноз)

— УФПС Самарской ойласти(Реапьные данные)

Рис. 4. - График количества собранных платежей Практическая апробация разработанной и программно реализованной прогнозной модели по данному региону показала: точность модели прогнозирования количества принятых платежей - 95,85%; точность модели

прогнозирования суммы принятых платежей - 90,65%. Полученные результаты позволяют утверждать о высокой эффективности построенной модели прогнозирования. Соответственно, разработанную и программно-реализованную распределённую СОИ, использующую данный метод прогнозирования, можно рекомендовать для практического использования для получения достоверных прогнозов о собранных платежах каждого из УФПС «Почта России».

Литература

1. Голяндина Н.Э. Метод "Гусеница" -SSA: анализ временных рядов: СПб: Университет СПбГУ, 2003 — 87 с.

2. Golyandina, N., Nekrutkin, V., & Zhigljavsky, A. (2017). Singular Spectrum Analysis: A New Tool in Time Series Analysis. Chapman and Hall/CRC — 69 p.

3. Скоба А.Н., Михайлов В.К., Айеш Ахмед Нафеа Айеш. Решение задачи обеспечения оптимальной эффективности функционирования распределенных систем обработки информации // Инженерный вестник Дона. 2021. №6. URL: ivdon.ru/ru/magazine/archive/n6y2021/7053.

4. Чамберс Джеймс, Пэкетт Дэвид, Тиммс Саймон Ч-17 ASP.NET Core. Разработка приложений. — СПб.: Питер, 2018. — 464 с.

5. Wooldridge J.M. Introductory Econometrics: A Modern Approach. South Western: Cengage Learning, 2013. 912 р.

6. Цвиль М.М., Великанова Е.С. Прогнозирование объемов таможенных платежей с использованием фиктивных переменных // Инженерный вестник Дона, 2020, № 3. URL: ivdon.ru/ru/magazine/archive/N4y2020/6401.

7. Мартин Р. М29 Чистая архитектура. Искусство разработки программного обеспечения. — СПб: Питер, 2021. — 352 с.

8. Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем.: Пер. с англ. - М.: 000 "И.Д. Вильямс", 2011. - 448 с.

9. Лебедева И.М., Федорова А.Ю., Макроэкономическое планирование и прогнозирование. Под ред. А.Ю. Федоровой. - СПб: Университет ИТМО, 2016. - 54 с.

10. de la Torre, C., Gandhi, P., & Mukherjee, S. (2020). Hands-On Machine Learning with ML.NET: Build custom machine learning models using C# or F#. Packt Publishing — 296 p.

References

1. Goljandina N.Je. Metod "Gusenica" SSA: analiz vremennyh rjadov [Caterpillar SSA method: Time series analysis]: Ucheb. posobie. SPb: SPbGU, 2000, 87 p.

2. Golyandina, N., Nekrutkin, V., & Zhigljavsky, A. 2017. Singular Spectrum Analysis: A New Tool in Time Series Analysis. Chapman and Hall (CRC), 69 p.

3. Skoba A.N., Mihajlov V.K. Inzhenernyj vestnik Dona, 2021, №6. URL: ivdon.ru/ru/magazine/archive/n6y2021/7053.

4. Chambers Dzhejms, Pjekett Djevid, Timms Sajmon Ch 17 ASP.NET Core. Razrabotka prilozhenij. [ASP.NET Core. Application development], SPb.: Piter, 2018, 464 p.

5. Wooldridge J.M. Introductory Econometrics: A Modern Approach. South Western: Cengage Learning, 2013, 912 р.

6. Csvil' M.M., Velikanova E.S. Inzhenernyj vestnik Dona, 2020, № 3. URL: ivdon.ru/ru/magazine/archive/N4y2020/6401.

7. Martin R. Chistaja arhitektura. Iskusstvo razrabotki programmnogo obespechenija. [Clean architecture. The art of software development], SPb.: Piter, 2021, 352 p.

8. Predmetno-orientirovannoe proektirovanie (DDD): strukturizacija slozhnyh programmnyh sistem. [Subject-oriented design (DDD): structuring of complex software systems]: Per. s angl, M.: 000 "I.D. Vil'jams", 2011, 448 p.

9. Lebedeva I.M., Fedorova A.Ju., Makrojekonomicheskoe planirovanie i prognozirovanie [Macroeconomic planning and forecasting]. Pod red. A.Ju. Fedorovoj, SPb: Universitet ITMO, 2016, 54 p.

10. De la Torre, C., Gandhi, P., & Mukherjee, S. (2020). Hands-On Machine Learning with ML.NET: Build custom machine learning models using C# or F#. Packt Publishing, 296 p.

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