Estymacja i prognozowanie modelu AR

Analiza szeregów czasowych w Pythonie

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Estymacja modelu AR

  • Estymacja parametrów na podstawie danych (symulowanych)

    from statsmodels.tsa.arima_model import ARMA
    mod = ARMA(data, order=(1,0))
    result = mod.fit()
    
  • ARMA jest przestarzałe i zastąpione przez ARIMA

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

  • Dla ARIMA: order=(p,d,q)
Analiza szeregów czasowych w Pythonie

Estymacja modelu AR

  • Pełne wyniki (prawdziwe $\large \mu=0$ i $\large \phi=0.9$)
    print(result.summary())
    

Analiza szeregów czasowych w Pythonie

Estymacja modelu AR

  • Tylko estymaty $\large \mu$ i $\large \phi$ (prawdziwe $\large \mu=0$ i $\large \phi=0.9$)
    print(result.params)
    
array([-0.03605989,  0.90535667])
Analiza szeregów czasowych w Pythonie

Prognozowanie z użyciem modelu 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()
  • Argumenty funkcji plot_predict()
    • Pierwszy argument to dopasowany model
    • Ustaw alpha=None, aby usunąć przedział ufności
    • Ustaw ax=ax, aby wyświetlić dane i prognozę na tych samych osiach

Analiza szeregów czasowych w Pythonie

Czas na ćwiczenia!

Analiza szeregów czasowych w Pythonie

Preparing Video For Download...