歡迎光臨
每天分享高質量文章

ARIMA/Sarima與LSTM的時間序列資料集成學習(附鏈接)

作者:夏米莎·查特吉 Sharmistha Chatterjee ;翻譯:陳之炎;校對:吳金笛

本文約5500字,建議閱讀10+分鐘。

本文探討了簡單的ARIMA/Sarima與LSTM的時間序列資料集成學習方面的問題。

Sharmistha Chatterjee

https://towardsdatascience.com/@sharmi.chatterjee

動機

傳統時間序列預測中最常使用到的時間序列模型有以下五種,包括:

  • 自回歸(AR)模型;

  • 移動平均(MA)模型;

  • 自回歸移動平均(ARMA)模型;

  • 自回歸整合移動平均模型(ARIMA);

  • 季節性整合自回歸移動平均模型(SARIMA)模型。

自回歸AR模型以時間序列的前一個值和當前殘差來線性地表示時間序列的當前值,而移動平均MA模型則用時間序列的當前值和先前的殘差序列來線性地表示時間序列的當前值。

ARMA模型是AR模型和MA模型的結合,其中時間序列的當前值線性地表示為它先前的值以及當前值和先前的殘差序列。AR、MA和ARMA模型中定義的時間序列均是平穩過程,即這些模型的均值及其觀測值之間的協方差不隨時間的變化而變化。

對於非平穩時間序列,必須先將序列轉換為平穩的隨機序列。ARIMA模型一般適用於基於ARMA模型的非平穩時間序列,其差分過程可有效地將非平穩資料轉換為平穩資料。將季節差分與ARIMA模型相結合的SARIMA模型用於具有周期性特征的時間序列資料建模。

通過比較時間序列中這些演算法模型的性能,發現機器學習方法均優於簡單的傳統方法,其中ETS模型和ARIMA模型的整體性能最好。下圖是各模型之間的比較。

然而,除了傳統的時間序列預測外,近年來,在時間序列預測的深度學習領域,迴圈神經網絡(RNN)和長短期記憶(LSTM)在計算機視覺、自然語言處理和金融等多個學科中得到了廣泛的應用。深度學習方法在時間序列預測中能夠識別諸如非線性度和複雜度等資料的結構和樣式。

關於新開發的基於深度學習的預測時間序列資料的演算法,如“長短期記憶 (LSTM)”,是否優於傳統的演算法, 仍然是一個開放的還待研究的問題。

本文的結構如下:

  • 瞭解深度學習演算法RNN、LSTM以及與LSTM集成學習如何提高性能。

  • 瞭解傳統的時間序列模型技術ARIMA,以及當它與MLP和多元線性回歸相結合時,如何在集成方法中改進時間序列預測。

  • 瞭解使用ARIMA與LSTM的問題和場景,兩者間的優劣對比。瞭解使用SARIMA進行時間序列建模時,如何與其他基於空間、基於決策和基於事件的模型進行集成學習。

然而,本文沒有對更為複雜的時間序列問題做深入的闡述。例如:複雜的不規則時間結構,觀測缺失值,多變數之間的強噪聲和複雜關係。

LSTM

LSTM是一種特殊的RNN,它由一組具有特征的單元集合組成,利用這些特征來記憶資料序列,集合中的單元用於捕獲並儲存資料流。此外,集合中的單元構成先前的模塊與當前的模塊的內部互連,從而將來自多個過去時間瞬間的信息傳送給當前的模塊。每個單元中會使用到門,為下一個單元處理、過濾或添加單元中的資料。

單元中的門基於Sigmoidal神經網絡層,使單元可以選擇性地讓資料通過或丟棄,每個sigmoid層輸出一個在0到 1之間的數字,這個數字為每個單元中應該通過的資料數量。更準確地說,如果這個值為0,意味著“不讓任何資料通過”, 如果這個值為1,則表示“讓所有資料都通過”。為了控制每個單元的狀態,每個LSTM涉及三種型別的門:

  • 遺忘門輸出一個介於0到1之間的數字,其中1表示“完全保留此值”;而0則意味著“完全忽略此值”。

  • 記憶門決定選擇哪些資料通過sigmoid層和tanh層後需要儲存到資料單元中。初始sigmoid層,稱為“輸入門層”,決定需要對哪些數值進行修改,隨後,由tanh層生成可以添加到狀態的新候選值的向量。

  • 輸出門決定每個單元輸出的內容,根據資料過濾及新增資料後資料單元的狀態,輸出門會輸出一個資料值。

在工作原理和實現機制兩方面,LSTM –模型提供了比ARIMA更多的微調選項。

LSTM在時間序列預測中的應用

