Transformer頻域消偏提升時序預(yù)測準(zhǔn)確性
Transformer在時間序列中已經(jīng)應(yīng)用比較廣泛。但是最近一些針對Transformer的研究工作指出,Transformer的self-attention機制在建模序列數(shù)據(jù)時,比較傾向于學(xué)習(xí)低頻的信息,而忽略了高頻信息,造成頻率偏差問題,影響了預(yù)測效果。
在時間序列預(yù)測中,這個問題也存在,為了解決這個問題,在KDD 2024上,大阪大學(xué)發(fā)表了一篇相關(guān)工作Fredformer,對Transfomrer在時間序列預(yù)測中的這種問題進行了解決。
論文標(biāo)題:Fredformer: Frequency Debiased Transformer for Time Series Forecasting
下載地址:??https://arxiv.org/pdf/2406.09009v4??
1、背景
一些研究指出,transformer模型在進行時間序列預(yù)測時,會存在頻率偏差問題,也就是模型只關(guān)注到了序列數(shù)據(jù)中的低頻信息,忽略了高頻信息。這個問題在時間序列預(yù)測領(lǐng)域同樣存在。比如下圖是一些基于Transformer的預(yù)測模型,可以看到在預(yù)測結(jié)果中,模型的預(yù)測是比較平滑的,反映了整體的趨勢。但是對于高頻趨勢卻預(yù)測不出來。
為了進一步驗證這個問題,這篇文章首先進行了一些case study。預(yù)先設(shè)定3個頻率,根據(jù)這些頻率組成人造的時間序列數(shù)據(jù),使用Transformer模型進行訓(xùn)練并預(yù)測。下圖反應(yīng)了各個頻率的預(yù)測效果,訓(xùn)練到50輪后,k1作為低頻信號已經(jīng)被擬合的loss比較小了,但是k3這個高頻信號卻學(xué)得很差,說明Transformer時間序列預(yù)測模型也存在這種問題。而右側(cè)的圖調(diào)整了各個頻率成分的權(quán)重后,高頻的k3被擬合的更好了,k1反而擬合的不好。說明造成這種頻率偏差問題的主要原因是各個成分的權(quán)重不同。這有點類似于多任務(wù)學(xué)習(xí)中,不同任務(wù)的數(shù)據(jù)量或者loss差別大,導(dǎo)致模型側(cè)重于某幾個任務(wù)的學(xué)習(xí)。
2、建模方法
為了解決上述的頻率bias問題,本文從平衡各個頻率成分的比例出發(fā),同時又將各個頻率成分的建模拆解開,盡量減小各個成分之間的影響。
整體的模型結(jié)構(gòu)如下圖所示。首先,通過傅里葉變換將時間序列映射到頻域中。在頻域中,將時間序列進行分patch處理,并對每個patch的數(shù)據(jù)進行頻域中的歸一化。通過這種方式,讓每個頻率成分在patch內(nèi)單獨建模,又讓每個頻率成分的振幅值域歸一化到同一水平上,防止某一頻率主導(dǎo)了模型學(xué)習(xí)。
對于每一個頻率patch進行獨立的Transfomrer建模。這個過程類似于iTransformer的操作,在變量維度使用Transformer。假設(shè)有N個頻域patch,有C個變量,那么會有N個Transformer。每個Transformer在變量維度計算self-attention,每個頻域的patch獨立進行建模。通過這種方式,盡量減小各個頻率之間的干擾。
最終,再將頻域的表征通過逆向傅里葉變換映射回時域,通過一個MLP網(wǎng)絡(luò)映射到最終輸出結(jié)果。
3、實驗效果
在實驗中,作者對比了不同預(yù)測窗口的多變量時間序列預(yù)測效果,本文提出的方法取得了顯著的效果提升。
從case分析來看,模型相比其他Transformer模型,在高頻信號的預(yù)測上有一個顯著的提升,對于極值點的預(yù)估更加準(zhǔn)確。
本文轉(zhuǎn)載自 ??圓圓的算法筆記??,作者: Fareise
