Эта статья была написана Алпарсланом Месри и Джемом ОЗЧЕЛИК.
В этом исследовании мы создадим модель 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. Теперь посмотрим прогноз и фактические значения на графике. Фактические значения будут показаны синей линией, а оценочные значения — красной линией.
Вывод:
Это видно на графике с красной линией, который мы можем описать как результат нашей модели для будущих периодов, и графике с синей линией, который действительно произошел, на выходном изображении. Ситуация, на которую мы можем обратить внимание здесь, можно рассматривать как то, что наша модель прогнозирования не полностью перекрывается с реальными значениями, чтобы делать как можно более последовательные прогнозы, не будучи слишком легкомысленными. Однако важным моментом здесь является то, что, хотя линии не перекрываются в точности, восходящий и нисходящий тренд прогнозируемых значений и реальных значений, зависящие от времени, демонстрируют последовательную закономерность. Это можно считать хорошим результатом с точки зрения предотвращения переобучения.