1. Введение

Прогнозирование временных рядов — это мощный метод, используемый для прогнозирования будущих значений на основе исторических данных с временным компонентом. В шумном мире розничной торговли точные прогнозы продаж могут означать разницу между успехом и стагнацией. Представьте себе, что у вас есть возможность прогнозировать потребительский спрос, оптимизировать запасы и точно планировать рекламные акции. Это история о том, как я приступил к проекту прогнозирования временных рядов, погрузившись с головой в данные корпорации Favorita, известной продуктовой розничной сети в Эквадоре.

1.1. Цели

Мое путешествие началось с двойной миссии:

я. Unearth Insights: я стремился раскрыть секреты, скрытые в данных о продажах магазина Favorita. Это включало в себя углубление в такие особенности, как расположение магазинов, семейства продуктов, рекламные акции и данные о продажах. Моя цель состояла в том, чтобы предоставить компании полезную информацию для принятия стратегических решений.

II. Прогнозирование продаж в магазине. Суть моего путешествия заключалась в построении надежной модели прогнозирования временных рядов. Эта модель позволит точно прогнозировать объемы продаж различных семейств продуктов в разных магазинах Favorita. Успешный результат может революционизировать управление запасами, стратегии продвижения и общую эффективность продаж.

1.2. Методология

Руководствуясь этим амбициозным видением, моя методология сформировалась:

а). Исследование данных

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

б). Подготовка данных

Каждый моряк знает о важности мореходного судна. Точно так же данные должны быть подготовлены и готовы к дальнейшему путешествию. Отсутствующие значения были исправлены, категориальные переменные закодированы, а новые функции созданы с особой тщательностью. Вменение, масштабирование и однократное кодирование были инструментами в моем наборе инструментов, помогающими превратить данные в надежного компаньона.

в). Анализ временных рядов

Данные говорили на своем собственном языке — времени. Тенденции сменяли друг друга, времена года рисовали свои узоры, а выбросы время от времени производили фурор. Мой анализ углубился в эту временную область, распутывая структуру данных временных рядов. На этом этапе были обнаружены скрытые истории эволюции продаж с течением времени.

г). Выбор модели и обучение

Выбор подходящего судна для экспедиции был критическим выбором. Каждая модель, от линейной регрессии до случайных лесов, обладала уникальными преимуществами. Мой путь привел меня к выбору модели, где я использовал мощь таких алгоритмов, как ARIMA и SARIMA. Помимо чистых данных, я даже учитывал внешние факторы, такие как рекламные акции, праздники и цены на нефть. Они были компасом, направляющим прогноз в контексте реального мира.

д). Оценка модели

По ходу экспедиции я прокладывал курс, оценивая работу моделей. Моими путеводными звездами были средняя абсолютная ошибка, среднеквадратическая ошибка и средняя абсолютная ошибка в процентах. Эти метрики осветили путь к самой точной и надежной модели прогнозирования.

е). Развертывание модели и прогнозирование

Когда модель была настроена и готова, пришло время отправиться в неизведанные воды прогнозов будущего. Выбранная мной модель заняла центральное место, делая прогнозы для еще невиданных периодов времени. Настоящая проверка заключалась в том, насколько хорошо он мог передать пляску продаж за горизонтом.

1.3. Настройка сцены

Мой корабль не был бы полным без правильных инструментов. Инсталляциями и импортами я превратил чистый холст в сплошную колоду:

1.4. Отлив: загрузка данных

Так же, как кораблю нужны припасы, мое путешествие основывалось на данных из нескольких источников. Базы данных SQL дали сокровища в виде цен на нефть (oil_df), праздничных событий (holidays_events_df) и сведений о магазине (stores_df):

1.5. Суть квеста: раскрытие наборов данных

Ни одна экспедиция не обходится без груза, а мое судно было забито наборами данных. Набор данных поезда содержал ключи к раскрытию закономерностей продаж, в то время как набор тестовых данных представлял собой проблему прогнозирования, поскольку он не содержал целевого столбца «продажи».

Набор данных о транзакциях был еще одним набором идей:

