高維多變量下的Transformer時序預測建模方法
今天給大家介紹一篇CIKM 2024中的時間序列預測工作,這篇文章針對高維多變量時序預測問題,提出了一種基于Transformer的建模方法。
論文標題:Scalable Transformer for High Dimensional Multivariate Time Series Forecasting
下載地址:??https://arxiv.org/pdf/2408.04245v1??
1.背景
現在的時間序列預測主要研究點都是如何擴長能夠建模的歷史長度和未來長度,也就是時間維度上的擴展。比較少的工作研究如何建模變量維度上的擴展。
在多變量時間序列建模中,現在的方法主要集中在channel-independ和channel-depend兩種方式上。后者雖然能考慮到變量間的關系,理論上界更高,但是實際應用中效果往往會比channel-independ方法效果差。特別是當變量維度增大后,這種效果差異更加明顯。
例如文中通過實驗驗證,Crossformer、iTransformer等channel-independ建模方法,相比PatchTST等channel-independ建模方法,在高維多變量時序預測中平均會差19%。
文中在一個數據集上驗證了Crossformer、iTransformer等channel-depend建模方法中,選擇變量的數量對效果的影響。選擇的變量按照和目標序列的相關系數進行排序,先引入相關度最高的,后引入相關度低的。從圖中可以看出,當選擇50%的最高相關性變量建模時,效果達到最好,說明引入多變量間關系建模確實可以提升效果。但是當進一步引入更多變量時,效果開始下降。
文中認為,下降的原因主要是隨著引入變量的相關性變差,引入了更多噪聲,反而影響了模型的學習。比如下圖中,先引入的相關變量都和目標序列趨勢很像,但是后引入的變量和目標變量差異很大。
2.建模方法
針對上述分析,為了適應這種高維多變量建模問題,文中提出了一種稀疏關聯矩陣的Transformer建模方法。核心是篩選出相關性比較高的變量作為目標變量的輔助序列,再基于Transformer構建時間-空間的二維attention,實現最大化相關序列有效信息的引入。
整體的建模方法如圖所示。對于每個序列,根據皮爾遜相關系數,選擇和其最相關的topK的其他序列,這些序列作為輔助序列,和目標序列一起輸入到后續的模型中。
這種引入外部序列的方法,會導致一個batch內的樣本數量大增。為了減輕內存和計算壓力,文中采用了一種ReIndex方法重新組織數據。原本的建模方法每個batch數據的組織方法如下圖灰色部分所示,隨機采樣多組target-輔助序列組合輸入模型。ReIndex的引入如右圖灰色所示,相當于每次只訓練一個target序列,然后將其輔助序列的不同子序列訓練采樣多組。通過這種方式,省去了對多個target序列的采樣,大大降低的計算和內存開銷。
在具體的模型結構上,文中采用了一種2維Transformer。對于目標序列和輔助序列,都分成多個patch。對于每個patch,加上其對應的時間位置編碼,以及其對應的channel位置編碼。相比于Crossformer在時間和變量兩個維度進行兩階段的attention,本文直接將所有時間、變量維度的patch放到一起進行attention,實現任意時刻、任意變量之間的attention計算。
3.實驗效果
文中在高維數據集中驗證了效果,相比之前的channel-depend和channel-independ方法都取得了顯著的效果提升。
下圖展示了引入最相關topK、最不相關topK作為輔助序列的效果以及不引入輔助序列的效果對比,可以看到,只有當引入最相關topK個序列時,效果才是最優的,表明輔助序列和目標序列的相關性,確實是channel-depend建模的關鍵。
本文轉載自 ??圓圓的算法筆記??,作者: Fareise
