Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting

摘要

多步(尺度)預測通常包含一個復雜的輸入組合——包括靜態(tài)(即時不變)協(xié)變量惊窖、已知的未來輸入,以及其他僅在過去觀察到的外生時間序列——沒有任何關于它們?nèi)绾闻c目標相互作用的先驗信息厘贼。幾種深度學習方法已經(jīng)被提出界酒,但它們通常是“黑盒”模型,并不能闡明它們?nèi)绾问褂脤嶋H場景中出現(xiàn)的全部輸入嘴秸。在本文中毁欣,我們介紹了時間融合變壓器(TFT)——一種新的基于注意的架構(gòu),它結(jié)合了高性能的多步預測和對時間動態(tài)可解釋的洞察力岳掐。為了學習不同尺度上的時間關系凭疮,TFT使用循環(huán)層進行局部處理,并使用可解釋的自我注意層進行長期依賴串述。TFT利用專門的組件來選擇相關的特性和一系列的門控層來抑制不必要的組件执解,從而在廣泛的場景中實現(xiàn)高性能。

歷史瓶頸

在時序多步預測任務中纲酗,DNN面臨以下兩個挑戰(zhàn):

1. 如何利用多個數(shù)據(jù)源衰腌? ? ?? 2. 如何解釋模型的預測結(jié)果?

1. 如何利用多個數(shù)據(jù)源觅赊?

如上圖桶唐,在時間序列預測中,所有的變量都劃分為兩個大類:

1茉兰、靜態(tài)變量尤泽;

2、動態(tài)變量

(1)靜態(tài)變量(Static Covariates):不會隨時間變化的變量规脸,例如商店位置;

(2)時變變量(Time-dependent Inputs):隨時間變化的變量;

過去觀測的時變變量(Past-observed Inputs):過去可知坯约,但未來不可知,例如歷史客流量

先驗已知未來的時變變量(Apriori-known Future Inputs):過去和未來都可知莫鸭,例如節(jié)假日闹丐;

靜態(tài)變量可以細分為:

再細分可以劃分為靜態(tài)連續(xù)變量和靜態(tài)離散變量,靜態(tài)離散變量很好理解被因,例如商品所在的城市卿拴,商品的大類衫仑,商品所在銷售區(qū)域等等,這些變量都是不會隨著時間發(fā)生變化的堕花,而靜態(tài)連續(xù)變量文狱,例如,商品A在2020年的年總銷售金額缘挽,商品B在2021年雙十一期間的銷量等瞄崇,這些不會隨著時間變化的變量都是靜態(tài)變量,或者說壕曼,靜態(tài)特征(這里需要注意定義苏研,如果說的是前一年銷量,則是一個動態(tài)變量腮郊,因為時間點和取值是會發(fā)生變化的摹蘑,真特么繞);

動態(tài)變量分為兩種(論文里的圖沒有畫的特別詳細轧飞,所以看后面的地方會比較疑惑)

1纹蝴、動態(tài)時變變量;

2踪少、動態(tài)時不變變量

(當然,動態(tài)時變和時不變的變量中也都包含了連續(xù)和離散型的features,不過這個很好區(qū)分糠涛,下面的描述主要還是從時變和時不變展開來看的)

所謂動態(tài)時變量指的就是隨著時間變化的特征援奢,例如我們要預測的銷售金額,明天的客流量忍捡,網(wǎng)頁的pv集漾,uv等等;動態(tài)時不變變量也是隨著時間變化的特征砸脊,例如月份具篇,星期幾,那么二者的區(qū)別是什么凌埂?

二者的核心區(qū)別在于是否可以推斷出來驱显,動態(tài)時變變量是無法推斷的,比如在經(jīng)典的溫度預測的例子里瞳抓,溫度埃疫,濕度杭煎,氣壓這些都是無法推斷的域滥,隨著時間變化的携取,我們無法事先知道的择份。而動態(tài)時不變變量疆股,最典型的就是月份贯卦,星期幾了麸粮,這些變量他們雖然也是隨著時間變化的慧脱,但是我們是可以輕而易舉的進行推斷從而應用到模型訓練的過程中。

常規(guī)的向量輸出的深度學習模型在訓練的過程中是不會用到未來的特征的仅炊,即使是靜態(tài)特征斗幼,例如我們用歷史的30天的銷量數(shù)據(jù)預測未來10天的銷量數(shù)據(jù),我們在模型訓練的過程中不會用到未來十天的任何特征茂洒。

而很多RNN結(jié)構(gòu)的變體模型孟岛,還有Transformer的變體模型,很少在多步預測任務上督勺,認真考慮怎么去利用不同數(shù)據(jù)源的輸入渠羞,只是簡單把靜態(tài)變量和時變變量合并在一起,但其實針對不同數(shù)據(jù)源去設計網(wǎng)絡智哀,會給模型帶來提升次询。

