演算法金 | 時間序列預測真的需要深度學習模型嗎?是的,我需要。不,你不需要?

算法金「全网同名」發表於2024-07-08


大俠幸會,在下全網同名「演算法金」 0 基礎轉 AI 上岸,多個演算法賽 Top 「日更萬日,讓更多人享受智慧樂趣」

參考 論文:https://arxiv.org/abs/2101.02118

更多內容,見微*公號往期文章:

審稿人:拜託,請把模型時間序列去趨勢!!

使用 Python 快速上手 LSTM 模型預測時間序列

1. 時間序列預測的重要性

時間序列預測,這玩意兒在資料分析界可是個香餑餑,尤其在電力、交通、空氣質量這些領域裡,預測得準,資源分配更合理,還能讓相關部門提前做好準備。但深度學習這小子橫空出世,開始搶傳統統計學方法的風頭。那麼問題來了,時間序列預測非得用深度學習嗎?咱們今天就來掰扯掰扯。

2. 傳統時間序列預測模型

2.1 滾動平均(Moving Average, MA)

滾動平均,這招簡單粗暴,就是把一段時間的資料一平均,把那些隨機的波動給抹平,讓長期趨勢露個臉。這招對付那些沒啥花頭的時間序列挺管用。

2.2 向量自迴歸(Vector Autoregression, VAR)

VAR模型,這貨是個多面手,能把多個時間序列的過去值拿來預測未來,把變數間的相互勾搭給看個清楚。這在經濟學和金融領域裡頭,預測經濟指標的相互作用,玩得風生水起。

2.3 自迴歸綜合移動平均(AutoRegressive Integrated Moving Average, ARIMA)

ARIMA模型,這傢伙把自迴歸、差分、移動平均三招合一,專門對付時間序列裡的趨勢和季節性。得先把序列給整平穩了,這樣預測起來才靠譜。這模型在經濟預測、銷售預測、氣象預測這些領域裡頭,玩得挺溜。

傳統時間序列預測模型優點不少:

  1. 理論基礎紮實:這些模型都是統計學出身,數學表示式和引數估計方法都明明白白。
  2. 解釋性強:模型引數都有個說法,分析起來容易。
  3. 計算效率高:計算起來簡單,處理大資料也不費勁。

不過,這些老方法在處理複雜的非線性關係和多變數互動效應時,就顯得有點力不從心了。資料量大了,複雜度高了,深度學習方法就有機會上位了。

\

3. 深度學習模型

3.1 長短期記憶網路(Long Short-Term Memory, LSTM)

LSTM,這貨是遞迴神經網路的升級版,門控機制一加,梯度消失問題就解決了。這貨記性好,長時間序列裡的資訊記得牢,預測起來自然給力。

3.2 基於注意力的雙階段RNN(Dual-stage Attention-based Recurrent Neural Network, DARNN)

DARNN,這貨加上了注意力機制,能挑出時間序列裡的重要特徵,預測精度就上去了。先提取特徵,再用注意力機制和解碼器預測,這招在不少預測任務裡都挺靈。

3.3 Deep Global Local Forecaster (DeepGlo)

DeepGlo,這貨把時間序列分成全域性趨勢和區域性細節,分別建模,最後合併預測結果。這樣不同尺度的特徵都能照顧到,預測的準確性自然就高了。

3.4 時空融合轉化器(Temporal Fusion Transformer, TFT)

TFT,這貨用多頭注意力機制和序列到序列的結構,處理時間序列的複雜關係。短期長期依賴關係都能搞定,處理複雜時空特徵的資料,表現槓槓的。

3.5 DeepAR

DeepAR,這貨基於自迴歸思想,序列到序列的建模方式,用過去的時間序列資料預測未來。這貨能處理大規模高維資料,預測時還能考慮多個時間序列的相互影響,精度自然不低。

深度學習模型雖然在時間序列預測上挺能打,但複雜度高,計算成本也高,對資料量和計算資源要求也不小。所以選模型的時候,得綜合考慮應用場景、資料特點和計算資源,挑最合適的。

4. GBRT模型的對比研究

4.1 研究背景

深度學習雖然火,但傳統的機器學習方法,比如梯度提升迴歸樹(GBRT),在實際應用中也挺能打。GBRT透過多個弱學習器組合,提升預測效能。研究人員把GBRT和深度學習模型比了比,看看誰更牛。

