24.時間序列---ARIMA模型


(一)Arima模型

時間序列建模基本步驟

  • 獲取被觀測系統時間序列數據;
  • 對數據繪圖,觀測是否為平穩時間序列;對於非平穩時間序列要先進行d階差分運算,化為平穩時間序列;
  • 經過第二步處理,已經得到平穩時間序列。要對平穩時間序列分別求得其自相關系數ACF 和偏自相關系數PACF ,通過對自相關圖和偏自相關圖的分析,得到最佳的階層 p 和階數 q
  • 由以上得到的d、q、p,得到ARIMA模型。然后開始對得到的模型進行模型檢驗

一、時間序列平穩性

1.判斷是否平穩

  平穩性就是要求經由樣本時間序列所得到的擬合曲線在未來一段時間內仍能順着現有的形態慣性地延續下去。平穩性要求序列的均值和方差不發生明顯變化

  • 嚴平穩:嚴平穩表示的分布不隨時間的改變而改變。如白噪聲(正太),無論怎么取,期望都是0,方差為1
  • 寬平穩:期望與相關系數(依賴性)不變。未來某時刻的t的值Xt要依賴於它的過去信息,所以需要依賴性。這種依賴性不能有明顯的變化。

三種方法:

(1)時序圖檢驗
(2)自相關系數和偏相關系數
(3)單位根檢驗

如果是不平穩,那就需要將其轉成平穩,就要用到差分法。

2.差分法

使用差分法可以使得數據更平穩,常用方法:一階差分法和二階差分法

3. 純隨機性檢驗

  純隨機序列,又稱白噪聲序列,序列的各項數值之間沒有任何相關關系,白噪聲序列是沒有信息可提取的平穩序列。對於平穩非白噪聲序列,均值和方差是常數。通常是建立一個線性模型來擬合該序列的發展,借此提取該序列的有用信息,ARMA模型是最常用的平穩序列擬合模型。

二、模型

1. 自回歸模型AR

  自回歸模型描述當前值與歷史值之間的關系,用變量自身的歷史數據對自身進行預測。自回歸模型必須滿足平穩性的要求。

  自回歸模型首先需要確定一個階數p,表示用幾期的歷史值來預測當前值。p階自回歸模型的公式定義為:

  上式中yt是當前值,u是常數項,ri是自相關系數,et是誤差。

 

自回歸模型的限制:

(1)自回歸模型是用自身的數據進行預測;

(2)時間序列數據必須具有平穩性;

(3)自回歸只適用於預測與自身前期相關的現象。

 

2. 移動平均模型MA

   移動平均模型關注的是自回歸模型中的誤差項的累加,q階自回歸過程的公式為:

  移動平均法能有效地消除預測中的隨機波動

 

3. 自回歸移動平均模型ARMA

   自回歸模型AR和移動平均模型MA相結合,我們就得到了自回歸移動平均模型ARMA(p,q),計算公式如下:

 

4. 差分自回歸移動平均模型ARIMA

 建立ARIMA模型一般有三個階段,分別是模型識別和定階、參數估計和模型檢驗。

 

三、平穩時間序列建模

  某個時間序列經過預處理,被判定位平穩非白噪聲序列,就可以進行時間序列建模。

(1)模型識別和定階

  模型識別和定階問題,主要是確定p,d,q三個參數,差分的階數d一般通過觀察圖示,1階或2階即可。這里我們主要介紹p和q的確定,我們首先介紹兩個函數。

【1】自相關函數ACF(autocorrelation function)

  自相關函數ACF描述的是時間序列觀察值與其過去的觀察值之間的線性相關性

公式如下:

  其中k代表滯后期數,如果k=2,則表示yt和yt-2

 

【2】偏自相關函數PACF(partial autocorrelation function)

  偏自相關函數PACF描述的是在給定中間預測值的條件下,時間序列觀測值與其過去的觀測值之間的線性相關性。

舉例:假設k=3,那我們描述的是yt和yt-3之間的相關性,但是這個相關性還受到yt-1和yt-2的影響,PACF剔除了這個影響,而ACF包含這個影響。

【3】拖尾和截尾

  拖尾序列以指數率單調遞減或震盪衰減,而截尾指序列從某個時點變得非常小

出現以下情況,通常視為(偏)自相關系數拖尾

1)如果有超過5%的樣本(偏)自相關系數都落入2倍標准差范圍之外

2)或者是由顯著非0的(偏)自相關系數衰減為小值波動的過程比較緩慢或非常連續。

 

出現以下情況,通常視為(偏)自相關系數d階截尾

1)在最初的d階明顯大於2倍標准差范圍;

2)之后幾乎95%的(偏)自相關系數都落在2倍標准差范圍以內;

3)且由非零自相關系數衰減為在0附近小值波動的過程非常突然。

【4】p,q階數的確定

  根據剛才判定截尾和拖尾的准則,p和q的確定基於如下的規則。

  根據不同的截尾和拖尾的情況,我們可以選擇AR模型,也可以選擇MA模型,當然也可以選擇ARIMA模型。

(2)參數估計

  通過拖尾和截尾對模型進行定階的方法,往往具有很強的主觀性。回想我們之前在參數估計的時候是怎么做的,不就是損失和正則項的加權么?我們這里能不能結合最終的預測誤差來確定p,q的階數呢?在相同的預測誤差情況下,根據奧卡姆剃刀准則,模型是越簡單越好的。那么,平衡預測誤差和參數個數,我們可以根據信息准則函數法,來確定模型的階數。預測誤差通常用平方誤差即殘差平方和來表示。

常用的信息准則函數法有下面幾種:

AIC准則

  AIC准則全稱為全稱是最小化信息量准則(Akaike Information Criterion),計算公式如下:
  AIC = 2 *(模型參數的個數)-2ln(模型的極大似然函數)

BIC准則

  AIC准則存在一定的不足之處。當樣本容量很大時,在AIC准則中擬合誤差提供的信息就要受到樣本容量的放大,而參數個數的懲罰因子卻和樣本容量沒關系(一直是2),因此當樣本容量很大時,使用AIC准則選擇的模型不收斂與真實模型,它通常比真實模型所含的未知參數個數要多。BIC(Bayesian InformationCriterion)貝葉斯信息准則彌補了AIC的不足,計算公式如下:
   BIC = ln(n) * (模型中參數的個數) - 2ln(模型的極大似然函數值),n是樣本容量

(3)模型檢驗

 這里的模型檢驗主要有兩個:
【1】檢驗參數估計的顯著性(t檢驗
【2】檢驗殘差序列的隨機性,即殘差之間是獨立

 殘差序列的隨機性可以通過自相關函數法來檢驗,即做殘差的自相關函數圖:

(二)模型預測

 預測主要有兩個函數,一個是predict函數,一個是forecast函數,predict中進行預測的時間段必須在我們訓練ARIMA模型的數據中forecast則是對訓練數據集末尾下一個時間段的值進行預估

 

  • 擬合,預測未來節點(或走勢分析):
    •   常規序列建模方法:AR、MA、ARMA、ARIMA
    •   回歸擬合
    •   Neural Networks
  • 判斷不同序列類別,即分類問題:HMM、CRF、General Classifier(ML models、NN models)
  • 不同時序對應的狀態的分析,即序列標注問題:HMM、CRF、RecurrentNNs



 

 

 

參考文獻:

【1】ARIMA模型原理及實現

【2】時間序列規則法快速入門

【3】時間序列模式(ARIMA)---Python實現

【4】Time Series Analysis by State Space Methods

【5】時間序列分析之ARIMA


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM