劉杭,殷歆,陳杰,羅恒
(1.蘇州科技大學 電子與信息工程學院,江蘇 蘇州 215009;2.蘇州科技大學江蘇省建筑智慧節能重點實驗室,江蘇蘇州 215009)
時間序列是在時間間隔不變的情況下收集到的連續時間點的數據集合。時間序列在工業生產[1]、市場營銷[2]、社會經濟[3]、環境監測[4]等行業中普遍存在,通過發現蘊含在時間序列中的潛在規律可獲得未來某個時刻的預測值,為決策者提供前沿性的意見,對輔助決策、優化資源、提升工作效率等具有重要的意義[5]。傳統時間序列預測方法主要針對簡單的時間序列預測問題,包括支持向量機(Support Vector Machines,SVM)[6]、馬爾可夫(Markov)[7]、高斯過程(Gaussian Process,GP)[4]等預測模型。在多維時序預測中,由于其時間特征適應性差,因此很難捕捉潛在的特征依賴關系。
在深度學習中,循環神經網絡(Recurrent Neural Network,RNN)[8]在多維時序預測上應用廣泛,但是RNN 訓練時會出現梯度消失或梯度爆炸的現象,而長短期記憶(Long Short-Term Memory,LSTM)網絡[9]的出現緩解了這一問題并在時序建模上取得了巨大成功。近期,多維時序預測分為兩種流行的深度學習體系結構:第一種是深度模型結構,將LSTM等作為內部的單元組件[10-12],適用于不規則的趨勢多維時序建模[13-15];第二種以卷積神經網絡(Convolutional Neural Network,CNN)為核心,通過增強卷積的感受野和特征提取能力獲得更強大的預測性能,適用于一般多維時序數據建模。文獻[16]提出的LSTNet 運用CNN 和RNN 來提取變量間短期局部的依賴模式,并發現時間序列的長期模式,最終提出一種先進的時序預測模型。文獻[17]提出一種基于注意力機制的RNN 模型,使用一組濾波器來提取不變的時間模式,以一種新的注意力機制來選擇相關的時間序列,并使用其頻域信息進行多維數據預測。文獻[18]提出一種基于自注意力機制的多維時序數據預測方法,利用并行卷積和注意力機制提取特征。目前流行的時間卷積網絡(Temporal Convolutional Network,TCN)[19]通過結合因果卷積、殘差卷積和膨脹卷積等使其在時序數據處理上性能更加優越[20]。然而它們仍然存在以下缺陷:其一,由于CNN 和LSTM 主要應用在圖像和自然語言領域,在多維時間序列預測中仍然存在時間前后的潛在特征大量丟失的現象[19,21];其二,在實際的高維時間序列的應用中,快速模糊預測一直具有重要的實用意義[22],但是上述深度模型卻無法適用于快速模糊預測。
為了解決上述問題,本文建立基于時間卷積網絡和自注意力機制(self-attention)的兩種混合網絡模型(TSANet 和TSANet-MF)。TSANet 在TCN 的基礎上結合了全局和局部卷積并行的self-attention結構,并使用并行的自回歸(Autoregressive,AR)模型以提升周期性特征的捕捉能力。TSANet-MF 使用TSANet 作為矩陣分解(Matrix Factorization,MF)算法[23-25]的時間正則化項,將原始高維時間序列數據轉化為具有更多時序特征的低維時間序列數據。
多維時間序列由可能相關的多種時間序列組成,而某些特殊的時間序列會存在特征協變量。為研究一般多維時間序列的預測方法,在不使用協變量的情況下,利用歷史時間段中的現實數據來預測未來時間步中的時間序列值。
定義1將單維度的時間序列數據表示為X(i)=,其中,i∈{1,2,…,d},d為維度總數,p為末尾的時間戳。
定義2將多維度的時間序列數據表示為X=(X(1),X(2),…,X(d))。
定義3多維度的時間序列預測可表示為在給定時間序列(X1,X2,…,XT)的基礎上預測XT+h,其中,T為時間戳,h為在時間戳T后的預測時間范圍,XT表示在所有維度中時間戳T范圍內的數據,如式(1)所示:

