SARIMA (statsmodels) дает плохие прогнозы на тестовых данных: как улучшить модель?

Для временного ряда из Яндекс радар (https://radar.yandex.ru/search) я хочу построить модель SARIMA. Датасет выглядит следующим образом:

Время Views
2015-01-30 117567557
2015-01-31 100875949
2015-02-01 110401452
2015-02-02 128047549
2015-02-03 126892621
  1. временной ряд не является стационарным
  2. частота данных дневная
  3. пропусков нет

параметры для модели нашел при помощи auto_arima из pmdarima. order = (1,1,1) seasonal_order = (2,0,1,7)

y_train = train_data['Views']
y_test = test_data['Views']

model = sm.tsa.statespace.SARIMAX(y_train, order = (1,1,1),seasonal_order = (2,0,1,7))
            model_fit = model.fit()
            forecast = model_fit.predict(start=0, end=len(y_train) + len(y_test))
            print(forecast)
            plot(forecast, y_train, y_test, name.upper())

Вопрос - правильно ли я построил модель, потому что график на тестовой части выглядит плохо. График SARIMA


Ответы (1 шт):

Автор решения: user704615

Мои значения временного ряда исчислялись в десятках миллионах и поэтому бинарные признаки были незначимы. После применения StandardScaler значения варьировались 0 +-3. После этого модель учитывает сезонность и показывает очень не плохой результат. Модель после скалирования

→ Ссылка