Как вы моделируете розничные продажи с переменной сезонностью в праздничные дни? - PullRequest
0 голосов
/ 03 апреля 2019

Я использую statsmodels в python для прогнозирования еженедельных розничных продаж с набором данных Walmart kaggle.У меня возникают проблемы с достижением стационарности, прежде чем я прохожу через SARIMA.Проблема в том, что Пасха может быть неделями от года к году.Как вы можете моделировать эти колебания в праздничные дни?

Я попытался выполнить поиск по сетке для лучших (p, d, q) (P, D, Q) m параметров.Мой gridsearch возвратил SARIMA (0,1,0) (0,2,0) 52 с AIC 832, но при построении графика он явно ужасно искажен (что ожидается, поскольку мои данные никогда не достигали стационарности с этими преобразованиями).

У кого-нибудь есть советы по использованию SARIMAX с сезонной сезонностью?Я знаю, что пакет R лучше, но я не знаю R, и я надеюсь, что смогу решить это без него.

p, d, q = 0, 1, 0
P, D, Q, m = 0, 2, 0, 52

model = SARIMAX(train11.Weekly_Sales.asfreq('W-FRI'), order=(p,d,q), seasonal_order=(P,D,Q,m),
                trend='n', enforce_stationarity=False, enforce_invertibility=False)
model_fit = model.fit()
model_fit.summary()
==========================================================================================
Dep. Variable:                       Weekly_Sales   No. Observations:                  143
Model:             SARIMAX(0, 1, 0)x(0, 2, 0, 52)   Log Likelihood                -415.101
Date:                            Tue, 02 Apr 2019   AIC                            832.202
Time:                                    21:48:24   BIC                            833.813
Sample:                                02-05-2010   HQIC                           832.770
                                     - 10-26-2012                                         
Covariance Type:                              opg                                         
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
sigma2      2.202e+08   1.77e+07     12.406      0.000    1.85e+08    2.55e+08
===================================================================================
Ljung-Box (Q):                       28.96   Jarque-Bera (JB):                77.77
Prob(Q):                              0.79   Prob(JB):                         0.00
Heteroskedasticity (H):               0.00   Skew:                            -1.44
Prob(H) (two-sided):                  0.00   Kurtosis:                         9.49
===================================================================================

1 Ответ

0 голосов
/ 03 апреля 2019

Самое простое - использовать фиктивные переменные для праздников и специальных мероприятий.SARIMAX позволяет указывать другую объясняющую переменную в exog.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...