Оцінювання й прогнозування AR‑моделі

Аналіз часових рядів у Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Оцінювання AR‑моделі

  • Як оцінити параметри за даними (змодельованими)

    from statsmodels.tsa.arima_model import ARMA
    mod = ARMA(data, order=(1,0))
    result = mod.fit()
    
  • ARMA застаріла, її замінила ARIMA

    from statsmodels.tsa.arima.model import ARIMA
    mod = ARIMA(data, order=(1,0,0))
    result = mod.fit()
    
  • Для ARMA: order=(p,q)

  • Для ARIMA: order=(p,d,q)
Аналіз часових рядів у Python

Оцінювання AR‑моделі

  • Повний вивід (істинні $\large \mu=0$ та $\large \phi=0{,}9$)
    print(result.summary())
    

Аналіз часових рядів у Python

Оцінювання AR‑моделі

  • Лише оцінки $\large \mu$ та $\large \phi$ (істинні $\large \mu=0$ та $\large \phi=0{,}9$)
    print(result.params)
    
array([-0.03605989,  0.90535667])
Аналіз часових рядів у Python

Прогнозування з AR‑моделлю

from statsmodels.graphics.tsaplots import plot_predict
fig, ax = plt.subplots()
data.plot(ax=ax)
plot_predict(result, start='2012-09-27', end='2012-10-06', alpha=0.05, ax=ax)
plt.show()
  • Аргументи функції plot_predict()
    • Перший аргумент — підганята модель
    • Встановіть alpha=None, щоб не було довірчого інтервалу
    • Встановіть ax=ax, щоб дані й прогноз були на тих самих осях

Аналіз часових рядів у Python

Давайте потренуємось!

Аналіз часових рядів у Python

Preparing Video For Download...