4.2 研究方法

這項研究把時間序列預測任務變成了視窗迴歸問題,對GBRT模型進行了特徵設計和結構調整。就是把時間序列資料分成固定長度的視窗,每個視窗的資料用來預測下一個時間點的值。所有模型都用同樣的資料集和評估指標,公平比較。

4.3 研究資料集

研究用了多個公開的時間序列資料集,涵蓋能源消耗、交通流量、空氣質量等領域,資料時間跨度和頻率各異,全面評估模型表現。

4.4 評估指標

評估模型預測效能,用了均方誤差(MSE)、均絕對誤差(MAE)和對稱平均絕對百分比誤差(sMAPE)這些常用指標,全面衡量預測誤差和穩定性。

研究結果,GBRT在多個資料集上的表現超過了所有評估的深度神經網路(DNN)模型。這說明,在時間序列預測任務中,傳統機器學習方法有時候還挺能打的。

5. GBRT模型的優勢

5.1 解釋性高

GBRT模型,就像個明白事理的老江湖,每個決策點都清清楚楚,讓人一看就懂。跟那些深不可測的深度學習模型比起來,它更接地氣,容易讓人信服。

5.2 計算效率高

說到計算效率,GBRT模型就像是輕功了得的俠客,行動迅速,不拖泥帶水。深度學習模型可能還在慢吞吞地翻山越嶺,它已經一溜煙跑到了目的地。

5.3 特徵工程能力強

GBRT模型在特徵工程上,就像個手藝高超的鐵匠,能將普通的鐵塊鍛造成鋒利的寶劍。透過巧妙設計特徵,它能夠捕捉資料中的關鍵資訊,讓預測更加精準。

5.4 靈活性高

GBRT模型的靈活性,就像個能屈能伸的武林高手,無論面對什麼樣的對手,都能隨機應變,調整自己的策略。透過調整引數,它能夠適應各種不同的資料集和預測任務。

雖然GBRT模型在時間序列預測中表現出色,但它的威力還是得靠精心的特徵工程和細緻的引數調整來發揮。在實際應用中,得像打磨寶劍一樣,細心調校,才能讓它發揮出最大的威力。

6. 特徵工程與損失函式的重要性

6.1 特徵工程

特徵工程,就像是給武林高手挑選武器,選對了,戰鬥力倍增。在時間序列預測中,透過提取時間、滾動統計、滯後等特徵,能讓模型更加敏銳地捕捉資料的脈動。

6.2 損失函式

損失函式,就像是武林比武的規則,決定了比試的勝負。選擇合適的損失函式,能讓模型在訓練中更加精準地找到自己的不足,從而不斷進步。

透過實驗,我們發現GBRT模型在特徵工程和損失函式的選擇上,展現出了極高的靈活性和適應性。就像武林高手在比武中不斷調整自己的招式,GBRT模型也能透過精細的特徵設計和合理的損失函式選擇,顯著提升自己的預測效能。

7. 模型架構的創新

7.1 架構創新的難點

模型架構的創新,就像是武林中的絕世武功,聽起來很酷,但練起來卻難如登天。新架構往往需要大量的實驗和調優,而且複雜性可能會帶來更高的計算成本和更長的訓練時間。

7.2 成功的架構創新例項

儘管如此,還是有些架構創新,像是武林中的奇遇,讓人眼前一亮。比如LSTM的門控機制,就像是突然領悟了一門高深的內功心法,讓模型在處理長時間依賴關係時更加得心應手。

7.3 特徵工程和損失函式的優先性

研究表明,當特徵工程和損失函式設定得當,架構創新帶來的提升其實有限。這就像是武林中的基本功,只有基本功紮實了,才能讓後續的招式發揮出更大的威力。

7.4 創新帶來的風險

模型架構的創新,也伴隨著一定的風險。新架構的複雜性可能會導致訓練過程中的不穩定性,增加過擬合的風險,同時還可能需要更多的資料和計算資源。在實踐中,如何平衡創新帶來的潛在收益和這些風險,是一個需要仔細權衡的問題。

8. 多輸出預測的侷限性

8.1 多輸出預測的基本方法

在時間序列預測中,把預測器包裝成支援多輸出的MultiOutputRegressor,就像是一箭雙鵰,提高了預測效率,同時還能捕捉不同時間序列之間的相互依賴。