研究發現,使用特定資料集訓練的單個LSTM網絡很可能在其它完全不同的時間序列上表現不佳,為此,需要執行嚴格的引數優化。由於LSTM在預測領域非常成功,研究人員採用了一種所謂的堆疊集成方法將多個LSTM網絡進行疊加和組合,以提供更精確的預測,旨在為預測問題提供一個更普適的模型。

通過對四種不同的預測問題進行研究,依據RMSE評價尺度, 得出了堆疊LSTM網絡的性能優於常規LSTM網絡和ARIMA模型的結論。

通過調整每個LSTM的引數,可以提高集成方法的總體質量。單個LSTM網絡性能之所以性能差是因為需要對大量LSTM網絡引數進行調整。因此,集成LSTM網絡的概念得以發展,它減少了大量優化引數的需要,並提高了預測的質量,從而為預測問題提供了更好的選擇。

在其他集成技術中,如上圖所示,具有長期短期記憶(LSTM)的混合集成學習可以用來預測金融時間序列。AdaBoost演算法用於對來自多個獨立的長期短期記憶(LSTM)網絡進行組合預測。

首先,利用AdaBoost演算法對資料進行訓練,從原始資料集中生成替換樣本,得到訓練資料;然後,利用LSTM分別對每個訓練樣本進行預測;最後,採用AdaBoost演算法對所有LSTM預測器的預測結果進行綜合,生成集成結果。對兩個主要的日匯率資料集和兩個股票市場指數資料集的實證結果表明,AdaBoost-LSTM集成學習方法優於其他單一預測模型和集成學習方法。

AdaBoost-LSTM集成學習方法在金融時間序列資料預測中有著廣闊的應用前景,對於匯率和股票指數等非線性和不規則的時間序列資料也有很好的應用前景。

如上圖所示,在LSTM中進行集成學習的另一個例子是,當輸入層包含從時間 t1 到tn的輸入時,每個時刻的輸入被輸入到LSTM層,每個LSTM層HK的輸出代表時間k的部分信息,被輸入到輸出層,輸出層從接收到的所有輸出中聚合和計算出均值。此外,將均值輸入邏輯回歸層以預測樣本的標簽。

ARIMA

ARIMA演算法為捕捉時間序列資料中時間結構的一類模型,然而,單獨用ARIMA模型卻很難對變數之間的非線性關係進行建模。

自回歸整合移動平均模型(ARIMA) 是一種將自回歸(AR)過程和移動平均(MA)過程相結合的廣義自回歸移動平均(ARMA)模型,它構建了時間序列的複合模型。

  • AR:自回歸。一種使用一個觀察和多個滯後觀測之間依存關係的回歸模型。

  • I:整合。通過計算不同時間觀測值的差值,使時間序列平穩化。

  • MA:移動平均。當對滯後觀測(q)使用移動平均模型時,計算觀測值與殘差項之間的依賴性的一種方法。階為p的AR模型的一種簡單形式,即AR(P),可以寫成一個線性過程,由以下公式表達:

這裡,xt表示平穩變數,c是常數,∅t中的項是滯後1,2,…的自相關係數。殘差p和ξt是均值為零、方差為 σt²的高斯白噪聲序列。

ARIMA模型的一般形式表示為ARIMA(p,q,d)。對於季節性時間序列資料,短期非季節性部分很可能對模型有貢獻。ARIMA模型通常表示為ARIMA(p,q,d),其中:

  • p是訓練模型時使用的滯後觀測數目(即:滯後階數)。

  • d是應用差分的次數(即差分的階數)。

  • q為移動平均視窗的大小(即移動平均的階數)。

例如,ARIMA(5,1,0)表示自回歸的滯後值設置為5,它使用1階差分使時間序列平穩,不考慮任何移動平均視窗(即視窗的大小為零)。RMSE可以作為一個誤差度量指標來評價模型的性能,評估預測的準確性,並對預測的準確性做出評價。

為此,我們需要用到季節性ARIMA模型,它是一個包含了非季節性和季節性因素的複合模型。將季節性ARIMA模型的一般形式表示為(p, q, d) X (P, Q, D)S,其中p是非季節性AR階數,d是非季節性差分,q是非季節性MA階數,P是季節性AR階數,D是季節性差分,Q是季節性MA階數,S是重覆季節樣式的時間跨度。預估季節性ARIMA模型的最重要步驟是識別(p,q,d)和(P,Q,D)的值。

根據資料的時間圖,如果方差隨時間增長,則應採用方差平穩化變換和差分法。

 

利用自相關函式(ACF)來計算由p個滯後隔離的時間序列中觀測值之間的線性相關,利用偏自相關函式(PACF)來確定需要多少個自回歸項q,利用逆自相關函式(IACF)來檢測過差分,之後可以得到自回歸階p、差分階數d的初值,移動平均階q及其對應的季節性引數P、D和Q。引數d是從非平穩時間序列到平穩時間序列的差分頻度變化的階數。

