作者:夏米莎·查特吉 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 ;獲授權;
朋友會在“發現-看一看”看到你“在看”的內容