Wprowadzenie do modelu AR

Analiza szeregów czasowych w Pythonie

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Opis matematyczny modelu AR(1)

$\large \quad \quad \quad \quad R_t \quad \ \ = \quad \mu \quad + \quad \phi \quad R_{t-1} \quad \ + \quad \epsilon_t$

  • Ponieważ po prawej stronie jest tylko jedna wartość opóźniona, model ten nazywamy:
    • modelem AR rzędu 1 lub
    • modelem AR(1)
  • Parametr AR to $\large \phi$
  • Warunek stacjonarności: $\large -1 \lt \phi \lt 1$
Analiza szeregów czasowych w Pythonie

Interpretacja parametru AR(1)

$\large \quad \quad \quad \quad R_t \quad \ \ = \quad \mu \quad + \quad \phi \quad R_{t-1} \quad \ + \quad \epsilon_t$

  • Ujemne $\large \phi$: powrót do średniej
  • Dodatnie $\large \phi$: momentum
Analiza szeregów czasowych w Pythonie

Porównanie szeregów czasowych AR(1)

  • $\large \phi=0.9$

  • $\large \phi=0.5$

  • $\large \phi=-0.9$

  • $\large \phi=-0.5$

Analiza szeregów czasowych w Pythonie

Porównanie funkcji autokorelacji AR(1)

  • $\large \phi=0.9$

  • $\large \phi=0.5$

  • $\large \phi=-0.9$

  • $\large \phi=-0.5$

Analiza szeregów czasowych w Pythonie

Modele AR wyższego rzędu

  • AR(1)

$\large \quad \quad R_t = \mu + \phi_1 R_{t-1} + \epsilon_t$

  • AR(2)

$\large \quad \quad R_t = \mu + \phi_1 R_{t-1} + \phi_2 R_{t-2} + \epsilon_t$

  • AR(3)

$\large \quad \quad R_t = \mu + \phi_1 R_{t-1} + \phi_2 R_{t-2} + \phi_3 R_{t-3} + \epsilon_t$

  • ...
Analiza szeregów czasowych w Pythonie

Symulacja procesu AR

from statsmodels.tsa.arima_process import ArmaProcess
ar = np.array([1, -0.9])
ma = np.array([1])
AR_object = ArmaProcess(ar, ma)
simulated_data = AR_object.generate_sample(nsample=1000)
plt.plot(simulated_data)
Analiza szeregów czasowych w Pythonie

Czas na ćwiczenia!

Analiza szeregów czasowych w Pythonie

Preparing Video For Download...