Воспроизвести прогноз ARIMA (Pandas)

Я совсем новичок в модели ARIMA, и у меня возник вопрос, как анализировать график АКФ (функции автокорреляции) по запаздыванию. Правильно ли принять во внимание значение ACF, равное 0,5, что соответствует примерно 450 лагам, а затем установить модель arima на эти значения?

Это мой график:

acf-лаг

и это мой простой код для модели arima:

import from statsmodels.tsa.arima_model import ARIMA

# fit model
model = ARIMA(df['valore'], order=(400,1,0))
model_fit = model.fit(disp=0)
print(model_fit.summary())

# plot residual errors
residuals = DataFrame(model_fit.resid)
residuals.plot()
pyplot.show()
residuals.plot(kind='kde')
pyplot.show()
print(residuals.describe())

Спасибо!

P.S. мою страницу в формате jupyter и данные (csv) можно найти по адресу: github


person Giuseppe Bellisano    schedule 03.12.2018    source источник


Ответы (1)


Теоретически в модель ARIMA можно включить порядка 400. На практике это значение астрономически велико для модели ARIMA (все, что выше 3 или 4, считается необычным в модели ARIMA). Я бы дважды проверил ваши данные, а также дважды проверил, как вы рассчитываете ACF.

Кроме того, порядок p модели ARIMA (p, d, q) обычно определяется с использованием PACF, а не ACF. Вы используете ACF для определения q.

person Alex Kinman    schedule 03.12.2018
comment
- Я ввел свой код и свои данные на github - person Giuseppe Bellisano; 05.12.2018
comment
- на каждый день: x = сумма 5 ценных бумаг с наибольшим приростом + сумма 5 ценных бумаг с наихудшим понижением - на данный момент я не знаю, как рассчитать Partial ACF, но поищу . - как использовать ACF для расчета q? Я основывался на этом источнике: ACF для расчета d Танки - person Giuseppe Bellisano; 05.12.2018