Добавьте дополнительные переменные в качестве exog в прогнозирование временных рядов SARIMAX - PullRequest
0 голосов
/ 04 февраля 2020

Допустим, мне нужно прогнозировать TPV / продажи в месяц, которые будут зависеть от Черной пятницы, Кибер-понедельника, Рождества и других кампаний. Я добавляю все эти 4 переменные в фрейм данных и включаю их в «экзог», например ниже

mod = sm.tsa.statespace.SARIMAX (Y, order = param, season_order = param_seasonal, exog = exog_var, inspece_stationarity = False, принудительная_инвертируемость = False)

Мой вопрос: как сделать мы добавляем значения для этих 4 переменных exog для будущих дат ?? Если я добавлю эти 4 переменные и оставлю столбец «TPV / sales» пустым. Он не предсказывает эти периоды времени и выводит «nan»

Пожалуйста, помогите мне понять, как добавить переменные exog для будущих дат и как прогнозировать переменную Y?

1 Ответ

0 голосов
/ 04 февраля 2020

Способ анализа структур statsmodels состоит из следующих шагов:

  1. Создайте модель для описания ваших данных, например:

    mod = sm.tsa.SARIMAX(endog_training, order=(1, 0, 0), exog=exog_training)
    
  2. Установите параметры вашей модели, например:

    res = mod.fit()
    
  3. Выполните анализ после оценки.

    а. Например, вы можете проверить установленные параметры, итоговый вывод и т. Д. c, например:

    print(res.summary())
    

    b. Или, как и в вашем случае, вы можете выполнить прогнозирование вне выборки, например:

    forecast = res.forecast(nsteps, exog=exog_test)
    

Таким образом, вы хотите включить только данные обучения на этапе построения модели. , Если вы хотите прогнозировать новые периоды с использованием значений exog вне выборки, вы делаете это с помощью метода forecast объекта результатов.

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