ARモデルの紹介

Pythonで学ぶ時系列解析

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

AR(1)モデルの数式表現

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

  • 右辺のラグ値が1つのため、以下と呼ばれます:
    • 次数1のARモデル、または
    • AR(1)モデル
  • ARパラメータは $\large \phi$
  • 定常性の条件:$\large -1 \lt \phi \lt 1$
Pythonで学ぶ時系列解析

AR(1)パラメータの解釈

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

  • $\large \phi$ が負:平均回帰
  • $\large \phi$ が正:モメンタム
Pythonで学ぶ時系列解析

AR(1)時系列の比較

  • $\large \phi=0.9$

  • $\large \phi=0.5$

  • $\large \phi=-0.9$

  • $\large \phi=-0.5$

Pythonで学ぶ時系列解析

AR(1)自己相関関数の比較

  • $\large \phi=0.9$

  • $\large \phi=0.5$

  • $\large \phi=-0.9$

  • $\large \phi=-0.5$

Pythonで学ぶ時系列解析

高次ARモデル

  • 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$

  • ...
Pythonで学ぶ時系列解析

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)
Pythonで学ぶ時系列解析

練習しましょう!

Pythonで学ぶ時系列解析

Preparing Video For Download...