本章涉及知識點:
1、時間序列分析
2、平穩時間序列
3、白噪聲
4、AR自回歸模型
5、MA滑動平均模型
6、ARMA模型
7、ARIMA模型
8、差分計算
9、相關性分析—協方差
10、相關性分析—Pearson相關系數
11、時間序列相關性分析—ACK和PACK
12、AIC和BIC準則
13、一階自相關檢驗—DW檢驗
14、ARIMA模型的步驟
15、ARIMA模型實戰案例
一、時間序列分析
時間序列:在一段時間T內,按照時間順序測量某個隨機變量的取值序列。即
區別于一般的時間函數為
其中自變量是時間t,表示在f的作用法則下,將自變量t映射為因變量y
而時間序列函數為
其中自變量是Xt的前p個序列值,表示在f的作用法則下,將自變量Xt的前p個序列值映射為因變量Xt
綜上分析可知
(1)對于單值函數f(t),關心的是時間t和實值y的映射關系
(2)對于時間序列Xt,關心的是Xt的前p個序列值和Xt的映射關系
二、平穩時間序列
獨立時間序列:對于{
}均彼此獨立,即任意
都不含有
的信息
穩定時間序列:的信息隱含在其歷史{
}之中
我們需要由歷史來推測未來,則研究的序列對象是穩定時間序列,其必須滿足:
(1)
(2)
(3)
即穩定時間序列滿足:常量的均值、常量的方差、與時間t無關的自協方差
且對于任意序列和
,共同平移k步后的序列得到的序列
和
具有相同的協方差,即
上式稱為協方差結構的平移不變性
對于平穩序列的任意n階自協方差矩陣
任意取一個n維向量a,則
則證明平穩序列的任意n階自協方差矩陣是非負定矩陣
三、白噪聲
白噪聲服從高斯分布,記時間序列對于任意i和j,如果滿足
?
則時間序列是一個白噪聲,記為
。
我們一般用白噪聲來驗證原始時間序列和擬合時間序列的殘差序列
即原始時間序列為,擬合時間序列為
,則殘差序列
為:
當
近似的滿足白噪聲,則時間序列模型很好的捕捉了自相關性
例如:對于隨機變量U1,U2,...獨立分布且都在(0,2pi)上均勻分布,假設時間序列為:
則分別計算和
,得
則時間序列是獨立的
正態白噪聲
四、AR自回歸模型
對于任意一個穩定時間序列,當滿足如下關系:
為一個p階的自回歸模型,記為
模型
模型的意義為:
(1)任意一個t時刻的序列值 = t時刻的前p個序列值的線性組合 + t時刻的隨機誤差
(2)以歷史序列為自變量,建立線性模型來預測未來
五、MA滑動平均模型
對于任意一個穩定時間序列,由AR模型得到自回歸系數的估計為
記是
的殘差序列,即
則當滿足如下關系:
為一個q階的滑動平均模型,記為
模型,其中
滿足
白噪聲
模型的含義為:
(1)任意一個t時刻的序列值 = t時刻的前q個序列的白噪聲累加和的線性組合 + t時刻的隨機誤差?
(2)以歷史白噪聲為自變量,建立線性模型來預測未來
六、ARMA模型
將一個p階的自回歸模型和一個q階的滑動平均模型組合在一起,便得到了一個階數為(p,q)的自回歸滑動平均模型,記為模型,即
模型的意義為:
(1)將AR和MA模型的優勢線性互補起來
(2)以歷史序列和歷史白噪聲序列為自變量,建立線性模型來預測未來
七、ARIMA模型
ARIMA模型:對時間序列進行d次差分得到一個新的差分時間序列
,再對該序列使用ARMA模型,為此ARIMA模型比ARMA模型多了一層思想:差分
八、差分計算
對于任意一個時間序列進行d次差分,設
是t時刻
的差分值
當d=0時,
當d=1時,
當d=2時,
一般的,一個非平穩序列經過d次差分后,可以轉化為平穩時間序列
九、相關性分析—協方差
假設兩個隨機變量X和Y滿足未知的概率分布,則我們可以使用協方差來衡量X和Y之間的相關性
而在實際應用中,由于整體的概率分布未知(無法計算出數學期望),則用X和Y的觀測值來計算樣本的協方差,其中和
分別為X和Y的均值
當,X和Y正相關,有相同的變化趨勢
當,X和Y負相關,有相反的變化趨勢
當,X和Y沒有線性關系
用協方差描述隨機變量的相關性,只能做到定性分析,無法做到定量分析,比如:一組身高和體重的協方差為205.6,這個數值是一個正數,只能說明身高體重具有正相關型,而并沒有給出其相關性大小的判斷標準。
因此協方差具有量綱效應
十、相關性分析—Pearson相關系數
為了對隨機變量的相關性做定量分析,需要消除協方差之間的量綱,為此引入Pearson相關系數
通過X和Y的標準差來歸一化X和Y的協方差,且
當,X和Y正相關
當,X和Y負相關
當,X和Y沒有線性關系
當,X和Y具有一定程度的線性關系
十一、時間序列相關性分析—ACK和PACK
由于時間序列的自變量是一維的,則使用Pearson相關系數判斷其相關性時,需要找到除自身序列值外的一個變量與之比較關系,為此時間序列有如下特點:
時間序列只能比較自己和自己滯后的序列值,即形成自相關關系
ACK自相關系數:度量變量過去的行為對變量現在的影響,即
ACK表示:歷史序列和當前序列
之間的相關性
PACK偏自相關系數:計算某一個變量對另一個變量的相關程度時,把其他變量視為常數
PACK表示:計算時間序列對
的相關性影響,需要排除k-1個(
)中間變量的影響
十二、AIC和BIC準則
AIC和BIC準則可以輔助量化ARMA模型的定階,通過最小化AIC和BIC指標來搜索出模型的最優階數p和q
AIC準則:全稱是最小化信息量準則,定義為
其中k為模型的階數,L為模型的極大似然函數
AIC準則有一定的缺陷:即樣本容量很大時,k的懲罰因子一直是常數2,與樣本容量沒有關系,這樣會導致AIC增大
BIC準則:全稱是貝葉斯信息準則,定義為
其中n為樣本容量
BIC很好的彌補了AIC的不足,將樣本容量n關聯到k的懲罰因子中
十三、一階自相關檢驗—DW檢驗
由ACK的定義
我們設,
,則構造統計量DW為:
分析DW,當n非常大時,有,則
DW檢驗有以下特點:
(1)DW檢驗僅適用于一階自相關的檢驗
(2)如果不存在一階自相關,一般也不存在高階序列相關
(3)實際應用中,對于序列相關問題一般只進行DW檢驗
由ACK(1)的取值來決定DW的取值情況:
當ACK(1)=1,說明相關變量組存在一階正相關,DW=0
當ACK(1)=-1,說明相關變量組存在一階負相關,DW=4
當ACK(1)=0,說明相關變量組完全不相關,DW=2
十四、ARIMA模型的步驟
通過上述知識點,我們可以歸納出ARIMA模型的步驟為:
(1)獲取觀測的時間序列,檢驗序列的平穩性
(2)縮小序列值域,一般取對數序列
(3)對于非平穩序列,通過d次差分運算轉化為穩定序列
(4)ADF單根檢驗,觀察p-value值是否小于5%
(5)模型定階:對平穩時間序列分別求自相關系數ACF和偏自相關系數PACF,通過AIC、BIC準則得到最佳的階數p和q
(6)模型訓練:通過(p,d,q)階數訓練ARIMA模型,學習到殘差序列
(7)模型檢驗:殘差序列是否滿足白噪聲、DW檢驗一階自相關性、觀察殘差序列擬合原始殘差序列效果
(8)模型測試:殘差序列逆向還原擬合時間序列,殘差序列交叉驗證測試集
十五、ARIMA模型實戰案例
setp1:獲取時間序列樣本集
樣本數據為1949年1月到1960年12月每月的乘客數量
我們通過原始序列的滑動均值和方差,觀察其穩定性
可以看到原始序列的滑動均值/方差都有逐漸增大的趨勢,該序列不穩定
setp2:取對數和一階差分,通過滑動均值和方差、以及ADF單根檢驗差分序列是否滿足穩定性
可以看到,差分后滑動均值/方差逐漸趨于平穩,P值小于5%,差分序列是穩定的
setp3:模型定階,畫出ACF和PACF的圖像
上下兩條灰線之間是置信區間
非統計學專業出身,肉眼定階法缺乏經驗。所以在階數和數據量不大的場景下,可以選擇暴力定階法,通過遍歷可能的階數,計算ACK和PACK對應于AIC和BIC準則下的最小值,作為最優階數p和q的參考
上述選出基于BIC準則下最優參數(p,q)=(10,7)
setp4:訓練ARIMA模型,即ARIMA(10,1,7),得到模型和殘差序列
setp5:檢驗模型學習效果
(1)殘差序列是否滿足白噪聲—qq圖
qq圖的x軸表示正態分布分位數,y軸為樣本分位數,可以看到殘差序列基本位于一條直線上,即滿足白噪聲
(2)DW檢測一階相關性
(3)觀察學習到的差分序列擬合效果
setp6:模型測試效果
(1)殘差序列逆向還原擬合時間序列
(2)殘差序列交叉驗證測試集
實驗結果可以看到,隨著時間的推移,模型的擬合效果和預測效果較為理想
案例代碼見:時間序列模型:ARIMA