Details

Title: Построение математических моделей для прогнозирования объемов платежей в энергосбытовых компаниях: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators: Потапова Мария Алексеевна
Scientific adviser: Черноруцкий Игорь Георгиевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2022
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: математическая модель; прогнозирование; временной ряд; mathematical model; forecasting; time series
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2022/vr/vr22-2755
Rights: Доступ по паролю из сети Интернет (чтение)
Record key: ru\spstu\vkr\19690

Allowed Actions:

Action 'Read' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: «Построение математических моделей для прогнозирования объемов платежей в энергосбытовых компаниях". Данная работа посвящена анализу и прогнозированию временного ряда, содержащего информацию о суммах платежей клиентов энергосбытовой компании. Задачи, которые решались в ходе исследования:1. Изучить существующие решения для прогнозирования временных рядов;2. Реализовать существующие решения с целью выбора лучшей модели;3. Выбрать модель и решить проблемы с пиками;4. Интегрировать решения в клиент-серверное приложение для прогнозирования объемов платежей энергосбытовых компаний. Работа проведена на основании данных, полученных от энергосбытовой компании за 10 лет (01.01.2012 – 24.11.2021). Были отобраны и изучены 6 различных математических моделей. Каждая из них была реализована на языке Python. Для большинства использовался оконный метод. Проблема с выбросами решалась при помощи выделения «пиковых» дат и построения предсказания для них. В результате проведенной работы после сравнения построенных решений была отобрана математическая модель метода опорных векторов наименьших квадратов (LSSVR). Эта реализация была интегрирована в клиент-серверное приложение при помощи разработки своего сервиса на Python с использованием Flask на основании взаимодействия REST API.

The subject of the graduate qualification work is "Construction of mathematical models for forecasting the volume of payments in power supply companies". The given work is devoted to the analysis and forecasting of a time series comprising information on the amounts of payments made by customers of a power supply company. The research set the following goals:1. Explore existing solutions for time series forecasting;2. Implement existing solutions in order to choose the best model;3. Choose a model and solve problems with peaks;4. Integrate solutions into a client-server application for forecasting the volume of payments of a power supply company.The work was done based on data received from the power supply company for 10 years (01.01.2012 – 11.24.2021).6 different mathematical models were selected and studied. Each of them was implemented in Python. For most, the window method was used. The problem with peaks was solved by separating the "peak" dates and making a prediction for them.As a result of the research, a mathematical model of the least squares support vector machine (LSSVR) was selected after comparing the constructed solutions. This implementation was integrated into a client-server application by developing service in Python using Flask based on REST API interaction.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read
Internet Authorized users SPbPU Read
-> Internet Anonymous

Table of Contents

  • ВВЕДЕНИЕ
  • ГЛАВА 1. АНАЛИЗ ИСХОДНОГО ВРЕМЕННОГО РЯДА
    • 1.1. Используемые инструменты для анализа временного ряда
      • 1.1.1. Plotpy
      • 1.1.2. Matplotlib
      • 1.1.3. Pandas
      • 1.1.4. Statsmodels
    • 1.2. Визуализация временного ряда и его частей
    • 1.3. Распределение исследуемой величины
    • 1.4. Разложение ряда на тренд, сезонность, остаток
    • 1.5. Пики (выбросы) во временном ряду
    • 1.6. Расширенный тест Дики-Фуллера и дифференцирование ряда
  • ГЛАВА 2. СРАВНЕНИЕ И ОПИСАНИЕ МОДЕЛЕЙ
    • 2.1. Используемые инструменты для реализации моделей
      • 2.1.1. SARIMAX
      • 2.1.2. ExponentialSmoothing
      • 2.1.3. Lightgbm
      • 2.1.4. Lssvr
      • 2.1.5. Xgboost
    • 2.2. Обоснование выбора моделей
    • 2.3. Описание моделей
      • 2.3.1. XGBoost (градиентный бустинг деревьев решений)
      • 2.3.2. Усовершенствованный алгоритм XGBoost (LightGBM)
      • 2.3.3. Регрессионное интегрированное скользящее среднее (SARIMA)
      • 2.3.4. Метод опорных векторов наименьших квадратов (LSSVR)
      • 2.3.5. Модель Тейла-Вейджа (аддитивный линейный тренд с сезонностью)
      • 2.3.6. Модель Хольта-Уинтерса (модель с мультипликационной сезонностью периода)
    • 2.4. Полученные результаты и их сравнение
    • 2.5. Решение проблемы с пиками
    • 2.6. Предсказание на будущее
  • ГЛАВА 3. РЕАЛИЗОВАННАЯ СИСТЕМА ПРЕДСКАЗАНИЯ ПЛАТЕЖЕЙ
    • 3.1. Используемые технологии
      • 3.1.1. Java Spring Framework
      • 3.1.2. React
      • 3.1.3. PostgreSQL
      • 3.1.4. REST API
      • 3.1.5. Flask
      • 3.1.6. Docker
      • 3.3. Взаимодействие Python и клиент-серверного приложение
    • 3.4. Примеры работы приложения
  • ЗАКЛЮЧЕНИЕ
  • Список использованных источников
  • Приложение 1. Список использованных иллюстраций
  • Приложение 2. Список использованных таблиц

Usage statistics

stat Access count: 16
Last 30 days: 3
Detailed usage statistics