SOFTS: 時間序列預測的最新模型以及Python使用示例

deephub發表於2024-06-15

近年來,深度學習一直在時間序列預測中追趕著提升樹模型,其中新的架構已經逐漸為最先進的效能設定了新的標準。

這一切都始於2020年的N-BEATS,然後是2022年的NHITS。2023年,PatchTST和TSMixer被提出,最近的iTransformer進一步提高了深度學習預測模型的效能。

這是2024年4月《SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion》中提出的新模型,採用集中策略來學習不同序列之間的互動,從而在多變數預測任務中獲得最先進的效能。

在本文中,我們詳細探討了SOFTS的體系結構,並介紹新的STar聚合排程(STAD)模組,該模組負責學習時間序列之間的互動。然後,我們測試將該模型應用於單變數和多變數預測場景,並與其他模型作為對比。

SOFTS介紹

SOFTS是 Series-cOre Fused Time Series的縮寫,背後的動機來自於長期多元預測對決策至關重要的認識:

首先我們一直研究Transformer的模型,它們試圖透過使用補丁嵌入和通道獨立等技術(如PatchTST)來降低Transformer的複雜性。但是由於通道獨立性,消除了每個序列之間的相互作用,因此可能會忽略預測資訊。

iTransformer 透過嵌入整個序列部分地解決了這個問題,並透過注意機制處理它們。但是基於transformer的模型在計算上是複雜的,並且需要更多的時間來訓練非常大的資料集。

另一方面有一些基於mlp的模型。這些模型通常很快,併產生非常強的結果,但當存在許多序列時,它們的效能往往會下降。

所以出現了SOFTS:研究人員建議使用基於mlp的STAD模組。由於是基於MLP的,所以訓練速度很快。並且STAD模組,它允許學習每個序列之間的關係,就像注意力機制一樣,但計算效率更高。

SOFTS架構

在上圖中可以看到每個序列都是單獨嵌入的,就像在iTransformer 中一樣。

然後將嵌入傳送到STAD模組。每個序列之間的互動都是集中學習的,然後再分配到各個系列並融合在一起。

最後再透過線性層產生預測。

這個體系結構中有很多東西需要分析,我們下面更詳細地研究每個元件。

https://avoid.overfit.cn/post/6254097fd18d479ba7fd85efcc49abac

相關文章