Эта статья была написана Алпарсланом Месри и Джемом ОЗЧЕЛИК.

В этом исследовании мы создадим модель ARIMA для прогнозирования будущих объемов продаж на рынке с использованием Python.

Требуемые библиотеки;

На этом этапе мы загрузили данные.

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

Во время цикла for и последующего процесса мы редактировали данные в столбце «Месяц».

Теперь наши данные о дате стали такими:

Мы упростили название столбца, показывающего продажи, и присвоили индексу столбец Месяц.

Мы нарисовали график, чтобы увидеть распределение продаж:

Статистический тест

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

Пока достаточно просто взглянуть на значение p.
Если P ‹0,05; Данные стационарные.
Если p› 0,05; Данные не являются стационарными.

Вывод:

Мы видим, что наши данные не являются стационарными. Чтобы сделать эти данные стационарными, нам нужно указать значение «d» модели ARIMA 1.

Модель ARIMA

При создании модели ARIMA задаются соответственно 3 параметра; р, д и к.

p: На сколько шагов вперед значения в момент времени x(t) будут учитываться в процессе оценки, q: На сколько шагов назад ошибка оценки в момент времени x(t) будет подвергнута скользящему среднему значению со значениями, d: степень разность взятия, чтобы сделать данные стационарными средствами.

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

Вывод:

Функция предоставила параметры ARIMA (1,1,2) для получения наилучшего результата.

ARIMA (1,1,2) означает, что вы определяете некоторую переменную отклика (Y), комбинируя авторегрессионную модель 1-го порядка и модель скользящего среднего 2-го порядка.

Разделение набора данных на тестовый и обучающий.

Установка модели ARIMA:

Вывод:

СКО

Мы сравнили фактические значения с оценочными значениями под рукой. Сумма ошибки RMSE составила 90 986. Теперь посмотрим прогноз и фактические значения на графике. Фактические значения будут показаны синей линией, а оценочные значения — красной линией.

Вывод:

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