Три вопроса ARIMA - PullRequest
       11

Три вопроса ARIMA

0 голосов
/ 20 октября 2018

Я изучаю алгоритм ARIMA и столкнулся с несколькими проблемами.Пожалуйста, ответьте на следующие вопросы.Используемая реализация ARIMA взята из statesmodel.tsa.

Q1.Может ли алгоритм ARIMA быть настроен так, чтобы в любом случае делать прогнозы вместо остановки, когда он обнаруживает, что коэффициенты AR не являются стационарными.У меня есть следующий код:

history = [x for x in train]
for tt in test.index:
    t=datetime.date(tt)
    # fit model
    model = ARIMA(history, order=(1,1,1))
    model_fit = model.fit()
    # one step forecast
    yhat = model_fit.forecast()[0]
    # store forecast and ob
    predictions.append(yhat)
    history.append(test[t])

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

ValueError: The computed initial AR coefficients are not stationary. You should induce stationarity, choose a different model order, or you can pass your own start_params. 

Q2: Как следует обрабатывать данные временного ряда, которые сначала имеют увеличивающиеся значения, а затем уменьшаются?

Q3: Затем я реализовалПоиск по сетке, чтобы сначала найти лучшие (p, d, q) параметры, используя данные обучения.Затем этот набор параметров используется в ARIMA для прогнозирования данных в тестовом наборе.Однако, когда данные в наборе тестов имеют разные свойства, ARIMA также останавливается.Например, с одним набором данных я получил (0, 0, 2) из ​​данных обучения.Но, используя этот набор параметров, я получил следующее сообщение об ошибке, когда оно использовалось для прогнозирования набора тестов.

ValueError: The computed initial MA coefficients are not invertible. You should induce invertibility, choose a different model order, or you can pass your own start_params.

Каковы рекомендуемые подходы к решению проблем такого типа?

...