定義4在實際預測中,對于規定的多維時間序列X,以T為輸入窗口,采用滑動預測方式,即在(X1+r,X2+r,…,XT+r)的基礎上預測XT+h+r(r∈R+),其中r為滑動值。
雖然TCN 在多維時間序列處理上應用廣泛,但由于TCN 仍存在感受野受限導致提取特征能力不足的問題,因此TSANet 設計全局和局部卷積結構并行提取特征,然后使用self-attention 增強特征關聯程度。TSANet 將TCN 作為一個模塊與self-attention進行并行組合,以此加強特征提取。由于TCN 和兩種卷積結構都是非線性的特征提取,因此最后添加并行AR 模型[26]提取原始時序線性特征,以最大程度提取原始序列的周期性特征。TSANet 整體框架結構如圖1所示,其中,為TCN 和selfattention 的輸出結果,為AR 模型的輸出結果,為TSANet 預測的輸出結果。

圖1 TSANet 框架Fig.1 Framework of the TSANet
全局和局部卷積可以提取短期和長期的時序特征信息,具有更強大的特征提取能力,適用性更強。全局和局部卷積框架如圖2 所示。

圖2 全局和局部卷積框架Fig.2 Framework of the global and local convolution
在全局卷積中,輸入多維向量矩陣X后,對單維度為T×1 的時序數據,使用T×1 大小的卷積核,對單維度的全局數據做卷積操作,提取各個單維度下的時序變量的前后步長信息。多維向量矩陣X經過m個卷積核的計算后,生成d×m維度的向量矩陣,其每一行代表時間序列中各個單維度的卷積學習值,在全連接層的計算后,得到完整時序特征相鄰矩陣。經過卷積后生成的中間矩陣如式(2)所示:

由于時序數據對短期序列的規律較為敏感,因此使用與全局相對應的局部卷積,即對相鄰的短期時間段做卷積操作。使用S×1 大小的卷積核(S<T),對于輸入多維向量矩陣X,經過一次卷積后得到的(T-1+S)×d維度的數據矩陣,再對每一個維度進行一維最大池化(1D Max-Pooling)的操作,經過計算后得到d×1 維度的向量矩陣。與全局卷積相對應,多維向量矩陣X經過m個卷積核的計算后,生成d×m維度的向量矩陣。局部經過卷積后利用LSTM 加強這種局部卷積前后的特征關聯性。經過卷積后生成的中間矩陣如式(3)所示:

self-attention 的使用受到Transformer[27]和文獻[18]啟發。TSANet 的self-attention 結構如圖3 所示。Transformer 是由編碼器與解碼器構成的,編碼器和解碼器都是由n個相同層的堆棧組成。每一層都包含兩個子層,即多頭自注意力機制與全連接前饋神經網絡,并在每層連接前進行層歸一化操作。TSANet 中的self-attention 使用Transformer 中的編碼器部分,調整全局卷積與局部卷積的輸出結構,將其作為編碼器的輸入,其編碼器與Transformer 的結構相同,每個self-attention 結構都具有n個相同的堆棧層。最終的輸出為全局卷積、局部卷積分別和selfattention 并行計算的結果。這種并行的self-attention利用多頭注意力機制處理經過全局卷積和局部卷積輸出的時間序列特征結構,以及不同位置不同表示的子空間信息,具有更高的特征提取能力。

圖3 self-attention 結構Fig.3 Structure of the self-attention
TSANet-MF 模型將d維的線性序列組X轉化成k維的基向量組M的線性組合(k?d),將TSANet 作為MF 算法的時間正則化項,彌補MF 算法對于時序關系不敏感的問題,增強時序數據前后信息的依賴性。
TSANet-MF 模型分為訓練和預測兩個過程,訓練過程的目的是訓練基向量組M和線性參數矩陣F,預測過程將訓練好的低維時序基向量組M和線性參數矩陣F用于實現原始的高維時序數據X的快速模糊預測。
首先將原始高維數據按序列數據轉化成兩種向量矩陣的乘積,記為X=MF,其中,X為高維矩陣,F為d維參數矩陣,X為分解后的k維矩陣。高維數據的矩陣分解示意圖如圖4 所示,其中,t為訓練集和驗證集的總長度,s為測試集的長度。