在對單個時間序列資料採用“自回歸移動平均(ARMA)”的單變數方法過程中,將自回歸(AR)模型和移動平均模型(MA)相結合,單變數“差分自回歸移動平均模型(ARIMA)”是一種特殊的ARMA模型,在這個模型中考慮了差分。

多元ARIMA模型和向量自回歸模型(VAR)是另外兩種流行的預測模型,它們通過考慮多個演化變數來推廣一元ARIMA模型和單變數自回歸(AR)模型。

ARIMA是一種基於線性回歸的預測方法,最適合於單步樣本預測。在這裡,所提到的演算法為多步樣本預測與重新估計,即每次模型被重新擬合,以建立最佳的估計模型。該演算法以輸入“時間序列”資料集為基礎,建立預測模型,並計算預測的均方誤差。它儲存兩個資料結構來儲存每次迭代時累積添加的訓練資料集,即:“歷史”值和對測試資料集的連續預測的 “預測”值。

基於ARIMA的集成學習

對ARIMA、多層感知器(MLP)和多元線性回歸(MLR)三種預測模型分別進行訓練、驗證和測試,得到標的污染物濃度預測。為了訓練和擬合ARIMA模型,利用自相關函式(ACF)和偏自相關函式(PACF)對p、d、q值進行了估計。MLP模型採用以下引數來建立:用於權重優化的求解器是lbfgs,因為它能夠更快地收斂,並且對於較少維數的資料性能更為優越。

與隨機梯度下降優化器相比,它得到了更優的結果,它採用激活函式“relu”表示修正線性單元(RELU)函式,從而避免了梯度消失的問題。然後利用加權平均集成技術將每個模型的預測合併為最終預測。加權平均集合是將每個模型的預測與權重相乘,然後計算出其平均值。可以根據各模型的性能,調整各基本模型的權重。

每個模型的預測採用加權平均技術進行組合,其中各個模型根據其性能被賦予不同的權重,對性能較好的模型給予更高的權重,權重的分配原則應確保權重之和必須等於1。

SARIMA

