2018年11月3日 星期六

時間序列分析-ARIMA package運用

(本篇文章利用Python實作)

繼上一篇利用原始的方法做出資料
再利用迴歸模型來完成建置AR模型
今天來學習更快的方法吧~

首先一樣匯入需要使用的套件


import numpy as np
import pandas as pd

應該對這兩個套件不會感到陌生了吧

接著匯入資料

data = pd.read_excel('hw_USGNP.xls')
data['growth_rate'] = data['Real Gross National Product, Percent Change from Quarter One Year Ago, Quarterly, Seasonally Adjusted']
data = data.drop('Real Gross National Product, Percent Change from Quarter One Year Ago, Quarterly, Seasonally Adjusted', axis=1)
data.head(5)

資料變數名太長 不好閱讀

把它改成growth rate
再把資料印出來看看

接著導入本日的重點啦~

從arima package導入ARMA函數
有需要的同學可以從這邊看到更詳細的敘述喔:
https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima_model.ARIMA.html

from statsmodels.tsa.arima_model import ARMA

接著無須對資料再作什麼多餘的處理

就可以直接建模

model = ARMA(data['growth_rate'], (2,0)).fit()
print(model.summary())

ARMA函數中的第一個參數放的是要被估計的資料

第二個是放ARMA(p,q)
也就是落後期AR(p)和MA(q)的估計值
而這邊要估計的是AR(2) 因此放的是(2,0)
最後把結果印出來看看吧~
(點擊看大圖)

要特別看的是我框起來的地方

是我們利用ARMA函數估出來的值
而p-value則是這個值是否顯著有影響(顯著異於0)
可以看出來都是顯著的

所以今天學到的有:

ARIMA套件中的ARMA函數
讀懂估出來的報表

未來還會繼續分享資料分析的實例給大家囉~

沒有留言:

張貼留言