Поиск по сетке для автоматического выбора модели заказа SARIMAX в python statsmodels

#python #time-series #statsmodels

#python #временные ряды #statsmodels

Вопрос:

В настоящее время я пишу функцию для выполнения поиска по сетке для порядка модели SARIMAX: (p, q, d) X (P, Q, D, s). Тем не менее, я обычно получаю следующие типы ошибок с настройками по умолчанию в statsmodels.tsa.SARIMAX() при установке:

 ValueError: Non-stationary starting autoregressive parameters found with `enforce_stationarity` set to True.
  

или

 ValueError: non-invertible starting MA parameters found with `enforce_invertibility` set to True.
  

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

Можно ли ослабить аргументы enforce_stationarity и enforce_invertibility, или это приведет к плохим моделям?

Ответ №1:

Это то, что я сделал в for цикле, где я выполняю поиск по сетке:

 for ...:
    try:
        model = smt.SARIMAX(...)
        result = model.fit()
        ...
    except:
        continue
  

Таким образом, вы пропустите нестационарные или необратимые модели.