ICLR 2025 | 一行代碼!FreDF頻域損失穩定提升時間序列預測精度
本文由浙江大學、中南大學、上海交通大學、Tiktok、北京大學、南洋理工大學聯合完成。第一作者王浩為浙江大學碩博連讀生,發表NeurIPS、ICLR、KDD、WWW、TOIS等頂級會議和期刊十余篇。通訊作者為北京大學李昊軒助理研究員和南洋理工大學陶大程教授。
時間序列預測在氣象預報、工業設備維護、醫療監測等領域具有關鍵應用價值。本文揭示現有方法忽略了標簽序列中的自相關性,導致訓練目標有偏。進一步,提出一種基于頻域標簽訓練的新范式——FreDF,只需加入一行代碼,即可在主流模型上實現預測精度的穩定提升。
- 論文標題:FreDF: Learning to Forecast in the Frequency Domain
- 論文地址:https://openreview.net/forum?id=4A9IdSa1ul
- 代碼地址:https://github.com/Master-PLC/FreDF
被忽視的標簽自相關性
時間序列中的自相關性指的是「序列在不同時間步之間的相關性」,在時間序列預測中,這種自相關性既存在于模型的輸入序列(歷史觀測值之間的相關性),也存在于標簽序列(不同步標簽之間的相關性)。然而,現有方法(如 Transformer、LSTM 等)主要聚焦于輸入序列的自相關建模,普遍忽視了標簽序列自相關性的影響。
具體而言,主流的直接預測范式(Direct Forecast,DF)通過多任務學習同時預測多步標簽,其損失函數為:
其中,為標簽,
為預測值。該方法隱式假設標簽序列在給定輸入時條件獨立(這樣極大似然才等價于最小化 MSE)。但時間序列預測任務中,標簽序列往往呈現顯著的自相關性。因此,現有 DF 方法與時序數據生成機制存在失配。
【形式化】根據定理 3.1:當標簽之間的相關系數大于 0 時,DF 方法的損失函數相比對數似然函數有偏。
使用頻域標簽訓練時間序列模型
Motivation
FreDF 的核心是利用傅里葉變換將標簽序列投影到頻域。在頻域中,不同標簽之間的相關性被有效抑制。這一預期符合直覺:頻率 k 處的頻譜分量一般不依賴于頻率 k'<k 處的頻譜分量生成。論文中的定理 3.3 進一步驗證了這一點。
由于頻域中標簽之間的相關性被抑制,根據定理 3.1,在頻域計算的損失函數(如 MSE、MAE)相對對數似然函數無偏。
圖 1. 標簽序列中的自相關性分析。
案例分析:圖 1(a)展示了自相關性在生成標簽序列中的影響:第 t 時刻的標簽不僅和輸入有關,也和上一時刻的狀態有關。圖 2(b-d)量化了給定輸入后,不同標簽在時域和頻域的自相關強度。結果表明:標簽序列的自相關性在時域中顯著,在頻域中被抑制。
實現方法
受 Motivation 節啟發,FreDF 提出了一種基于頻域標簽的模型訓練方法,具體步驟如下:
- 使用傅里葉變換將標簽序列從時域轉換到頻域:
。標簽序列的自相關性在頻域中被有效抑制。類似地,將模型的時域預測值由時域變換到頻域:
。
- 計算頻域損失:
。
- 融合時頻損失:
。這一步是可選的——頻域損失單獨使用,即可吃下絕大多數性能收益。
FreDF 方法支持多種預測模型(如 Transformer、MLP 等),其實現非常簡單:只需在模型的損失函數中添加頻域損失即可。以下是一個基于 PyTorch 的簡單實現示例,其中 outputs
為模型的時域預測值,batch_y
為標簽序列。
# 原時域損失
loss_tmp = ((outputs-batch_y)**2).mean()
# 所提頻域損失
loss_feq = (torch.fft.rfft(outputs, dim=1) - torch.fft.rfft(batch_y, dim=1)).abs().mean()
# 注釋1. 頻域損失可與時域損失加權融合,也可單獨使用,一般均有性能提升,見靈敏度實驗部分。
# 注釋2. 頻域損失使用MAE而不是MSE,是因為不同頻譜分量的量級相差非常大。使用MSE會進一步放大這種差異,導致優化過程不穩定。
圖 2. FreDF 工作流。
實驗結果
FreDF 可以顯著提高預測性能。以 ETTm1 數據集為例,FreDF 將 iTransformer 的 MSE 降低了 0.019,這一改進與過去 1.5 年中該數據集性能提升相當(Fedformer 到 TimesNet,MSE 降低了 0.017)。這說明通過處理標簽中的自相關性,FreDF 可以顯著提升模型的預測性能。
FreDF 在短期預測任務上也有顯著提升。在 M4 數據集上,FreDF 增強的 FreTS 在 3 個指標上均平均優于原生 FreTS 和基線模型。FreDF 在長期和短期預測任務上都展現出了良好的性能,證明了其作為一種通用預測范式的潛力。
論文還進行了消融實驗,研究時域損失、頻域損失對模型性能的貢獻。結果表明:僅使用頻域損失即可取得顯著的性能改進,而適當融合時域損失可以進一步優化性能。
進一步細化消融實驗,研究權重 α 對性能的影響。在絕大多數情況下,頻域損失的性能均優于時域損失(α=1 vs α=0)。這說明即使不對 α 做調節,直接將時域損失替換為頻域損失,也可以有效提升時序預測性能,真正實現「一行代碼漲點」。此外,預測性能一般在 α 接近 1(如 0.8 或 0.9)時最佳。這意味著在時域和頻域損失之間取得適當的平衡,并適當強調頻域損失,可以獲得較好的預測結果。
通過可視化預測序列發現,FreDF 生成的預測序列與真實標簽序列之間的擬合度更高,能夠更準確地捕捉到標簽序列中的高頻成分,同時抑制明顯的噪聲和異常波動。這說明頻域損失可以在一定程度上抑制時域損失的過擬合,保持較好的泛化能力。
論文還測試了 FreDF 在不同神經網絡架構上的表現,包括 iTransformer、DLinear、Autoformer 和 Transformer 等,證明了其與模型無關的特性:可以切實有效提升大多數主流時序預測模型的精度。
結論
自相關性的處理是時間序列預測的核心問題。現有方法聚焦輸入中的自相關性的處理,而對標簽中的自相關性尚未給予廣泛關注。特別是,現有的多任務預測方法,其損失函數假設掉了標簽中的自相關性,導致其相對似然函數有偏。
FreDF 提出了一種基于頻域標簽的訓練方法,既保留了多任務預測的特性,又有效避免了標簽自相關性帶來的偏差。作為一種模型無關的損失函數,實驗結果表明,其在多個預測模型上均表現出一致的性能提升。
不快來試一下?讓 FreDF 成為你性能優化的「最后一棒」!