

摘要:時間序列分析和時間序列建模是強有力的預測工具。理解時間序列背后的統計學知識對于時間序列建模很有幫助。本文將介紹時間序列的整體流程,包括ARMA 和 ARIMA等重要工具。
時間序列建模,顧名思義,使用基于時間的數據(年,月,日,小時,分鐘),然后得出某些預測以幫助決策。時間序列建模在現實生活中有廣泛的應用。雖然要保持與時間“同步”并做出“預測”相當困難,但是學術界已經發展出一些強有力的工具,我們可以利用他們來“感知未來”。時間序列分析與建模一直以來都是教學上的難點和重點,我們可以借助相關的例子來對整個流程進行解析,讓同學們有更直觀的認識,然后再具體研究數學上的細節。
一、ARMA 時間序列模型
ARMA 是最常用的時間序列模型。在 ARMA 模型中,AR 代表自回歸 auto-regression,MA 代表移動平均 moving average。需要注意的是,AR 或者 MA 模型都不適用于非平穩序列。
1.AR 模型
這個就是 AR(1) 模型的公式。數值(1)代表下一個時刻的值僅僅取決于當前的時刻。alpha 是需要確定的參數,使得誤差項最小。注意到,x(t-1)也取決于 x(t-2),因此,x(t)將隨著時間的流逝而漸漸消失。
2.MA 模型
可以注意到,在 MA 模型中,噪聲隨著時間的消失很快,而在 AR 模型中,突變的影響持續很久。
3.AR 模型與 MA 模型的區別
AR 模型與 MA 模型的最大不同在于時間序列在不同時間點上的相關性。對于 n>階數的 MA 模型, x(t) 與 x(t-n) 之間的相關系數為 0。相關分析可以得到 MA 模型的階數。然而,對于 AR 模型,隨著 n 變大,x(t) 與 x(t-n)之間的相關性逐漸減少。下面將介紹如何通過ACF/PACF 確定 ARMA 模型的參數。
二、時間序列建模整體流程
第一步:時間序列可視化。在建立任何時間序列模型之前,分析序列的趨勢是關鍵。我們關注的趨勢要包括任何類型的趨勢,如季節性和某些隨機行為。
第二步:時間序列平穩化。因為時間序列的建模過程中有很多結論都是建立在大數定理和中心極限定理的前提條件下的,如果它不滿足,得到的許多結論都是不可靠的。序列平穩,一般要求均值為常數,方差為常數,以及自協方差為常數。如果一個序列不是平穩的話,那我們該怎么辦呢?有三種常用的方法可以使得時間序列平穩:
1.去除趨勢:假設時間序列的公式是:X(t) = (mean + trend*t) + error。我們可以去掉圓括號中的部分,然后對剩余的部分建模。
2.差分:我們可以對兩項之間的差值進行建模,而不是原來的項。例如:X(t) – x(t-1) = ARMA(p, q)。差分項d可以叫做AR(I)MA模型中的集成項(Integration part)。現在,我們就有了三個參數ARIMA(p,d,q)
3.季節性:季節性可以很容易地直接融合到 ARIMA 模型中。
一旦我們處理了趨勢的模式,周期和季節性等,就可以測試一下序列是否平穩。一個常用的工具是Dickey-Fuller 算法。
第三步:找出最優的階數。我們可以通過使用ACF 和 PACF畫圖找出最優的參數ARIMA(p,d,q)。假如 ACF 和 PACF 都下降緩慢,這預示著我們需要通過增加參數 d 的值將序列變平穩。
第四步:建立 ARIMA 模型。我們得到ARIMA 的參數后,就可以開始建立模型了。上一步種我們通過 ACF 和 PACF 得到了參數,但這只是一個大致的估計,我們需要遍歷更多的(p,d,q)組合。能得到最低的 BIC值或AIC值的參數組合將是我們的選擇。假如在 ACF/PACF 畫圖中發現季節性成分,我們也可以納入 ARIMA 的模型中。
第五步:做出預測。一旦我們得到最終的 ARIMA 模型,我們就可以對未來的時間點的值做預測了。如果模型運行良好,我們就可以將趨勢可視化進行交叉驗證。
三、實際應用的例子
我們可以通過舉例說明時間序列模型的應用。我們使用AirPassengers這個已有的數據集[1]。這個數據集是1949-1960年每個月國際航空的乘客數量的數據,如圖2(a)所示。
從圖中,我們可以觀察出:
1.存在趨勢成分,隨著時間的增加而增加;
2.存在季節性成分,但周期不超過 12 個月;
3.數據的方差隨著時間的增長而增大。
在測試平穩性之前,我們需要解決兩個問題:1)不穩定的方差。可以通過取序列log 對數的方法解決。2)季節成分。這個可以通過求序列的差分而實現。現在,讓我們測試一下處理后的序列。通過求 ADF,得到序列的 p-value=0.01。因此,序列是平穩的,我們可以對它進行建模。
確定參數后,我們可以訓練 ARIMA 模型,然后預測未來的 10 年的乘客量,將預測的結果可視化,如圖 所示。由于我們是將原始數據求對數以及再一階差分進行處理,因此我們的預測要有復原的過程。至此,一個完整的ARIMA 時間序列建模預測過程就完成了。
參考文獻
[1] https://www.kaggle.com/rakannimer/air-passengers
作者簡介:羅曉牧(1980-),性別:男,廣東省廣州市(籍貫),現職稱:副教授,學歷:工科博士研究生畢業,研究方向:機器學習,無線傳感器網絡,生物信息獲取.
基金來源:廣州中醫藥大學教學改革項目 A3-0433-181-427-039