Введение в модели ARIMA

Модели ARIMA в Python

James Fulton

Climate informatics researcher

Повторение: нестационарные временные ряды

Модели ARIMA в Python

Повторение: нестационарные временные ряды

Модели ARIMA в Python

Прогноз для разностного временного ряда

Модели ARIMA в Python

Восстановление исходного ряда после дифференцирования

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast)
Модели ARIMA в Python

Восстановление исходного ряда после дифференцирования

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast) + df.iloc[-1,0]
Модели ARIMA в Python

Восстановление исходного ряда после дифференцирования

Модели ARIMA в Python

Модель ARIMA

 

  • Взять разности
  • Подобрать модель ARMA
  • Интегрировать прогноз

Можно ли избежать такого объёма работы?

Да!

ARIMA — авторегрессионная интегрированная скользящая средняя

Модели ARIMA в Python

Применение модели ARIMA

from statsmodels.tsa.arima.model import ARIMA

model = ARIMA(df, order=(p,d,q))
  • p — число авторегрессионных лагов
  • d — порядок дифференцирования
  • q — число лагов скользящей средней

ARIMA$(p,0,q)$ = ARMA$(p,q)$

Модели ARIMA в Python

Применение модели ARIMA

# Create model
model = ARIMA(df, order=(2,1,1))

# Fit model model.fit()
# Make forecast mean_forecast = results.get_forecast(steps=10).predicted_mean
Модели ARIMA в Python

Применение модели ARIMA

# Make forecast
mean_forecast = results.get_forecast(steps=steps).predicted_mean

Модели ARIMA в Python

Выбор порядка дифференцирования

adf = adfuller(df.iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -2.674
p-value: 0.0784
adf = adfuller(df.diff().dropna().iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -4.978
p-value: 2.44e-05
Модели ARIMA в Python

Выбор порядка дифференцирования

model = ARIMA(df, order=(p,1,q))
Модели ARIMA в Python

Давайте потренируемся!

Модели ARIMA в Python

Preparing Video For Download...