認識 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...