摘要:本文提出了一個端到端的MTS預測框架METRO。METRO的核心思想是利用多尺度動態圖建模變量之間的依賴關系,考慮單尺度內信息傳遞和尺度間信息融合。
本文分享自華為雲社區《VLDB'22 METRO論文解讀》,作者:雲數據庫創新Lab 。
0 導讀
本文(METRO: A Generic Graph Neural Network Framework for Multivariate Time Series Forecasting)是由華為雲數據庫創新Lab聯合電子科技大學數據與智能實驗室發表在頂會VLDB‘22的文章,該文章提出了一種的多元時序預測算法METRO。VLDB是CCF推薦的A類國際學術會議,是數據庫領域頂級學術會議之一。該論文是雲數據庫創新LAB在時序分析層面取得的關鍵技術成果之一。
METRO是基於自注意力機制(self-attention)的深度學習算法。該算法能有效學習歷史數據的多種周期性以及提取不同時間線的相關性,為時序預測任務提供更准確的結果,使時序數據庫具有強大的分析能力。目前METRO已經作為GaussDB for Influx的時序預測算子在華為雲上線,應用場景包括對服務器容量指標進行預測,指導服務器擴容操作;以及對交通路段擁堵程度預測,動態指導地圖路徑規划等。結合METRO提供的強大分析能力以及GaussDB for Influx已有的超大規模時間線快速讀寫能力,GaussDB for Influx已具備從大規模時序數據中持續挖掘數據潛在價值的能力。
1 背景
多元時間序列(Mltivariate Time Series, MTS)預測因具有廣泛的應用場景而受到越來越多的關注。目前的多元時間序列模型普遍具有以下不足:
- 忽視了變量間依賴關系的動態特性。
- 沒有充分考慮一個時間序列內不同尺度的時序模式
因此,本文提出了一個端到端的MTS預測框架METRO。METRO的核心思想是利用多尺度動態圖(Multi- scale temperal graph)建模變量之間的依賴關系,考慮單尺度內信息傳遞和尺度間信息融合。同時,METRO也是一個通用的框架,現有的基於圖神經網絡的MTS預測模型可以被描述成METRO的特例。我們在公開的真實數據集和華為雲的在線生產環境上進行了大量實驗,結果表明,METRO在預測准確性,運行時間,模型大小上都優於SOTA。同時,我們也通過例化多個基於METRO的預測模型,展示了他們在性能和時間空間開銷之間的的trade-off。
2 METRO
2.1 定義
定義1 動態圖(Temporal graph): 我們將多元時間序列的變量描述成節點,變量之間的依賴關系描述成邊,則動態圖G(t)=(V(t),E(t))G(t)=(V(t),E(t))可被用來建模變量之間的動態相關性。動態圖可以看作一系列靜態圖組成的時間序列。如下圖所示。
定義2 多尺度動態圖(Multi-scale Temporal graph): 若動態圖中的每個時間步都是在時間尺度ss下觀察/歸納得到的,我們稱該動態圖是關於尺度ss的,記為G_s(t)=(V_s(t),E_s(t))Gs(t)=(Vs(t),Es(t))。利用多個時間尺度觀察原始MTS,則可得到多尺度動態圖。如下圖所示。
2.2 模型框架
METRO包含四個部分,temporal graph embedding (TGE) 模塊,singe-scale graph update (SGU) 模塊, cross-scale graph fusion (CGF) 模塊 和 predict 模塊。
2.3 TGE
TGE類似編碼器,利用函數emb()emb()得到原始MTS中變量對於不同時間尺度s_isi的表示,也即獲得動態圖中節點的嵌入向量\mathbf{H}^{l}({t})Hl(t)。emb()emb()可被實現成拼接,求和,卷積,LSTM,GRU等等。
2.4 SGU
對於TGE的到的多尺度動態圖,SGU按照尺度分別處理,完成在單一尺度下動態圖內的信息傳遞。
首先,由於變量之間的依賴關系未知且動態變化,我們使用圖學習函數g_m()gm()自動學習變量在相鄰時間步之間的聯系,即鄰接矩陣AA, 再通過msg()msg()函數建模相鄰時間步之間的信息,記為mm。
接下來,agg()agg()函數被用來聚合所有mm,得到\widetilde{m}m,\widetilde{m}m可被看作是一張包含了整體序列信息的新圖。對於時間步tt,我們利用所有tt時刻之前的信息聚合得到的\widetilde{m}m來對其進行更新,得到\hat{\mathbf{H}}^{l+1}({t})H^l+1(t)。
其中,msg(),upd()msg(),upd() 可被實現成GCN,Transformer。agg()agg()可被實現成多數時序模型,例如Transformer,LSTM,GRU等。 g_m(),g_u()gm(),gu()在目前的工作中曾被實現成 transfer entropy,線性層等,也可以利用attention模型。
當對於tt的部分未來信息也可獲得時,也可將其加入用於更新,這在本文中被稱作SUG-C (SUG-Contextual)。
2.5 CGF
多尺度融合可使模型自動地選擇有效的時間尺度組合,以適應當前預測的horizon。在CGF模塊,我們首先通過samp()samp()函數找到可融合的時間步,其需滿足對應的原始時間片段可對齊。再通過g_f(),fuse()gf(),fuse() 函數進行圖結構的學習和信息傳播,此步可用的實現與SUG類似。
SGU與CGF可堆疊多層,以通過增加深度增加模型expressiveness。
2.6 Predict
最終的預測結果取CGF最后一層,輸入pred()pred()函數獲得。pred()pred()可被實現為常見的輸出層,例如線性層等。
2.7 實例化METRO
我們對METRO進行了如下實例化。
3 實驗
3.1 在公開數據集上與baseline比較
在四個公開數據集,4個預測horizon上,METRO-attn相對於SOTA模型獲得了更好的RSE和CORR。
3.2 開銷和准確率的權衡
我們總結了METRO的各個實例化模型對應准確率與訓練時間/測試時間/GPU memory/model size的關系,因引入了SOTA模型做比較,發現METRO模型總體開銷顯著低於SOTA,且由於模塊的實現方式不同,METRO模型內部也存在着不同的准確率-開銷trade off,其中,METRO-attn是一個有效且相對簡單的實現。
3.3 模型參數分析
我們在METRO-attn上進行了參數分析,得到了使用較多時間尺度有利,大時間尺度對於長horizon預測有利等結論。
4. 應用
我們將METRO應用於華為雲真實生產環境,於其產生的私人數據集上進一步測試了模型效果,實驗表明,METRO顯著優於SOTA模型。
5. 總結
本文提出了一個端到端的MTS預測框架METRO。METRO的核心思想是利用多尺度動態圖(Multi- scale temperal graph)建模變量之間的依賴關系,考慮單尺度內信息傳遞和尺度間信息融合。我們在公開的真實數據集和華為雲的在線生產環境上進行了大量實驗,結果表明,METRO在預測准確性,運行時間,模型大小上都優於SOTA。
目前METRO已經作為GaussDB for Influx的時序預測算子應用在了生產環境中,應用場景包括對服務器容量指標進行預測,指導服務器擴容操作;交通路段擁堵程度預測,動態指導地圖路徑規划等。結合METRO提供的強大分析能力以及GaussDB for Influx已有的超大規模時間線快速讀寫能力,GaussDB for Influx已具備從大規模時序數據中持續挖掘數據潛在價值的能力。
華為雲數據庫創新lab官網:https://www.huaweicloud.com/lab/clouddb/home.html