Skip to content

IWillBurn/analyse-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

analyse-store

Прогнозирование продаж товаров: классические и современные методы

Этот репозиторий содержит решения для прогнозирования продаж товаров с использованием различных методов временных рядов и машинного обучения. Больше про особенности функций и структуру можно прочитать в отчётах.

📝 Описание проекта

Проект решает задачу прогнозирования продаж товаров на 7, 30, 90 дней с использованием:

  • Классических методов временных рядов (SARIMA, Exponential Smoothing и др.)
  • Современных методов машинного обучения (CatBoost)
  • Возможности сохранения и загрузки обученных моделей

Современные методы

  1. CatBoost - градиентный бустинг с категориальными фичами

Особенности:

  • Поддержка exog-фич (в некоторых моделях)
  • Сохранение и загрузка моделей
  • Различные метрики оценки качества
  • Визуализация предсказаний

📂 Структура репозитория

├── models/                     # Сохранённые модели catboost  
├── reports/                    # Jupyter-ноутбуки с анализом  
│├──  report_classic.ipynb          # Весь pipline для классических моделей  
│├──  report_gb.ipynb               # Весь pipline для catboost  
│├──  report_all.ipynb              # Весь pipline для всех моделей  
│├──  report_load.ipynb             # Пример инференса  
├── results/                    # Результаты анализа  
├── solution/                   # Решение  
│├──  analyse/                      # Модуль с инструментами для анализа  
│├──  models/                       # Модуль с моделями  
││├──  catboost/                        # Модель на основе Сatboost
││├──  exponential_smoothing/           # Модель на основе Exponential Smoothing
││├──  fourier/                         # Модель на основе разложение в ряд Фурье
││├──  sarimax/                         # Модель на основе SARIMAX
││├──  unobsorved_components/           # Модель на основе Unobsorved Components 
│├──  preprocessing/                # Модуль с инструментами для препроцессинга
│├──  scoring/                      # Модуль с инструментами для скоринга
│├──  transformation/               # Модуль с инструментами для преобразования данных  
│├──  utils/                        # Модуль с вспомогательными инструментами  
│├──  visualizing/                  # Модуль с инструментами для визуализации данных 
├── source/                     # Исходные данные и задания  

🚀 Использование

  1. Установите зависимости:
pip install -r requirements.txt
  1. Запустите ноутбуки из /reports

📈 Результаты

Для классических методов:

SARIMAX показал лучшие результаты (>50% случаев).

В целом:

CatBoost показывает себя лучше всех остальных моделей. Сводные таблицы с метриками по всем моделям и все товарам можно посмотреть здесь.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors