天天看點

五大模型揭秘深度學習用于時序預測的最新進展

作者:雲智慧DOCP

引言

在以往的時序預測中,大部分使用的是基于統計和機器學習的一些方法。然而,由于深度學習在時間序列的預測中表現并不是很好,且部分論文表述,在訓練時間方面,用 Transformer、Informer 、Logtrace 等模型來做時間序列預測的效果甚至不如通過多層感覺機與線性回歸做權重。

基于以上背景,近年來,學術界針對時間序列的特點,設計了一系列的深度學習架構模型。本篇文章将介紹 N-BEATS、N-BEATSx、N-HiTS、FEDformer 以及 DeepTiMe 五個最新深度學習架構模型。

模型介紹

N-BEATS 與 N-BEATSx 是加拿大一家公司最先提出。N-HiTS 是在 N-BEATS 的基礎上做了一些改進。FEDformer 是由阿裡達摩院發表一個基于傅立葉變換和小波變換用于深度模型做提取特征工作的模型。DeepTiMe 是利用元學習的思想,在非常簡單的神經網絡上結合随機傅立葉特征即可取得很好的預測效果。

N-BEATS

在時間序列預測當中,算法大緻分為基于回歸與基于分解兩大類。N-BEATS 則是一種基于時間序列分解的算法。

基于學界以及工業界的應用經驗,在時間序列預測中,分解算法會更加魯棒。是以,如何将上述分解思想應用與深度學習之中,是這篇文章的一個重要出發點,另一個出發點則是解決針對深度學習在做時間序列預測時所面臨的可解釋性不強等問題。

下圖為 N-BEATS 模型的整體網絡架構。可以明顯看出 N-BEATS 屬于分類模型,即該模型是将神經網分成單個 Stack。如圖所示, N-BEATS 模型的神經網絡被分成了 M 個 Stack,每一個 Stack 兩個輸出值,一個向右傳遞值和一個向下傳遞值。最終,彙總每一個 Stack 向右傳遞的值便作為該模型的綜合輸出。此時,每一個 Stack 輸出結果便可以看成每一個 Stack 上時間序列預測的結果。此外,每一個 Stack 由很多個 Block 組成,Block 與 Block 之間連接配接方式為殘差連接配接,每個 Block 使用的是全連接配接神經網絡。

五大模型揭秘深度學習用于時序預測的最新進展

為解決深度學習在做時間序列預測時可解釋性不強的問題,該模型作者采用了兩種方法。如下圖所示,假設該模型隻設計兩個 Stack,一個 Stack 用于輸出該模型的趨勢,另一個 Stack 用于輸出該模型的周期。在 Stack 用于輸出趨勢時,該 Stack 輸出的值作為多樣式的系數,随後用該多樣式函數來拟合它的趨勢。相對來說,這種方法是較為原始的。

五大模型揭秘深度學習用于時序預測的最新進展

在Stack 用于輸出周期時,該 Stack 輸出的值作為傅立葉級數的系數。

五大模型揭秘深度學習用于時序預測的最新進展

最後,将上述兩個值加起來,即可得到整個網絡的輸出。反之,如果預測趨勢出現問題,則有可能為第一個 Stack 出問題,如果預測周期出現問題,則有可能是第二個 Stack 出問題。

下圖為 N-BEATS 模型在 M4、M3 以及其他資料集上的一些表現。可以看出, 相比與深度學習、時間序列等其他模型,N-BEATS 模型在部分名額下的結果是較為顯著的。

五大模型揭秘深度學習用于時序預測的最新進展

N-BEATSx

由于 N-BEATS 隻能進行單名額時間序列預測的問題,是以,N-BEATSx 在 N-BEATS 的基礎上對神經網絡做了部分改動以實作多名額時間序列預測。即在預測過程中,輸入的值不局限于時間序列,也可以是外部變量,以此實作多對一的預測。如下圖所示,N-BEATSx 模型的網絡架構與 N-BEATS 基本一緻,沒有出現額外的變化。即 N-BEATSx 可以了解為加了外部變量的 N-BEATS。

五大模型揭秘深度學習用于時序預測的最新進展

如下圖所示,左側是未輸入外部變量的 N-BEATS,殘差較大。右側是加了外部變量的 N-BEATSx,預測結果更準确。

五大模型揭秘深度學習用于時序預測的最新進展

