估計與預測 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() 函式的引數
    • 第 1 個引數是已配適的模型
    • 設定 alpha=None 表示不顯示信賴區間
    • 設定 ax=ax 可在同一座標軸上繪製資料與預測

Python 中的時間序列分析

一起來練習吧!

Python 中的時間序列分析

Preparing Video For Download...