因為無論是tcn,wavenet瓷叫,nbeats屯吊,deepar,LSTM摹菠,seq2seq based model 或者是attention-based model 或是transformer盒卸,我們在構(gòu)建模型的時候,都是將所有的特征按照time step 直接concat在一起次氨,也就是說蔽介,目前現(xiàn)有的處理方式基本上就是“萬物皆時序”,將所有的變量全部都擴展到所有的時間步煮寡,無論是靜態(tài)虹蓄,動態(tài)的變量都合并在一起送入模型,文中提到如果模型能夠?qū)o態(tài)和動態(tài)變量加以區(qū)分幸撕,能夠進一步提升模型的泛化性能(存疑薇组,不一定吧?)坐儿。其實如果有關注時序比賽的話律胀,可以看看top solutions里關于nn的代碼,基本上大家都是直接把所有變量一起放到模型里traing的貌矿,而不區(qū)分靜態(tài)累铅,動態(tài),或者動態(tài)時變 or 動態(tài)時不變站叼。

2. 如何解釋模型的預測結(jié)果娃兽?

除了不考慮常見的多步預測輸入的異質(zhì)性之外,大多數(shù)當前架構(gòu)都是" 黑盒" 模型尽楔,預測結(jié)果是由許多參數(shù)之間的復雜非線性相互作用控制而得到的投储。這使得很難解釋模型如何得出預測第练,進而讓使用者難以信任模型的輸出,并且模型構(gòu)建者也難對癥下藥去Debug模型玛荞。不幸的是娇掏,DNN常用的可解釋性方法不適合應用于時間序列。在它們的傳統(tǒng)方法中勋眯,事后方法(Post-hoc Methods)婴梧,例如LIME和SHAP不考慮輸入特征的時間順序。另一方面客蹋,像Transformer架構(gòu)塞蹭,它的自相關模塊更多是能回答“哪些時間點比較重要?”讶坯,而很難回答“該時間點下番电,哪些特征更重要?”辆琅。


論文貢獻

本文提出的TFT模型有如下貢獻:

1. 靜態(tài)協(xié)變量編碼器:可以編碼上下文向量漱办,提供給網(wǎng)絡其它部分;

2. 門控機制和樣本維度的特征選擇:最小化無關輸入的貢獻婉烟;

3. sequence-to-sequence層:局部處理時變變量(包括過去和未來已知的時變變量)娩井;

4. 時間自注意解碼器:用于學習數(shù)據(jù)集中存在的長期依賴性。這也有助于模型的可解釋性似袁,TFT支持三種有價值的可解釋性用例洞辣,幫助使用者識別:

● 全局重要特征;

● 時間模式叔营;

● 重要事件。

模型

我們設計了時間融合轉(zhuǎn)換器(TFT)所宰,使用規(guī)范組件為每個輸入類型(即靜態(tài)绒尊、已知輸入、觀察輸入)高效地構(gòu)建特征表示仔粥,使其能夠在廣泛的問題上獲得高預測性能婴谱。TFT的主要組成部分是:

(1)控制機制,跳過架構(gòu)中任何未使用的組件躯泰,提供自適應深度和網(wǎng)絡復雜性谭羔,以適應大范圍的數(shù)據(jù)集和場景。門控線性單元在整個體系結(jié)構(gòu)中得到了廣泛的應用麦向,門控剩余網(wǎng)絡被提出作為主要的構(gòu)建模塊瘟裸。

(2)變量選擇網(wǎng)絡,在每個時間步選擇相關的輸入變量诵竭。

(3)靜態(tài)協(xié)變量編碼器话告,通過對上下文向量進行編碼兼搏,以條件時間動態(tài),將靜態(tài)特征融入到網(wǎng)絡中沙郭。

(4)時間處理佛呻,學習長期和短期的時間關系,同時自然地處理觀察到的和先驗知道的時變輸入病线。一個序列-序列層被用于局部特征處理吓著,而長期依賴關系被捕獲使用一個新的可解釋的多頭注意塊。

(5)多水平預測區(qū)間預測送挑,在每個預測水平產(chǎn)生分位數(shù)預測

下圖顯示了TFT的高級體系結(jié)構(gòu)绑莺,后面的部分將詳細描述各個組件。模型的開源實現(xiàn)也可以在GitHub1上找到让虐,完全可復制紊撕。

google-research/tft at master · google-research/google-research · GitHub

總結(jié)一下,GRN用了skip-connection和GLU赡突,主要是控制線性和非線性特征的特征信息的貢獻(Gate+Add&Norm)对扶,特別是加入靜態(tài)協(xié)變量c,去引導模型的學習惭缰。VSN是配合GRN和softmax浪南,進行特征選擇。TFD中的多頭自關注模塊提供了可解釋性和時序長依賴關系的捕捉能力漱受。

新認識:

