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