WWW 2021 | Radflow: 可进行数十万节点的多变量时序预测模型
?作者?|?方雨晨
學(xué)校?|?北京郵電大學(xué)
研究方向?|?時空數(shù)據(jù)挖掘
此文使用與 N-BEATS 一樣的層級循環(huán)神經(jīng)網(wǎng)絡(luò)捕捉不同的時間趨勢。然后將循環(huán)神經(jīng)網(wǎng)絡(luò)的輸出做空間消息傳遞。在超大的網(wǎng)絡(luò)時序數(shù)據(jù)集上取得 SOTA 的結(jié)果。
論文標(biāo)題:
Radflow: A Recurrent, Aggregated, and Decomposable Model for Networks of Time Series
論文代碼:
https://github.com/alasdairtran/radflow
論文鏈接:
https://arxiv.org/abs/2102.07289
Preliminary
給出時序圖 ,且圖中有 個節(jié)點,所以 ,且有 條邊。每個節(jié)點 在時間 內(nèi)的觀測值為:
表示節(jié)點 在 時刻被觀測到 個特征,當(dāng)只有一個值時 。 表示節(jié)點 在時間? 到時間 的子序列。
如果節(jié)點 與節(jié)點 在時間 有關(guān)聯(lián),就添加一條從 的邊 。 表示節(jié)點 在 時刻的鄰居集合,因為邊集是會隨時間邊而變化的,所以圖 是動態(tài)圖。因此 時間內(nèi)的鄰接矩陣表示維 , 表示在時間 存在節(jié)點 到節(jié)點 的邊。
現(xiàn)在定義時序預(yù)測問題,也即給出一段長為 的歷史觀測值預(yù)測未來 時刻的值。假設(shè)未來與歷史的分割線為 ,那么關(guān)于節(jié)點 未來 到 時間的預(yù)測可以表示為:
也即使用過去 B 時刻的觀測值與其鄰居節(jié)點信息對未來做出預(yù)測。對未來鄰居節(jié)點有兩種設(shè)置,一種為 IMPUTATION,也即已經(jīng)知道未來鄰居節(jié)點的值,表示為:
當(dāng)我們要填補(bǔ)序列中的缺失值或者解釋節(jié)點受鄰居影響時通常使用這種設(shè)置。另一種為 FORECAST,也即使用我們時間序列的觀測值對所有節(jié)點的未來值做出預(yù)測,然后使用預(yù)測的鄰居節(jié)點信息對當(dāng)前節(jié)點做出預(yù)測。
在兩者設(shè)置下,最后預(yù)測的輸出都可以表示為:
表示節(jié)點 在 時刻 的預(yù)測值。
Challenge
作者指出目前時序預(yù)測還存在以下三個缺陷:
Expressiveness:目前的模型過于簡單,沒有考慮到多個時序變量之間的關(guān)系,N-BEATS 雖然對時間序列進(jìn)行分解但是也沒有對時序圖進(jìn)行建模。
Scale:本文的目標(biāo)是對含有幾十萬個節(jié)點的時序圖進(jìn)行建模,不僅要考慮到時間序列內(nèi)容與空間內(nèi)容,更要考慮到時空內(nèi)容的交互。T-GCN 模型雖然集成了 GNN 與 RNN,但是受限于其復(fù)雜度難以處理大規(guī)模數(shù)據(jù)集。
Dynamic:多個變量間的關(guān)系是隨著時間變化而變化的。動態(tài)網(wǎng)絡(luò)雖然已經(jīng)是 GNN 的研究熱點,但是卻只被用在了鏈接預(yù)測與節(jié)點分類等任務(wù),并沒有被用于時間序列預(yù)測中。
Contribution
此文提出了一個基于分解原則的循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu),并將循環(huán)神經(jīng)網(wǎng)絡(luò)的輸出作為網(wǎng)絡(luò)流匯聚的輸入,模型名為 Radflow。它可以生成節(jié)點嵌入作為圖模型的輸入優(yōu)于 N-BEATS,也可以通過注意力機(jī)制采樣重要節(jié)點處理大規(guī)模節(jié)點數(shù)據(jù)集,而且 Radflow 的結(jié)構(gòu)可以處理動態(tài)變化的節(jié)點關(guān)系。此外,注意力與層分解策略為網(wǎng)絡(luò)與時間的影響提供了可解釋性。具體如下:
Radflow 是一個可以進(jìn)行數(shù)十萬節(jié)點的多變量時序預(yù)測的端到端預(yù)測模型。
通過層分解與多頭注意力為時序模式和網(wǎng)絡(luò)鄰居提供了可解釋的預(yù)測。
在現(xiàn)實數(shù)據(jù)集的不同任務(wù)上的表現(xiàn)超過了時序模型與網(wǎng)絡(luò)模型。
此文公開了一個含有 366K 節(jié)點和 22M 邊的多變量時序預(yù)測數(shù)據(jù)集,名為 WIKITRAFFIC。
Method
4.1 Overview
如下圖所示,模型主要由 Recurrent 與 Flow Aggregation 兩個模塊組成。其中 Recurrent 模塊遵循層級分解機(jī)制對每個變量進(jìn)行時序建模,Flow Aggregation 模塊根據(jù)節(jié)點間的消息匯聚對輸出結(jié)果進(jìn)行調(diào)整。節(jié)點在 時刻的預(yù)測值可以表示為:
其中 表示 Recurrent 模塊的預(yù)測值, 表示 Flow Aggregation 的預(yù)測值。另外 Flow Aggregation 模塊以 Recurrent 模塊輸出為輸入。
4.2 Recurrent component
Recurrent 模塊由 L 個堆疊的 LSTM 組成,具體結(jié)構(gòu)如上圖所示,首先對節(jié)點觀測值使用線性變換將其轉(zhuǎn)到高維空間作為第一層 LSTM 的輸入:
其中 表示可學(xué)習(xí)的參數(shù)。作者表示假設(shè) 并且 是全 向量,那么相當(dāng)于是有了 個并行的 的觀測值。
對于 個堆疊的 LSTM 模塊, 表示節(jié)點 在 時刻的第 個模塊的輸入,且式 7 表示第一個模塊的輸入。每個模塊將有三個輸出值 backcast vector 、forecast vector 和 node vector :
上式中 FeedForward 層有兩個線性層夾一個 GELU 激活函數(shù)組成:
backcast vector 是當(dāng)前層對于殘差時間模式的預(yù)測并且將作為下一層 LSTM 的輸入組成之一:
forecast vector 是第 個 LSTM 模塊對于下一個時間的預(yù)測值,下一個時間的 Recurrent 模塊預(yù)測值為所有當(dāng)前時間所有 LSTM 的 forecast vector 之和:
其中 ,最后再使用一個線性函數(shù)將維度降低為觀測維度 作為式 6 的第一項:
4.3 Flow aggregation component
層首先將 Recurrent 層每個模塊輸出的 node vector 相加作為流匯聚層的輸入:
在 IMPUTATION 設(shè)置中, 節(jié)點在 時刻的鄰居節(jié)點集合表示為:
在 FORECAST 設(shè)置中,將使用真值得到的 替換為預(yù)測值得到的 。然后將 節(jié)點在 t 時刻的嵌入映射為 query:
然后將 t+1 時刻鄰居的嵌入映射為 key 和 value:
時刻 節(jié)點從鄰居節(jié)點得到的帶權(quán)和信息可以表示為:
注意力權(quán)重 通過 query 與 key 的點積接 softmax 得到。上式中并不包括 節(jié)點自身的信息,作者通過參數(shù)融合 時刻節(jié)點的自身信息與 時刻鄰居信息:
然后再使用一個線性映射將其轉(zhuǎn)換為觀測維度 作為式 6 的第二項:
此外作者還提出了另外兩者消息匯聚方式。第一種是將式 18 替換為下式,稱為 Radflow-GraphSage:
第二種采用更簡單的方式去掉式 19 中的線性映射簡單相加稱為 Radflow-MeanPooling。
Experiments
5.1 Datasets
此文使用了四個數(shù)據(jù)集。分別是根據(jù)靜態(tài)路網(wǎng)結(jié)構(gòu)得到靜態(tài)圖的交通數(shù)據(jù)集 Los-LOOP 和 SZ-TAXI,以及根據(jù)每天的 Youtube 訪問順序變化的 VEVOMUSIC 數(shù)據(jù)集和根據(jù) WIKI 頁面訪問順序變化的 WIKITRAFFIC 數(shù)據(jù)集。
其中 WIKITRAFFIC 是此文收集的新的數(shù)據(jù)集。VEVOMUSIC 數(shù)據(jù)集和 WIKITRAFFIC 數(shù)據(jù)集都是節(jié)點數(shù)量上萬的大型多變量時序預(yù)測數(shù)據(jù)集,如下圖所示。
此外此文還展示了兩個動態(tài)圖數(shù)據(jù)集的邊生存時間,可以看出 WIKITRAFFIC 的邊存在時間更長。
5.2 Results
此文首先展示了 Radflow 在不使用圖信息的情況下與單變量時序模型的比較,如下圖所示 Radflow-NoNetwork 的表現(xiàn)優(yōu)于 sota 模型 N-BEATS。
然后此文展示了在使用靜態(tài)圖數(shù)據(jù)集上的表現(xiàn),優(yōu)于 sota 模型 T-GCN。Copying Previous Step 表示直接使用歷史的最后一個值作為預(yù)測值,SMAPE 很低不太懂為什么。
最后此文展示了 Radflow 在基于動態(tài)圖的大型多變量時序預(yù)測數(shù)據(jù)集上的表現(xiàn)。Radflow-GAT 表示 Aggregation 模塊使用 GAT 進(jìn)行消息匯聚。
5.3 Ablation
作者對 Aggregation 使用的 node vector 做消融實驗分別為下圖中的 16-20。然后也進(jìn)行了去除式 19 中的線性變換 no final projection 以及單頭注意力 one attention head 實驗。
5.4 Visulization
作者可視化了 Recurrent 模塊中每一層的預(yù)測結(jié)果,可以看到每一層預(yù)測了不同的時間模式。
然后作者隨機(jī)去除數(shù)據(jù)集中的節(jié)點與邊時模型的表現(xiàn)。可以看出缺失節(jié)點時使用圖信息的模型魯棒性更強(qiáng)。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點剖析、科研心得或競賽經(jīng)驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯(lián)系方式(微信),以便我們在稿件選用的第一時間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的WWW 2021 | Radflow: 可进行数十万节点的多变量时序预测模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招聘一周 | 腾讯、华为、微软、中科院自
- 下一篇: 博士申请 | 宾州州立大学 (PSU)