论文笔记:N-BEATS: NEURAL BASIS EXPANSION ANALYSIS FORINTERPRETABLE TIME SERIES FORECASTING
ICLR 2020
0 摘要
? ? ? ? 本文重點研究了利用深度學習解決單變量時間序列點預測問題。
????????我們提出了一種基于后向和前向殘留鏈路和一個非常深的全連接層堆棧的深度神經結構。
????????該體系結構具有許多令人滿意的特性,這些特性是可解釋的,適用于廣泛的目標領域而無需修改,并且可以快速訓練。
????????我們在幾個著名的數據集上測試了提出的體系結構,包括M3、M4和旅游競賽數據集,這些數據集包含了來自不同領域的時間序列。
????????我們展示了兩個配置下N-BEATS模型 在所有數據集 中的最先進的性能:相比于統計基準,提高了預測準確性11%,相比于去年M4比賽的冠軍,提升了3%。
????????我們模型的第一個配置不使用任何特定于時間序列的組件,它在異構數據集上的表現強烈地表明,與普遍接受的智慧相反,深度學習原語(如殘差塊)本身就足以解決廣泛的預測問題。
?
????????最后,我們演示了如何將所提議的架構加以擴充,以提供可解釋的輸出,而不會造成大的準確性損失。
1 簡介?
? ? ? ? 時間序列預測問題,不像計算機視覺或自然語言處理等領域【在這兩個領域,深度學習(DL)技術現在已經牢牢占據優勢】,仍有證據表明,深度學習和DL相比于超越經典的統計方法,沒有特別多的優勢 (Statistical and machine learning forecasting methods: Concerns and ways forward)
? ? ? ? 本篇論文旨在探索純deep learning架構在時間序列預測問題中的潛力。
????????此外,在可解釋DL架構設計的背景下,我們有興趣回答以下問題:我們能否在模型中注入合適的歸納偏差,使其內部操作更易于解釋(即提取一些可解釋的驅動因素,結合產生一個給定的預測)?
1.1 本文貢獻
1.1.1 深度神經網絡架構
????????我們所知,這是第一篇論文用實驗結論證明:沒有使用時間序列特定組件、只依靠純deep learning的模型,在 M3, M4和旅游數據集上的表現 優于廣泛使用的統計方法。
????????在我們看來,這為純ML在時間序列預測中的應用提供了一個長期缺失的概念證明,并增強了繼續推進該領域研究的動力。
1.1.2 時間序列問題中的可解釋性深度學習
????????除了準確性方面的好處外,我們還表明設計一個具有可解釋輸出的架構是可行的,從業者可以 以與傳統分解技術(如“季節性-趨勢-級別”方法)非常相同的方式使用該架構
2 問題定義
????????考慮離散時間條件下的單變量點預測問題。
????????給定一個長度為h的預測視界,一個長度為t的觀測序列歷史,我們的任務是預測未來
? ? ? ? 出于簡化考慮,我們將一個長度為t≤t,以最后一個觀測值yT結束的回溯窗口作為模型輸入
? ? ? ? ?我們記為y的預測值
? ? ? ? 下面的幾個是用來衡量模型的預測效果的?
RMSE、MAE等誤差指標整理_UQI-LIUWJ的博客-CSDN博客
?
?
` ????????這里m是數據的周期。
????????MAPE (Mean Absolute Percentage Error), sMAPE (symmetric MAPE)和MASE (Mean Absolute scaling Error)是預測實踐中的標準無標度度量。
????????sMAPE是通過預測和真實之間的平均值來縮放誤差。
????????MASE根據na?ve預測器的平均誤差進行縮放,該預測器簡單地復制了過去測量的倒數第m個周期的觀測結果,因此考慮了周期性。
????????OWA(總體加權平均)是一個m4特定的指標,用于對參賽作品進行排名,其中sMAPE和MASE指標被標準化,因此經季節性調整的na?ve預測得到OWA = 1.0。
3 N-Beats
????????我們的架構設計方法依賴于幾個關鍵原則。
- 首先,基本架構應該是簡單simple和通用generic的,但具有表現力expressive。
- 其次,架構不應該依賴于時間序列特定的特性工程或輸入縮放。這些先決條件讓我們探索純deep learning構在時間序列預測中的潛力。
- 最后,作為探索可解釋性的先決條件,架構應該是可擴展的,以使其輸出具有可解釋性。
現在,我們將討論這些原則如何與提議的體系結構結合起來
3.1 基本單元
? ? ? ?我們提出所提議的基本單元模塊具有分叉結構,如圖1(左)所示。
????????在這一節中,我們將重點描述第l個塊的操作(注意,為了簡潔起見,在圖1中刪除了塊索引l)。
????????第l個塊接受輸入xl并輸出兩個向量和。?
????????對于模型中的第一個塊,它的輸入xl是整個模型的輸入——一個一定長度的歷史回溯窗口。
????????我們設置輸入窗口的長度(回溯窗口的窗口長度)為預測未來窗口長度H的倍數,在我們的設置中,回溯窗口的窗口長度從2H到7H。
????????對于其余的塊,它們的輸入xl是前面單元塊的殘差輸出。(后面會說明)
????????每個塊有兩個輸出?和:長H的前向預測、xl的最佳估計(被稱為“backcast”。
? ? ? ? ? ? 基本單元模塊內部由兩部分組成。
- ????????第一部分是一個完全連通的網絡,產生正向和反向預測系數。
??????????這里的線性層就是一個簡單的線性投影層
????????FC層是一個標準的全連接層,具有RELU非線性激活函數?
?????????
????????第二部分由后向和前向基層組成,它們接受各自的前向和后向預測系數,生成?前向預測?和后向預測。
????????
????????
? ? ? ? ?這?和分別是前向和后向基向量
? ? ? ? ?
????????和的作用是提供足夠豐富的集合,他們可以是可學習的;也可以設置為特定的功能形式,以反映特定問題的歸納偏差,以適當地限制輸出結構。
????????這部分結構的一個任務是預測正向預測?(每一個dim 一個θ值),最終目標優化?前向預測?的準確性。
????????此外,該子網絡預測xl的最佳估計,其最終目標是通過移除輸入數據中對于預測任務沒有幫助的成分,來幫助下游模塊更好地進行預測。?
?
?3.2?DOUBLY RESIDUAL STACKING?雙重殘差疊加
? ? ? ? 經典的殘差網絡架構在將結果傳遞給下一個模塊之前,將此模塊的輸入添加到其輸中。
機器學習筆記:ResNet 及殘差連接_UQI-LIUWJ的博客-CSDN博客
? ? ? ? ?Huang等人(2017)提出的DenseNet架構擴展了這一原則,從每個模塊的輸出到其后的每個模塊的輸入之間引入了額外的連接。
NTU 課程 7454 (5) CNN進階_UQI-LIUWJ的博客-CSDN博客
????????這些方法在提高深層架構的可訓練性方面具有明顯的優勢。
????????在這項工作的背景下,它們的缺點是它們導致了難以解釋的網絡結構。
????????我們提出了一種新的分層雙殘差拓撲結構,如圖1(中間和右邊)所示。
????????提出的體系結構有兩個剩余分支,一個分支運行在每一層的backcast預測上,另一個分支運行在每一層的預測分支上。
????????它的運行由以下方程描述:
?
?????????如前所述,在第一個塊的特殊情況下,它的輸入是模型的全部輸入x, x1≡x。
????????對于所有其他塊,backcast殘差分支xl可以被認為是對輸入信號進行序列分析。
????????前一個基本模塊去掉了信號中可以很好近似的部分,使得下游區塊的預測工作更加容易。(殘差鏈接的好處)
????????這種結構還促進了梯度反向傳播。(殘差鏈接的好處)
????????更重要的是,每個基本模塊輸出它本身可以預測的部分前向預測,這些前向預測提供了層級分解。
????????最后的預測是所有部分預測的總和。
????????當允許為每一個基本模塊有自己的后向和前向時,這使得網絡對梯度流更加透明。
? ? ? ? 如果?后向和前向?共享一個基,此時通過聚合有意義的部分,對實現可解釋性至關重要。(3.3將會涉及)
3.3 可解釋性
????????基于和'的選擇,我們提出了兩種架構配置。
?????????其中一種是通用深度學習,另一種增加了某些歸納偏差以使其可解釋。
換句話說,整體的架構就是3.1和3.2描述的內容
????????通用架構不依賴于時間序列特定的知識。我們將和設置為前一層輸出的線性投影。
????????在這種情況下,block l的輸出被描述為:(b在3.1中式沒有的)
? ? ? ? ?其中?的維度是。第一個維度我們可以想成?預測區域 離散時刻的數量。因而的每一列可以看成是一個時域波形。
? ? ? ? 因為沒有額外的限制,所以的各個列(各個時域波形)沒有內部的結構,因而是不可解釋的
?3.3.1 可解釋性結構
????????可解釋的體系結構可以通過重用圖1中的總體體系結構方法,以及在stack級別(圖1中間的結構)向基層添加結構來構建。
????????預測人員經常使用如X13-ARIMA模型等將時間序列分解成趨勢和季節性。
????????我們建議在模型中設計趨勢和季節性分解,以使stack級輸出更容易解釋。
????????注意,對于通用模型來說,棧的概念是不必要的,并且為了清晰起見省略了棧級索引。
????????現在我們將同時考慮堆棧級和塊級索引。例如,表示棧s中塊l的局部預測'。
3.3.2 趨勢模型
????????趨勢的一個典型特征是,大多數時候它是一個單調的或者至少是一個緩慢變化的函數。
????????為了模擬這種行為,我們建議將和約束為一個p的多項式(p是一個小的degree值),一個在預測窗口中緩慢變化的函數:
????????
? ? ? ? 其中向量t為(H是預測窗口的長度)
? ? ? ? 換句話說,我們只是把基本模塊里面的?替換成了
?
? ? ? ?
????????用矩陣的形式表示,有:
? ? ? ? ?其中就是第s個stack,第l層的前向傳播系數
????????
?3.3.3?周期性模型
? ? ? ? 周期性的典型特征是它是一個有規律的,循環的,反復出現的波動。
????????為了模擬周期性,我們限制和屬于一類周期函數,即其中?是周期。
????????建立周期函數模型的基礎自然選擇是傅里葉級數:
?
?????????
? ? ? ? 用矩陣形式表述,有:
? ? ? ? ?
?是正弦波矩陣
?3.3.4 整體可解釋結構
?????????整個可解釋架構由兩個stack組成:趨勢stack,周期性stack。
????????雙重殘差疊加結合預測/倒推原理可以使得
(i)趨勢成分在x被輸入到周期性stack之前被移除了【個人猜測是因為相同基的系數互相抵消】
(ii)趨勢和周期性的預測作為單獨的可解釋輸出。
????????從結構上講,每個棧由圖1所示的用殘余連接連接的幾個塊組成,每個塊共享其各自的、不可學習的?和?。
????????趨勢和季節性的區塊數都是3。
????????我們發現,在共享??和?的基礎上,在堆棧中跨塊共享所有權重可以獲得更好的驗證性能。
*********集成學習部分暫時略去,后補**********
5 實驗部分
論文中說的兩個配置被記為:generic (N-BEATS-G) ;interpretable (N-BEATS-I)
?
圖2研究了提出的模型在通用和可解釋配置下的輸出。
我們以N-BEATS的通用配置輸出作為對照組(將含有30個殘差塊的通用模型分為兩個棧)。
在圖2中將通用(后綴“G”)和可解釋(后綴“-I”)棧的輸出并排繪制出來。
通用模型的輸出是任意的和不可解釋的:無論是從趨勢還是從抽周期的角度看,或者兩者都出現在兩個stack的輸出中。
在第二個堆棧的輸出處,輸出的大小(峰對峰)通常較小。
可解釋模型的輸出表現出不同的特性:趨勢輸出是單調的、緩慢移動的;周期性輸出是有規律的、周期性的、反復波動的。
如果在時間序列中存在顯著的季節性,那么季節性產出的峰值比趨勢產出的峰值要大得多。
同樣地,當真實信號中沒有明顯的趨勢時,趨勢輸出的峰值到峰值的幅度往往較小。
因此,提出的可解釋架構將其預測分解為兩個不同的組成部分。
我們的結論是,DL模型的輸出可以通過在體系結構中編碼一個合理的歸納偏差來實現。表1確認了這不會導致性能下降。
********
后注:可以想象成,我輸入一個單變量時間序列,經過基本塊后,得到前向傳播(y)以及backcast的x 這兩個的基的系數。然后將基加權求和。(兩個配置里面,一個的基是可學習的,另一個的基是指定的【解釋性配置】)
總結
以上是生活随笔為你收集整理的论文笔记:N-BEATS: NEURAL BASIS EXPANSION ANALYSIS FORINTERPRETABLE TIME SERIES FORECASTING的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 1816. 截断句子
- 下一篇: python 笔记 pickle js