圖4 高維時序數據矩陣分解Fig.4 Matrix factorization of high-dimensional time-series datas
在TSANet-MF 模型中,將參數矩陣M和F作為參數同步訓練,在每次迭代(iteration)中的參數更新流程如算法1 所示:

在算法2 中:iinit、itrain、ivalid分別代表初始 化、訓 練和驗證的迭代周期。
TSANet-MF 將高維的時序數據轉化為低維的時序數據M后再重新訓練TSANet 的參數,損失函數如式(6)所示:

其中:Mtrain為低維數據M劃分的用于訓練的數據;TSAx(Mtrain)為使用TSANet 的Mtrain的預測數據。
最終在M測試集Mtest上得到的預測數據如式(7)所示:

其中:Mtest為測試數據;TSAx(Mtest)為使用TSANet的Mtest的預測數據;表示TSANet-MF 在測試集Xtest上的預測結果。
TSANet 模型中的TCN 和全局與局部卷積都是以卷積為核心的計算操作。根據TSANet 模型網絡結構,通過式(8)計算得到TSANet 在全局卷積中一次迭代下的卷積運算的時間復雜度為O(mTd),在局部卷積中一次迭代下的卷積運算的時間復雜度為O((T+S-1)dS),TCN 是利用CNN 的建模結構,其計算的時間復雜度和維度d同樣線性正相關。selfattention 的時間復雜度為O(n2d)[27],其中n為序列長度。其余部分的時間復雜度較低,可忽略不計。因此,TSANet 在訓練時的計算時間復雜度和數據的維度呈現線性正相關。TSANet 模型的卷積操作的空間復雜度分為參數量和特征圖兩部分,其中參數量和輸入的數據大小無關,特征圖則與輸入的維度大小有直接關系,輸入維度越低,經過卷積后的特征圖則越小。總體而言,TSANet 模型的計算復雜度與數據維度線性正相關,即訓練時處理的數據維度越小,計算的復雜度越低。

其中:在特征圖和卷積核鄰邊相等的情況下,M表示單卷積下輸出的特征圖邊長;K表示單個卷積核的邊長;Cin和Cout分別表示卷積層輸入和輸出的通道數。
在TSANet-MF 模型的訓練過程中,利用算法2訓練參數F、M,以一次iteration 參數更新流程,即算法1 為例,TSANet 模型在用于時間正則化時,訓練的輸入為Mb,Mb維度較小,復雜度較低。其余的空間和時間復雜度來源于F、Mb的更新。空間復雜度是F、Mb的參數量,其中,F為k×d的參數矩陣,Mb為s×T×k的參數矩陣。時間復雜度表示為運算中F和M的計算量(FLOPs),分別為(2k-1)×T和(2×T-1)。TSANet 模型在預測過程中,利用M訓練TSANet 的參數,由于M的維度k遠遠小于原數據維度d,因此計算代價也遠遠小于高維數據訓練的計算代價。
綜上,TSANet-MF 模型相對于TSANet 模型大幅度減少了訓練過程中的時間和空間的復雜度,但是維度轉化的過程中由于時間序列特征缺失而無法達到相對準確的預測,因此TSANet-MF 模型可用于實現高維時間序列數據的快速模糊預測。
為了驗證多維時間序列數據預測方法的通用性,需要選取不同領域和形式的時間序列樣本。因此,分別選取加州大學歐文分校(UCI)機器學習庫[28]中Electricity、Traffic、Solar、Exchange 等4 種原始數據集,詳細信息[16]如表1 所示。所有數據集劃分為訓練集(60%)、驗證集(20%)和測試集(20%)。