2. VSN軟性的特征(變量)選擇络凿;
3. GRN作線性特征與非線性特征的融合,對非線性變量作篩選昂羡。其中這里用的殘差絮记,類似教師機制,對模型的訓練很有效果虐先、以及使用GLU來作門限組件怨愤,起到了特征選擇的作用,與TabNet相似蛹批、以及ELU激活函數(shù)撰洗,比relu效果更好,小于0的部分不會出現(xiàn)梯度消失的情況腐芍,呈指數(shù)形式差导。
4. TSL中,多頭注意力機制的使用:可解釋性多頭自關注層比較好理解(與Transformer不同之處)猪勇,它其實就是針對V是多頭共享參數(shù)设褐,對Q和K是多頭獨立參數(shù),然后計算多頭attention score加權(quán)后的V,
5. 預測分位數(shù):
除了像DeepAR預測均值和標準差络断,然后對預測目標做高斯采樣后裁替,做分位數(shù)統(tǒng)計。
分位數(shù)損失函數(shù):
當q取越大貌笨,使得loss更小弱判,\hat{y} 相較y越大;當q取越小锥惋,欲使得loss更小昌腰,\hat{y} 相較y越小。
由于q取90%膀跌,訓練時遭商,模型會越來越趨向于預測出大的數(shù)字,這樣Loss下降的更快捅伤,則模型的整個擬合的超平面會向上移動劫流,這樣便能很好的擬合出目標變量的90分位數(shù)值。
我們對于未來的預測就能夠產(chǎn)生 prediction intervals了丛忆,可以比較好的反應預測結(jié)果的不確定性祠汇,比如某個點的不同分位數(shù)線性回歸的預測結(jié)果很接近,則其prediction intervals很窄熄诡,預測的確定性高可很,反之亦然。


創(chuàng)新點

對時序模型的輸入進行了分類凰浮。文章提出的分類方式是從模型視角出發(fā)我抠,對不同預測任務輸入的特征作了抽象的歸類。

指出了探索不同數(shù)據(jù)源交互信息的重要性袜茧。這一點也可以說是用深度學習作預測的重要性菜拓,因為深度學習模型的優(yōu)點在于捕捉非線性關系,這種關系在真實的系統(tǒng)中大量存在笛厦。

強調(diào)了時序預測可解釋性的重要性纳鼎。時序預測無法像推薦算法、圖像算法那樣直接產(chǎn)生收益递递,更多起到輔助決策的作用喷橙,在利益方牽涉較廣的電力啥么、交通登舞、經(jīng)濟、金融系統(tǒng)中悬荣,黑盒模型始終缺乏說服力菠秒。

消融實驗

另外作者對網(wǎng)絡模塊做了消融實驗,如圖12。從下圖右側(cè)践叠,我們能看到Self-Attention和Local Processing(LSTM層)貢獻最大言缤,但不同數(shù)據(jù)集上,兩者的貢獻大小并不絕對禁灼,比如對于Traffic數(shù)據(jù)集管挟,Local Processing更重要,作者認為是Traffic數(shù)據(jù)集得目標歷史觀測值更重要弄捕,所以Local Processing發(fā)揮了更大的作用僻孝。而對于Eelectricity數(shù)據(jù)集,Self-Attention更重要守谓,作者認為是電力的周期性明顯穿铆,hour-of-day特征甚至比預測目標Power Usage的歷史觀測值更重要,所以自關注發(fā)揮作用更大斋荞。

對TFT的解釋性荞雏,作者從3方面進行展示:(1)檢查每個輸入變量在預測中的重要性,(2)可視化長期的時間模式平酿,以及(3)識別導致時間動態(tài)發(fā)生重大變化的任何狀態(tài)或事件凤优。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市染服,隨后出現(xiàn)的幾起案子别洪,更是在濱河造成了極大的恐慌,老刑警劉巖柳刮,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挖垛,死亡現(xiàn)場離奇詭異,居然都是意外死亡秉颗,警方通過查閱死者的電腦和手機痢毒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚕甥,“玉大人哪替,你說我怎么就攤上這事」交常” “怎么了凭舶?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長爱沟。 經(jīng)常有香客問我帅霜,道長,這世上最難降的妖魔是什么呼伸? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任身冀,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搂根。我一直安慰自己珍促,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布剩愧。 她就那樣靜靜地躺著猪叙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仁卷。 梳的紋絲不亂的頭發(fā)上沐悦,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音五督,去河邊找鬼藏否。 笑死,一個胖子當著我的面吹牛充包,可吹牛的內(nèi)容都是我干的副签。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼基矮,長吁一口氣:“原來是場噩夢啊……” “哼淆储!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起家浇,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤本砰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钢悲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體点额,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年莺琳,在試婚紗的時候發(fā)現(xiàn)自己被綠了还棱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡惭等,死狀恐怖珍手,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辞做,我是刑警寧澤琳要,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站秤茅,受9級特大地震影響稚补,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嫂伞,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一孔厉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧帖努,春花似錦撰豺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至匙监,卻和暖如春凡橱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亭姥。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工稼钩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人达罗。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓坝撑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粮揉。 傳聞我的和親對象是個殘疾皇子巡李,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容