8.2 存在的侷限性

但多輸出預測也有它的侷限性。由於所有輸出都共享同一個模型結構和引數設定,這就像是用同一把鑰匙開所有的鎖,可能無法充分適應每個時間序列的獨特性,導致預測精度下降。

8.3 改進建議

為了克服這些侷限,可以考慮在模型中增加更強的約束,就像是給每個鎖配上一把專屬的鑰匙。透過引入分層模型結構,在頂層捕捉不同時間序列的共同特徵,在底層分別建模每個時間序列的特有特徵。

8.4 實驗驗證

研究表明,透過引入這些改進措施,多輸出預測模型在多個時間序列預測任務中取得了顯著提升。這就像是武林中的高手,透過不斷的修煉和創新,最終達到了新的境界。

9. 實驗結果

9.1 單變數時間序列預測

在單變數時間序列預測任務中,GBRT模型就像是一匹黑馬,無論是有協變數還是沒有協變數,都展現出了優越的效能。特別是在沒有協變數的情況下,透過合理的特徵設計,GBRT模型能夠有效捕捉時間序列中的趨勢和波動,預測結果優於大多數深度學習模型。

9.2 多變數時間序列預測

在多變數時間序列預測任務中,GBRT模型與LSTNet、DeepAR、DeepState、TFT等深度學習模型相比,就像是武林中的一場較量,GBRT模型在大多數資料集上都取得了更高的預測精度。這主要歸功於GBRT模型在特徵工程和引數調整上的靈活性,使其能夠更好地適應不同的資料特點和預測任務。

9.3 有協變數的預測

在有協變數的預測任務中,GBRT模型就像是得到了神助攻,透過合理利用協變數資訊,能夠進一步提升預測精度。例如,在能源消耗預測任務中,透過引入天氣資料和歷史用電量作為協變數,GBRT模型能夠更準確地預測未來的能源需求。

9.4 結果分析

總體來看,實驗結果驗證了GBRT模型在時間序列預測中的競爭力。儘管深度學習模型在某些特定任務中表現出色,但GBRT模型透過合理的特徵設計和引數調整,在大多數情況下能夠取得更高的預測精度和穩定性。

[ 抱個拳,總個結 ]

  • 時間序列預測,在多個領域裡頭,傳統方法和深度學習方法各有千秋。
  • 傳統時間序列預測模型,像MA、VAR和ARIMA,理論基礎紮實,計算效率高,但在處理複雜的非線性關係和多變數互動效應方面,就顯得有點力不從心。
  • 深度學習模型,如LSTM、DARNN、DeepGlo、TFT和DeepAR,自動學習資料中的複雜模式和特徵,在多個預測任務中展示出強大的效能。
  • GBRT模型,在實驗中表現優越,尤其在適當配置的情況下,能夠超過許多最先進的深度學習模型。
  • 特徵工程和損失函式,在機器學習中至關重要,合理的特徵設計和損失函式選擇能夠顯著提升模型效能。
  • 模型架構的創新帶來的提升有限,優先關注特徵工程和損失函式的最佳化更為重要。
  • 多輸出預測方法存在侷限性,透過合理的改進措施可以提升其效能。
  • 實驗結果顯示,GBRT模型在單變數和多變數時間序列預測中均表現出色,特別是在有協變數的情況下,優勢更加明顯。

更多內容,見微*公號往期文章:

審稿人:拜託,請把模型時間序列去趨勢!!

使用 Python 快速上手 LSTM 模型預測時間序列

- 科研為國分憂,創新與民造福 -

日更時間緊任務急,難免有疏漏之處,還請大俠海涵內容僅供學習交流之用,部分素材來自網路,侵聯刪

[ 演算法金,碎碎念 ]

這兩天不知道是哪位大俠的神力相助

這個點今天新增關注就破 500 了

訂閱讀者總數直指 20000 大關

簡直不要太 6 了

全網同名,日更萬日,讓更多人享受智慧樂趣

如果覺得內容有價值,煩請大俠多多 分享、在看、點贊,助力演算法金又猛又持久、很黃很 BL 的日更下去;

同時邀請大俠 關注、星標 演算法金,圍觀日更萬日,助你功力大增、笑傲江湖

相關文章