1.6. Навигация в неизвестном: вопросы и гипотезы

У каждого исследователя есть вопросы и гипотезы, которыми он руководствуется в своем путешествии. Мое путешествие ничем не отличалось:

Гипотеза:

Нулевая гипотеза (H0):рекламная деятельность, цены на нефть и праздники/события не оказывают существенного влияния на продажи в магазинах корпорации Favorita.

Альтернативная гипотеза (H1). Рекламные акции, цены на нефть и праздники/события оказывают значительное влияние на продажи в магазинах корпорации Favorita.

Вопросы:

  1. Является ли набор данных о поездах полным и охватывает все необходимые даты?
  2. На какие даты приходятся самые высокие и самые низкие продажи каждый год?
  3. Как землетрясение повлияло на продажи?
  4. Можем ли мы выделить отдельные группы магазинов с различными моделями продаж?
  5. Влияет ли действие рекламных акций, цен на нефть и праздников на продажи?
  6. Какие истории лежат в основе даты и ее извлеченных особенностей?
  7. Показывают ли определенные семейства продуктов превосходные показатели продаж?
  8. Как изменяется тенденция продаж в зависимости от количества магазинов?

1.7. Отправление в путешествие

Итак, моя экспедиция в области прогнозирования временных рядов отправилась в плавание. Имея под рукой наборы данных и направляя меня компасом вопросов, я отважился погрузиться в неизведанные воды анализа данных и построения моделей. Каждая строка кода, каждая обнаруженная информация были на шаг ближе к разгадке истории продаж в магазине для корпорации Favorita. Оставайтесь с нами, пока мы отправляемся в это захватывающее путешествие, путешествуя по морям данных, чтобы открыть будущее успеха розничной компании.

2. Исследовательский анализ данных (EDA)

EDA необходим для понимания основных закономерностей, тенденций и сезонности данных. Мы визуализируем временные ряды продаж, изучаем сезонные закономерности и выявляем любые аномалии или выбросы.

3. Разработка функций

Разработка признаков играет решающую роль в повышении производительности модели. Мы извлекаем соответствующие компоненты даты, классифицируем продукты по значимым группам и кодируем категориальные переменные, используя такие методы, как однократное кодирование.

4. Разделение данных

Данные временных рядов требуют другого подхода к разбиению набора данных. Мы используем хронологическое разбиение, беря данные за более ранние годы для обучения и более поздние годы для тестирования.

5: Выбор модели и оценка

В этом разделе мы реализуем несколько моделей прогнозирования временных рядов и оцениваем их эффективность с использованием таких показателей, как среднеквадратическая логарифмическая ошибка (RMSLE), среднеквадратическая ошибка (RMSE), среднеквадратическая ошибка (MSE) и средняя абсолютная ошибка (MAE). . Модели, которые мы исследуем, включают:

  1. Авторегрессионное интегрированное скользящее среднее (ARIMA)
  2. Сезонная авторегрессионная интегрированная скользящая средняя (SARIMA)
  3. Линейная регрессия
  4. Случайный лесной регрессор
  5. Регрессор повышения градиента

6. Сравнение и интерпретация моделей

После оценки каждой модели мы сравниваем их результаты и определяем наиболее эффективную модель. Мы интерпретируем коэффициенты модели (где применимо), чтобы получить представление о факторах, влияющих на продажи в магазине.

7. Заключение

Прогнозирование временных рядов является ценным инструментом для прогнозирования продаж в магазине и других явлений, зависящих от времени. В рамках этого проекта мы продемонстрировали весь процесс прогнозирования временных рядов, от предварительной обработки данных до оценки модели. Понимая сильные и слабые стороны различных моделей, мы можем делать более точные прогнозы и принимать решения на основе данных для корпорации Favorita.

В заключение, эта статья представляет собой исчерпывающее руководство по прогнозированию временных рядов с практическими примерами и фрагментами кода. Я надеюсь, что вы найдете эту статью полезной в своих собственных проектах по прогнозированию временных рядов. Удачных прогнозов!