表1 數據集基本特征Table 1 Basic characteristics of datasets
基準模型:TSANet 實驗以深度學習中主流的多維時間序列模型TCN、LSTM-AR、LSTNet[16]和TPALSTM[17]作為基準模型。TSANet-MF 實驗以傳統的MF 模型[24]和TCN-MF 模型[25]作為基準模型。
實驗環境:TSANet 代碼全部由Python3.6 實現,使用Pytorch 深度學習框架,利用Pytorch-Lightning庫,快速搭建模型。實驗運行在CentOS Linux 上,GPU 環境為4×NVIDIA Tesla P100 16 GB。
數據指標:實驗采用3 種評估指標,分別為平均絕對誤差(Mean Absolute Error,MAE)、均方根誤差(Root Mean Square Error,RMSE)和相對平方根誤差(Root Relative Squared Error,RRSE),這3 種指標的值越小,則表示誤差越低。
訓練和預測方法:訓練之前使用最大最小歸一化處理,避免數據受尺度影響。實驗采用滑動窗口(Window)的預測方法,以Window 期內的數據預測滑動窗口期后時間范圍(Horizon)線的數據。
參數設置:由于深度學習的超參數與實驗結果相關,通過參考同類的深度學習模型參數設置相關參數范圍,再設定Early stop 以獲取訓練過程中性能最優的模型。模型參數范圍和調優的具體參數設置如表2 所示。

表2 模型主要參數配置Table 2 Configuration of main parameters of the model
表3 為TSANet 和基準模型在測試集上的評估結果,其中,H表示Horizon,取值范圍為{3,6,12},表示Electricity、Traffic 數據集的第3 小時~第12 小時、Solar 數據集的第30分鐘~第120 分鐘和Exchange 數據集的第3 天~第12 天的預測結果,粗體的數字表示模型對比的指標最低。從實驗結果可以看 出,TSANet 在4 種數據集中的Exchange、Electricity 和Traffic 3 種數據集上的MAE、RMSE 和RRSE 指標相對最低,說明預測性能優于其他基準模型。特別地,在H=12 的Exchange 和Traffic 數據集的預測上,TSANet 比TCN 的RRSE 的預測精度提升了4.26%和22.87%,預測性能提升較高。總體而言,TSANet 在一般多維時序數據的預測上具有一定的優勢。在Solar 數據集上,TSANet 與基準模型的預測指標都很接近,預測性能提升不明顯,說明數據不具有良好的特征表現。具體來看,在Exchange 數據集 上,當H分別為3、6 和12 時,TSANet 的MAE、RMSE、RRSE 是逐漸增高的,說明數據特征按照時間分布非常明顯,對于近期的預測性能較好,符合時序特征的特點。對于Electricity 和Traffic 數據集,當H分別為3、6 和12 時,性能表現接近,說明時間序列分布具有明顯規律,TSANet 對于近期和遠期的預測都能達到一定準確度。

表3 不同數據集上5 種預測模型的預測結果Table 3 Prediction results of five prediction models on different data sets
通過TSANet中Global(全局卷積-self-attention)、Local(局部卷積-self-attention)、TCN 這3 個分模塊驗證TSANet 的預測能力。由于在Solar 數據集上模型預測效果不明顯,因此實驗使用Exchange、Traffic和Electricity 數據集。圖5 給出了TSANet 及其分模塊的預測結果。由圖5 可以看出:在Exchange 數據集實驗中,當H為3、6 和12 時,Global 和Local模塊預測的MAE、RMSE 和RRSE 較高,TSANet 和TCN預測效果非常接近,其中TSANet 的3 種指標相對較低,說明TSANet 預測性能超過分模塊的預測性能;在Traffic 數據集實驗中,當H為3 和12 時,TSANet、TCN、Global 和Local 預測誤差是逐漸升高的,當H為6 時,Global 預測誤差最高,TSANet 預測誤差最低,其中TSANet 預測性能是最好的;在Electricity 數據集中,雖然所有模型的預測結果非常接近,但是TSANet 仍然是誤差最低的。上述結果表明,TSANet 訓練穩定且具有較好的預測性能。