ARIMA是目前應用最廣泛的單變數時間序列資料預測方法之一,但它不支持具有季節性成分的時間序列。為了支持序列的季節分量,將 ARIMA模型擴展成為SARIMA。SARIMA (季節性差分自回歸移動平均模型應用於包含趨勢和季節性的單變數資料,SARIMA由趨勢和季節要素組成的序列構成。

與ARIMA模型相同的一些引數有:

  • p:趨勢的自回歸階數。

  • d:趨勢差分階數。

  • q:趨勢的移動平均階數

 

不屬於ARIMA的四個季節性因素有:

  • P:季節性自回歸階數。

  • D:季節性差分階數。

  • Q::季節性移動平均階數。

  • m:單個季節性周期的時間步長數。

SARIMA模型可以定義為:

SARIMA (p, d, q) (P,D,Q) m

如果m為12,則它指定每年的季節周期為月資料。

SARIMA時間序列模型也可以與基於空間和事件的模型相結合,以生成解決多維ML問題的集成模型。這樣的ML模型可以用來預測一年中不同時刻的蜂窩網絡中的小區負荷,如下麵的樣本圖所示。

時間序列分析中的自相關、趨勢和季節性(工作日、周末效應)可以用來解釋時間影響。

區域和小區的負荷分佈可以用來預測不同的時間間隔內的稀疏和過載的單元。

利用決策樹來預測事件(假日、特殊的群眾性集會和其他活動)。

資料集、問題和模型的選擇

在分析經典機器學習和深度學習機制需要解決的問題時,在最終選擇正確的模型之前,需要考慮以下因素。

  • 經典時間序列模型(ARIMA/SARIMA)和深度學習模型性能指標的不同。

  • 樣式選擇所生成的業務影響是長期的還是短期的。

  • 更為複雜模型的設計、實現和維護成本。

  • 損失的可解釋性。

 

首先,資料是高度動態的,通常很難梳理出時間序列資料內嵌的結構;其次,時間序列資料可以是非線性的,並且包含高度複雜的自相關結構。不同時間周期的資料點可以相互關聯,並且線性近似,有時不能對資料中的所有結構建模。諸如自回歸模型之類的傳統方法試圖估計出模型的引數,該模型可視為對生成資料的結構的平滑近似。

綜上所述,ARIMA用來對線性關係的資料更好地建模,而RNN(取決於激活函式)則更好地建立了具有非線性關係的模型資料。ARIMA模型為資料科學家提供了一個更優的選擇,之後,當資料通過 Lee,White和Granger(LWG)檢驗之後的殘差中仍然包含非線性關係時,可以用RNN這樣的非線性模型對資料集進一步處理。

在對一組財務資料分別應用LSTM和ARIMA之後,結果表明LSTM優於ARIMA, LSTM演算法與ARIMA相比,預測準確率平均提高到了85%。

結論

本文最後給出了一些案例研究,為什麼特定的機器學習方法在實踐中表現得不盡如人意,但是它們在人工智慧的其他領域中的表現卻非常出色?為此,本文對ARIMA/SARIMA和LSTM模型性能不佳的原因進行了評價,設計出了提高模型性能和精度的機制。這些模型的應用領域及其性能如下:

  • ARIMA對短期預測有較好的預測效果,而LSTM對長期模型有較好的預測效果。

  • 傳統的時間序列預測方法(ARIMA)側重於具有線性關係和固定人工診斷時間依賴的單變數資料。

  • 對大量資料集的機器學習問題研究發現,與ARIMA相比,LSTM獲得的平均錯誤率在84-87%之間,表明LSTM優於ARIMA。

  • 深度學習中的“epoch”為訓練次數,它對訓練預測模型的性能沒有影響,呈現出真正的隨機性。

  • LSTM與RNN和MLP等更簡單的NNS相比,似乎更適合於擬合或過度擬合訓練資料集,而不是預測資料集。

  • 具有龐大資料集的神經網絡(LSTMS和其他深度學習方法)提供了將其分成幾個較小的批次併在多個階段進行訓練的方法。批大小/每個塊大小根據使用的培訓資料總數來定。術語:迭代,用於表示完成整個資料集模型訓練所需的批次數。

  • LSTM無疑更為複雜,訓練難度較大,在大多數情況下其性能不會超過簡單ARIMA模型的性能。

  • 傳統的方法,如ETS和ARIMA,適用於一元資料集的單步預測。

  • 像Theta和Arima這樣的經典方法在單變數資料集的多步預測方面表現出色。

  • 像ARIMA這樣的經典方法側重於固定的時間依賴性:不同時間觀測值之間的相互關係,這就需要分析和說明作為輸入的滯後觀測值的數量。

  • 機器學習和深度學習方法尚未實現其對單變數時間序列預測的承諾,這方面還有許多研究要做。

  • 神經網絡增加了處理噪聲和非線性關係的能力,並具備任意定義且有固定數量的輸入。此外,NNS可輸出多變數和多步預測。

  • 遞迴神經網絡(RNNs)增加了有序觀測的顯式處理,並能夠從背景關係中學習時間依賴關係。通過從一定時間內對序列的一次觀測值,RNN可以學習到該序列先前所的相關觀測,並對後續相關性進行預測。

  • 當LSTMS用於學習長期序列中的相關性時,在無需指定任何時間視窗的情況下, 它可以對複雜的多變數序列建模。

參考文獻

1. https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0194889

2. https://machinelearningmastery.com/findings-comparing-classical-and-machine-learning-methods-for-time-series-forecasting/

3. https://arxiv.org/pdf/1803.06386.pdf

4. https://pdfs.semanticscholar.org/e58c/7343ea25d05f6d859d66d6bb7fb91ecf9c2f.pdf

5. 《用於穩健時間序列預測的集成遞迴神經網絡》,作者:S.Krstanovic和H.Paulheim,載於“人工智慧”34 期、編輯:M.Bramer和M.Petridis,斯普林格國際出版社,2017,pp.34-46,ISBN:978-3-319-71078-5。

6. https://link.springer.com/chapter/10.1007/978-3-319-93713-7_55

7. http://nebula.wsimg.com/5b49ad24a16af2a07990487493272154?AccessKeyId=DFB1BA3CED7E7997D5B1&disposition;=0&alloworigin;=1

8. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3641111/

9. 基於節能蜂窩網絡的流量預測:一種機器學習方法 Method 

https://www.cse.cuhk.edu.hk/lyu/_media/conference/slzhao_sigspatial17.pdf?id=publications%3Aall_by_year&cache;=cache

原文標題:

ARIMA/SARIMA vs LSTM with Ensemble learning Insights for Time Series Data

原文鏈接:

https://towardsdatascience.com/arima-sarima-vs-lstm-with-ensemble-learning-insights-for-time-series-data-509a5d87f20a

譯者簡介:陳之炎,北京交通大學通信與控制工程專業畢業,獲得工學碩士學位,歷任長城計算機軟體與系統公司工程師,大唐微電子公司工程師,現任北京吾譯超群科技有限公司技術支持。目前從事智慧化翻譯教學系統的運營和維護,在人工智慧深度學習和自然語言處理(NLP)方面積累有一定的經驗。

本文轉自:資料派THU ;獲授權;

赞(0)

分享創造快樂