N-HiTS

N-HiTS 與前兩個模型的網絡結構一緻,不同點在于在 Stack 方面,N-HiTS 是通過多重采樣的方式将時間序列分成高頻和低頻。若時間序列如下圖左上角所示,例如,可以通過每隔100個點采樣一次的方式得到低頻采樣資訊。為實作與其他時間序列對齊并各個預測結果相加,随後做插值。此外,如需擷取高頻采樣資訊,隻需将采集頻次提高即可。

資訊采集完成後,傳遞至每個 Stack 中,随後進行預測。如果發現預測趨勢出現問題,則可通過分析低頻、高頻資訊的方式定位問題根源。

五大模型揭秘深度學習用于時序預測的最新進展

下圖為 N-HiTS 模型預測結果對比圖,可明顯看出好于 Informer、Autoformer 以及 ARIMA 等模型。

五大模型揭秘深度學習用于時序預測的最新進展

下圖為 N-HiTS 模型的計算複雜度與空間複雜度。可看出基于 N-HiTS、N-BEATS 以及 N-BEATSx 的時間複雜度要遠遠低于 Transformer 等模型的複雜度。且在空間複雜度上面, N-HiTS 模型甚至比N-BEATS 模型還要低一些。

五大模型揭秘深度學習用于時序預測的最新進展

FEDformer

FEDformer 模型主要采用了 Transformer 模型的結構,在此基礎上提出了兩個創新點。第一個創新點是頻率增強捕捉機制,第二個創新點是基于頻率增強的注意力機制。頻率增強捕捉機制與頻率增強的注意力機制有傅立葉變換和小波變換兩個版本。

五大模型揭秘深度學習用于時序預測的最新進展

下圖為傅立葉變換實作的版本。首先将原始時域上的輸入序列投影到頻域;随後再在頻域上進行随機采樣;其次進行頻域補全,頻域補全過程與頻域采樣相對,為了使得信号能夠還原回原始的長度,需要對頻域采樣未被采到的頻率點補零;最後進行投影回時域,因為上述補全操作,投影回頻域的信号和之前的輸入信号次元完全一緻。

五大模型揭秘深度學習用于時序預測的最新進展

DeepTiMe

DeepTiMe 模型利用了元學習模型的思想,是一個基于 Time-Index 的模型。下圖為 DeepTiMe 模型網絡架構,DeepTiMe 也利用了随機傅立葉特征。首先傳遞一個 Time-Index 告知今天是幾号,随後預測出yt。上述便是 DeepTiMe 模型網絡整體輸入輸出流程。

五大模型揭秘深度學習用于時序預測的最新進展

下圖為未使用語言模型和使用語言學習(DeepTiMe)的對比圖,可看出,使用 DeepTiMe 模型的預測效果明顯高于未使用 DeepTiMe 模型的預測效果。

五大模型揭秘深度學習用于時序預測的最新進展

下圖為使用 DeepTiMe 模型預測線性、三次多項式等模型的預測結果,可以看出 DeepTiMe 模型在該方面的預測結果也較為精準。

五大模型揭秘深度學習用于時序預測的最新進展

下圖為 DeepTiMe 模型與其他模型預測結果對比。在多名額預測當面,DeepTiMe 模型好于 N-HiTS 模型與 FEDformer 模型以及其他 Former 類模型。在單名額預測中,N-HiTS 模型則好于 DeepTiMe 模型。

五大模型揭秘深度學習用于時序預測的最新進展

開源項目推薦

雲智慧已開源資料可視化編排平台 FlyFish 。通過配置資料模型為使用者提供上百種可視化圖形元件,零編碼即可實作符合自己業務需求的炫酷可視化大屏。 同時,飛魚也提供了靈活的拓展能力,支援元件開發、自定義函數與全局事件等配置, 面向複雜需求場景能夠保證高效開發與傳遞。

如果喜歡我們的項目,請不要忘記點選下方代碼倉庫位址,在 GitHub / Gitee 倉庫上點個 Star,我們需要您的鼓勵與支援。此外,即刻參與 FlyFish 項目貢獻成為 FlyFish Contributor 的同時更有萬元現金等你來拿。

GitHub 位址: https://github.com/CloudWise-OpenSource/FlyFish

Gitee 位址: https://gitee.com/CloudWise/fly-fish

繼續閱讀