圖5 Exchange、Traffic 和Electricity 數據集上TSANet 及其分模塊的預測結果Fig.5 Prediction results of TSANet and its sub-modules on the Exchange,Traffic and Electricity data sets
TSANet-MF 實驗使用Electricity 和Traffic兩種高維數據集。在M維度k=64 時,TSANet-MF、TCNMF 和MF 實驗結果如表4 所示,其中粗體表示模型對比中最低的指標。由表4 可以看出,MF 在所有數據集中的全部指標都較高,則性能最差,TSANet-MF 的預測指標略優于TCN-MF 模型,整體性能最好。

表4 高維數據集上3 種模型的預測結果Table 4 Prediction results of three models on the high-dimensional data sets
表5 給出了H=3 時TSANet-MF、MF、TCN-MF和TSANet 在高維數據集上的總訓練時間。由表5可以看出:TSANet-MF 在Electricity 和Traffic 數據集上的訓練時間與TSANet 相比分別提升了86.9%、93.4%,說明TSANet-MF 在TSANet 的基礎上,訓練效率大幅度提升;TSANet-MF 和MF、TCN-MF 模型的訓練時間最高相差430 s,說明TSANet-MF 在高維時間序列上同樣具有非常高的預測效率。

表5 4 種模型的訓練時間Table 5 Training time of four models 單位:s
一般而言,高維原始數據在矩陣分解時,轉化的矩陣維度越低,預測準確率越低,這是因為矩陣分解算法在分解時會失去原始時序數據的一些特征,分解維度越低,失去特征越多。為了驗證M的維度對于預測性能的影響,實驗在Electricity 和Traffic 數據集上對維度k為32 和64 時的TSANet-MF 進行預測對比,如圖6 所示。由圖6 可以看出:在Electricity 數據集上,當k=32時,H取3、6、12 的MAE、RMSE 和RRSE 預測指標明顯比k=64 時高,說明k=32 時數據預測的誤差很大;在Traffic數據集上,當k=32時,H取3、6、12的MAE、RMSE和RRSE 預測指標比k=64 時略高,說明k=32 時的預測性能略差。雖然Electricity 和Traffic 數據集都是高維時序序列,但是Traffic數據集的維度遠遠高于Electricity數據集。在轉化為低維數據M時,即當k=64 時,對于Traffic 數據集而言,已經失去了大部分時序特征,因此在k=32 和k=64 的實驗中,可以看出兩者的誤差非常大且非常接近。在兩個維度下的對比實驗結果說明了高維時序數據矩陣分解的維度與預測準確度的關系,即分解的維度越低,失去的特征越多,預測的誤差越大。

圖6 M 維度為32 和64 時高維數據集上的TSANet-MF 預測結果Fig.6 Prediction results of TSANet-MF on the high-dimensional data sets when the dimensions of M are 32 and 64
基于以上實驗結果總結歸納TSANet 和TSANet-MF 具有以下優勢:1)TSANet 具有較高的預測準確度,可以有效地應用在一般多維時序數據預測中;2)TSANet 利用TCN、全局和局部卷積、selfattention 和AR 模型能夠最大程度地捕捉多維時序數據特征;3)TSANet-MF 可以將高維時序數據轉化為低維時序數據以提高預測效率;4)TSANet-MF 可以實現高維時序數據的快速模糊預測,并且具有相對較高的預測性能。
本文建立基于TCN 和self-attention 的兩種混合網絡模型。TSANet 融合了線性和非線性的神經網絡結構,結合TCN、自注意力機制等提取不同數據周期性特征。TSANet-MF 是TSANet 的衍生模型,使用時間正則化項更準確地進行數據降維分解,從而實現高維時序數據快速模糊預測。實驗結果表明,相比于基準模型,TSANet 可以有效提升時間序列的預測精度,TSANet-MF 具有更高的訓練效率。后續將繼續研究數據離散尺度較大情況下的高維時間序列預測方法,加強深度神經網絡在時序預測中的可解釋性。