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

Понимание данных
Данный набор данных состоит из 6 разных файлов.

  1. поезд
    2. тест
    3. транзакции
    4. магазины
    5. праздники_события
    6. масло

Исследование и анализ различных файлов показало, что данные обучения и теста имеют схожие столбцы (id, date, store_nbr, family, onpromotion), за исключением столбца «продажи», которого нет в данных теста. Опять же, наборы данных транзакций и хранилища имеют общие столбцы для тестирования и обучения наборов данных (дата и store_nbr). Эти столбцы можно использовать в качестве связующего атрибута (PK/FK) для объединения наборов данных.
Id и store_nbr — это уникальные числа для маркировки наших наблюдений. Номер store_nbr определяет магазин, в котором продаются товары.
Продажи — это наша целевая функция, которая показывает денежную стоимость товаров, проданных в этом магазине в этот день. Отрицательные значения означают, что данный конкретный элемент был возвращен.

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

Разработка функций
Чтобы получить дополнительную информацию по дате, мы разбили столбец даты на столбцы «Год», «Месяц», «День», «День недели», «Неделя» и «Квартал». . Это позволит нам агрегировать данные по этим параметрам. Мы также разработали параметры, используя скользящую статистику (среднее значение, медиана, максимум, минимум и стандартное отклонение), функции запаздывания, разницы и сдвига.
Моделирование
Мы построили три модели для прогнозировать продажи с помощью sklearn. Это модели GradientBoostingRegressor, DecisionTreeRegressor и RandomForestRegressor. Для оценки мы использовали среднеквадратичную логарифмическую ошибку (MSLE). Эти модели дают разные результаты. Ниже приведен результат, полученный каждой моделью: