?

基于翻轉網絡的低相關性序列數據預測研究

2024-02-29 04:39丁國輝劉宇琪王言開耿施展姜天昊
計算機工程 2024年2期
關鍵詞:滑動注意力神經網絡

丁國輝,劉宇琪,王言開,耿施展,姜天昊

(沈陽航空航天大學計算機學院,遼寧 沈陽 110136)

0 引言

時間序列數據預測在序列數據分析領域是一個備受關注的研究熱點。在許多應用中,精確的數據預測可以使生產、運營、管理及決策活動更加高效。例如:工業領域對液體泄漏進行預測[1],提前感知損壞點并及時進行整修與補救,更好地避免了工廠損失并降低了對工廠生產效率的影響;風速預測[2]可以為風力發電提供保障;準確的溫度預測[3]也能夠為人們的衣食住行提供更多保障。此外,在大數據時代,對用戶喜好進行預測也很重要,通過用戶在應用程序的停留時間來預測用戶對于該應用程序的參與度[4],可以更好地推送用戶感興趣的事物,大幅提高用戶的體驗感。類似的應用都利用多個相似、相關的時間序列變量來預測某個時間序列,即多維時間序列預測。使用與被預測數據具有相關性的數據進行預測,不僅可以避免單維時間序列數據預測的局限性,還可以提高準確率。

目前,針對時間序列數據預測的研究已經取得了一定成果。文獻[5-8]利用矩陣畫像方法對金融時序數據進行預測,但是因無法獲取與其相關性較高的數據,僅考慮預測數據本身,難以獲得其他因素對金融數據的影響,導致數據預測結果有較大波動。文獻[9]利用長短期記憶(LSTM)-門控循環單元(GRU)聯合網絡對缺失的海洋數據進行補全,由于與海洋數據相關性高的數據獲取難度較高,因此這種補全方法僅考慮了自相關性,沒有考慮其他因素對預測結果的影響,存在一定的波動誤差。文獻[10]利用神經網絡隨機微分方程的模型對金融數據進行預測,通過數學方法獲取時間序列數據中的隨機性和非線性關系,但是這種方法僅適用于金融數據,具有一定的局限性。在某些實際應用環境中,相關性較高的數據通常不存在或難以獲取,僅使用單維數據進行預測也會受到許多時空因素的影響,從而造成預測結果具有較大的隨機性。

針對高相關性數據缺失或難以采集等問題,本文對低相關性多維時序數據預測進行深入研究,提出一種基于注意力翻轉網絡的低相關性多維數據預測方法。首先,利用皮爾遜系數對大量時間序列數據進行分析,發現總體相關性低的數據具有單點相關性隨時間而變化的特點,為了更好地利用這種單點之間的相關性并提高模型效率,引入批處理滑動窗口按時間將數據細分為多個時間片,擺脫時間變化帶來的干擾,更好地捕獲維度相關性;其次,傳統GRU 模型能夠控制歷史信息,提高了對當前時刻隱層輸出的影響,從而導致大量丟棄低相關性樣本參數的問題,為此,本文提出一種翻轉GRU 網絡對低相關性多維數據進行初次過濾,控制多維數據在網絡中的傳遞數量,避免維度變量由于相關性較低而被大量丟棄,從而提高低相關性數據在網絡中的存活時間;然后,為了根據相關性來對過濾后的時序參數進行劃分,建立面向維度的注意力機制對這些參數分配權重,調整不同維度序列在相關性提取過程中的重要度,細分維度參數間的相關性程度,突出相關性特征;最后,建立一種平方LSTM 網絡給分配權重后的數據賦予正負值作為其影響力,分別考慮數據對被預測參數的積極影響和消極影響,更細致地確定相關性對被預測數據的重要性,進一步提高預測結果的準確性。本文將所提注意力翻轉網絡與傳統網絡模型LSTM、GRU、循環神經網絡(RNN)等進行實驗對比,并將所提批處理滑動窗口加入傳統模型以證明其有效性。

1 相關工作

數據預測已經成為目前大數據領域的研究熱點之一,越來越多的應用開始依靠數據預測,其中,時間序列數據預測是數據預測中比較特別的一個研究分支。根據技術手段的不同,數據預測可以分為基于統計學的方法和基于機器學習(神經網絡)的方法。

1.1 基于統計學的數據預測方法

目前存在大量的時間序列數據預測方法,其中最經典的是傳統數學統計方法,這種方法主要針對單維時間序列數據,其流程主要包括數據特征分析、參數選擇、模型驗證優化等。1982 年,美國統計學家ENGLE 提出了自回歸條件異方差(ARCH)模型[11],這種模型用于實現多變量異方差的時序數據預測,解決了時序數據的波動性預測問題。數學家BOLLERSLEV 通過對ARCH 的改進,提出了廣義自回歸條件異方差(GARCH)模型[12],使得自回歸條件異方差模型的約束條件進一步放寬。文獻[13]提出利用差分操作來保證時間序列數據平穩性的自回歸綜合移動平均(ARIMA)模型。文獻[14]提出帶有外生輸入的自回歸綜合移動平均模型。文獻[15]提出結合了極限學習機(ELM)和DQNPSO(Deep QNetwork-Based Particle Swarm Optimization)優化器的混合深度強化學習模型,該模型能夠準確預測隧道誘導的地面響應頻率。文獻[16]利用模糊信息顆粒構造顆粒復雜網絡,構建金融時間序列波動模型。文獻[17]采用指數平滑模型、自回歸積分移動平均模型,在狀態空間模型框架中結合非線性自回歸神經網絡,以提高預測的準確性,從而解決經濟和金融時間序列中線性與非線性模型的準確診斷問題。文獻[18]利用隨機森林算法來預測運動員的舞蹈動作,通過特征分析揭示運動員在完成動作時的肌肉協同和節奏感。

以上傳統時序數據預測模型大部分都適用于單維時間序列數據,且容易受到非線性因素的干擾。時間序列數據具有很強的復雜性和不確定性,因此,該類模型適用性較低,預測精度很難進一步提升。

1.2 基于神經網絡的數據預測方法

近年來,利用機器學習與神經網絡進行時間序列數據預測的方法逐漸增多,這種方法首先提取時間序列中的特征,并將其作為標簽輸入模型,通過建立合適的函數對模型中的參數進行優化,直至達到所需的預測效果。由于時間序列數據大部分都是非平穩數據,存在非線性關系,因此傳統的時間序列數據預測模型得到的預測結果在實際應用中存在一定偏差。隨著人工智能的不斷發展,利用多維時間序列數據對其進行預測的方法越來越受到學者們的關注。

文獻[19]提出一種基于卷積神經網絡和雙向長短期記憶網絡的方法對滾動軸承的健康度進行預測。文獻[20]為了一次性對所有交通位置進行綜合預測,提出一種基于深度元學習的模型ST-MetNet。文獻[21]對長短期記憶網絡進行改進后與卷積神經網絡相結合,構建一種新模型對全網地鐵客流進行預測。文獻[22]在LSTM 網絡中加入新的組塊,構建新的網絡CTS-LSTM,用于對多維高相關時序數據進行集體預測。文獻[23]通過對注意力機制進行深入研究并結合傳感器提出一種位置感知注意力機制,然后將位置感知注意力機制與長短期記憶網絡相結合,能夠動態適應運動軌跡中的局部位置,并通過非固定特征來捕捉位置的顯著特征,從而提高預測精度。文獻[24]提出一種結合支持向量機回歸和卡爾曼濾波的方法,以預測公交車到站時間。

在以上神經網絡方法中,使用多維數據進行預測的多維參數都是較易獲取的高相關性數據,在多維數據較難獲取的情況下都是使用單維數據進行預測,未考慮是否可以使用低相關性數據。因此,本文主要針對低相關性數據進行研究,提出一種針對低相關性數據的預測方法。

2 相關性分析

為了提高預測的精度和可信度,在進行數據預測之前需要對變量進行一定的處理和分析。為了提高模型的收斂速度,首先對數據進行補全和修正,然后對數據進行歸一化處理,將每一個數據均收斂到[-1,1]之間。為了更好地理解數據之間的關系,對數據進行相關性分析,發現低相關性數據之間的相關性可以隨時間而發生變化,本文基于這個特性建立網絡模型,對低相關性數據進行預測。

2.1 時間序列數據

通常來說,一組有限長度的時間序列數據可以表示為從某一時刻(t=1)開始至另一時刻 (t=N)結束的一系列觀測數據,即一組時間長度為N的單維時間序列數據可以使用一個1×N的矩陣[xt]1×N表示,具體形式如下:

其中:[x]T表示矩陣x的轉置;xt表示t時刻的觀測值;N表示此段時間序列數據的長度。

對于時間長度為N的多維時間序列數據,可以使用一個M×N的矩陣[xt]M×N表示,具體形式如下:

其中:xMt表示t時刻的第M個數據;M表示此數據具有M個參數。

時間序列數據表示出了各個領域系統中對歷史行為的客觀記錄,展現出系統隨著時間推移的變化規律與潛在特性。通過對時間序列數據的研究,可以更清晰地顯示出各個領域系統的運行模式,進而更迅速地對動態系統進行分析決策。

2.2 數據異常值清理

為了降低模型復雜度與計算量,本文對數據進行補全和修正。拉格朗日方法補全的曲線較為平滑,不易出現抖動狀態,因此,本文使用拉格朗日插值法進行數據補全;由于時間序列的數值受周期變化和不規則變動的影響,部分數據起伏較大,移動平均法可以對隨機的變異值進行過濾,因此,本文使用移動平均法進行異常值修正。拉格朗日插值法如下:

其中:n表示選取缺失值所在的一段固定時間窗的長度;x表示每個數據對應的索引值;β為權重變量;結果y即為時序數據。移動平均法如下:

其中:x1+x2+x3+…+xn是異常值所在時間點的前n個正常連續的數據之和。

2.3 數據歸一化

數據歸一化是一種無量綱處理手段,使得物理系統中數值的絕對值變為某種相對值。在數據預測過程中,數據集通常處于不同值域,為了提升模型的收斂速度和精度,使數據特征具有相同的度量尺度,本文使用MinMaxScaler 函數對數據進行歸一化處理,使得每一個數值都收斂至[-1,1]之間。MinMaxScaler 函數具體如下:

其中:Xscaler表示歸一化后的值;X表示當前需要歸一化的值;Xmax(aaxis=0)表示每列中最大值組成的行向量;Xmin(aaxis=0)表示每列中最小值組成的行向量;mmax表示要映射到區間的最大值,默認為1;mmin表示要映射到區間的最小值,默認是0。

2.4 數據相關性分析

數據屬性的相關性是指數據的2 個屬性之間在某種意義下所存在的規律,其目的在于探索數據間的隱藏相關關系網。皮爾遜相關系數(PCC)將結果P分為幾類來分析參數之間的相關性。P值范圍通常為[-1,1],若為正相關,P>0;若為負相關,P<0。當|P|>0.95 時即為顯著性相關,|P|≥0.8 即為高度相關,0.5 <|P|<0.8 即為中度相關,0.3 ≤|P|<0.5 即為低度相關,|P|<0.3 即為弱相關。

目前大部分數據預測研究的數據相關性都較高,皮爾遜相關系數基本在0.8 以上,但在實際應用中,有些高相關性數據不存在或較難獲取,而許多與被預測數據相關性較低的數據可以輕而易舉地獲取到。以共享單車使用量為例,這類數據無法獲取到與之顯著性相關的數據,其變化還經常受外界因素的影響,因此,可以使用一些較易獲取的完整的自然類數據對共享單車使用量進行預測,其相關性關系如圖1 所示,圖中參數含義如表1 所示。

表1 共享單車參數意義 Table 1 Meaning of shared bicycle parameters

圖1 共享單車參數之間的相關性Fig.1 Correlation between shared bicycle parameters

顯然,圖1 中各個參數對于目標值之間的相關性均為中度相關及以下,各個參數之間相關性也較低,即稱為低相關性數據。根據圖1 可以看出,氣溫和體感溫度對于共享單車使用量的相關性系數分別為0.39 和0.37,明顯為低相關性數據,為了更好地研究數據之間的相關性,本文對這2 種溫度與共享單車使用量繪制關系圖,結果如圖2、圖3 所示,陰影部分表示當前溫度共享單車使用量的波動范圍,實線部分為波動范圍的均值。

圖3 體感溫度與共享單車使用量的關系Fig.3 Relationship between body temperature and shared bicycle usage

顯然,共享單車使用量波動較大,無法判斷當溫度上升時共享單車使用量是否必然出現正相關或負相關關系,但當溫度達到峰值時,共享單車使用量的波動明顯驟減,溫度最高時共享單車使用量也達到極值。為了更細致地討論單點數據之間的相關性,本文選用氣溫和體感溫度最高的10 個點與共享單車使用量進行相關性計算,結果如圖4 所示。從圖4可以看出,氣溫與體感溫度的相關性有很大提升,分別從0.39、0.37 提升至0.74、0.68,從低度相關提升到了中度相關,低相關性數據存在單點相關性突變的情況。因此,可以得出結論,低相關性時序數據總體相關性較低,但是單點相關性會隨著時間的變化而變化,為了獲取這種特殊的相關性,本文建立一種利用批處理滑動窗口的注意力翻轉神經網絡模型,以提高模型對單點相關性的獲取能力以及預測精度。

圖4 氣溫與體感溫度最高的10 個點與共享單車使用量的相關性Fig.4 Correlation between the ten points with the highest temperature and body temperature and shared bicycle usage

3 注意力翻轉網絡模型

3.1 批處理滑動窗口

滑動窗口是一種數據處理技術,通過維護一個固定大小的窗口在數據結構中移動,以便有效地處理連續的子序列問題。在通常情況下,滑動窗口算法可以用來解決字符串、數組和鏈表等數據結構中的問題,例如找到最小值和最大值、計算子數組和平均值以及查找滿足特定條件的連續子序列等。

對于多維時序數據預測而言,特征參數較多,數據量較大,若將所有的數據一次性放入模型中,不僅會降低模型效率,還會使網絡無法更好地獲取數據的前后關系從而影響預測精度。對于低相關性數據而言,一段時間內的數據對于單點的相關性高于總體數據對于單點的相關性,為了更好地利用低相關數據之間的相關性同時提高模型效率,本文提出一種批處理滑動窗口方法,將數據分批后再分為多段并按時間順序輸入模型中。

假設一個單維時間序列為X=(x1,x2,…,xn-1,xn),設輸入的長度為h,即窗口長度為h,當前時間點為t,式(6)展示了滑動窗口的滑動公式,圖5 展示了滑動窗口的工作原理。

圖5 基于滑動窗口的數據集劃分機制Fig.5 Dataset partitioning mechanism based on sliding window

為了更好地對數據進行處理,將窗口劃分后的數據分成不同批次,將輸入的數據流分割成固定大小的塊,并沿著時間軸滑動這些塊進行處理,這個過程可以在連續、重疊、不同的時間段內進行,以獲得更全面的信息。例如,假設有一個包含一周前7 天氣溫的時間序列數據,可以使用批處理滑動窗口來計算每3 天的平均溫度。首先將整個時間序列分割成長度為3 天的塊,然后將這些塊沿著時間軸滑動,直到覆蓋整個時間序列。在每個滑動窗口內,可以計算出3 天的平均溫度并輸出結果。批處理滑動窗口如圖6 所示。

圖6 批處理滑動窗口Fig.6 Batch processing sliding window

在批處理滑動窗口建立后,需要設置合適的滑動窗口參數,根據數據集的特點修改滑動窗口參數,可通過時間、季節等特點進行滑動窗口劃分,在考慮以上特點的同時,還需結合數據集大小對滑動窗口大小進行調節,使得模型達到最優狀態。

3.2 基于維度的注意力機制

受人腦注意力分配的啟發,學者們提出了注意力機制,其核心思想是當人在看一種東西時,當前時刻關注的一定是當前正在看的這個東西的某一個部分。換句話說,當人們看向其他位置時,注意力也將隨著目光的移動而轉移,這意味著當人們處于不同場景時,對場景中不同目標的注意力分布是不同的。

通過對注意力機制進行研究,有研究人員發現注意力機制可以分別添加在時間步和維度上,但核心思想都是對目標數據進行加權變換,通過對輸入的不同維度數據進行分析,給予其不同的權重。

對于多維時間序列而言,每個元素的重要性都不同,尤其是對于低相關性數據來說,每個維度對于數據的影響差距較大。本文通過基于維度的注意力機制輸入特征,使模型能夠自適應地關注相關特征,讓各個維度的數據都能體現自身重要性?;诰S度的注意力機制通過為不同維度分配不同權重來區分它們的重要性,主要使用Dense 層的Softmax 函數實現權重計算,其計算公式如下:

其中:zi為第i個節點的輸出值;C為輸入節點的個數。

基于維度的注意力機制模型如圖7 所示,其中,(e1,e2,…,en-1,en)為輸入序列。使用Softmax 根據相似度值計算出每個隱含層對序列的貢獻(S1,S2,…,Sn-1,Sn),為不同維度的數據賦予不同的權重,更好地區分數據之間的相關性,然后將這些權重用于構建向量h',并將h'傳遞給解碼器,向量h'計算如下:

圖7 基于維度的注意力機制模型Fig.7 Dimension based attention mechanism model

為了保證模型可以應用到各個場景,分別設計維度權重共享注意力機制和非共享注意力機制。權重共享的注意力機制流程如圖8 所示。

圖8 權重共享的注意力機制流程Fig.8 The procedure of attention mechanism with weight sharing

共享權重會導致各個維度的權重相同,無法更好地區分各個維度對于被預測數據的重要性。為了更好地區分各個維度的重要性,本文使用權重非共享的注意力機制進行模型構建。權重非共享的注意力機制流程如圖9 所示。

圖9 權重非共享的注意力機制流程Fig.9 The procedure of attention mechanism without weight sharing

將整理好的數據通過神經網絡初步篩選輸入到注意力機制模型中,決定模型需要更多地關注哪一部分的低相關性數據,減少需要處理的信息量,區分低相關性數據之間的重要性,為后續預測工作提供合適的資源。

3.3 翻轉網絡模型

從第2 節可知,數據的總體相關性較低,但隨著時間的變化,數據相關性也會發生變化,因此,數據之間的相關性存在一定的隨機性。傳統預測模型存在誤差較大和優化函數目標單一的局限性,基于指數平滑的預測方法只適用于短期預測,基于支持向量機的預測方法只能獲得離散的預測值,無法觀測變化趨勢,基于循環神經網絡的方法只能短期記憶,且極易出現梯度消失的問題,因此,無法促使網絡模型學習時間序列相關性之間的隨機性,從而導致預測性能下降,尤其是當預測數據所占時間比重較高時,誤差積累也會越來越多,嚴重影響預測性能。

如今在時間序列數據預測方面表現良好的是LSTM 模型和GRU 模型。傳統LSTM 模型雖然可以對數據進行長期記憶,但是在長期預測的過程中有陷入局部最優解的可能。傳統GRU 模型可以更好地捕捉時間序列中的依賴關系,但是對于長期預測效果較差,會丟失較多數據。對于神經網絡來說,長期記憶更容易丟失相對相關性較低的數據,因此,數據單點相關性較高并不足以對下一時刻的數據進行準確預測。為了消減這些問題對模型預測精度的影響,針對傳統GRU 網絡容易丟棄低相關性樣本的問題,本文建立翻轉GRU(TURN-GRU)網絡,提升相關性較低的多維數據在模型中的存活時間;建立平方LSTM(SQ-LSTM)網絡,輸入分配權重后的數據,考慮輸入數據對被預測參數的積極影響和消極影響,更細致地對輸入數據進行影響力劃分。

3.3.1 翻轉GRU 網絡

門控循環單元是一種神經網絡架構,主要用于深度學習中的序列建模任務,它是傳統循環神經網絡的變體,旨在通過門控機制選擇性地更新和重制隱藏狀態下的信息以解決梯度消失問題。雖然GRU 相比于其他神經網絡模型具有較強的長期記憶能力和更少的參數量,但其也具有很多缺點,對于較長的序列,GRU 仍然可能出現梯度消失或梯度爆炸的問題,且GRU 的表達能力受限于其內部結構,因此,在某些復雜任務中需要更深層次、更復雜的架構來提高精度?;谝陨蠁栴},本文提出翻轉GRU網絡——TURN-GRU,其模型整體架構依然沿用傳統GRU 的部分網絡結構,通過將傳統GRU 網絡模型整體激活函數進行翻轉建立TURN-GRU 網絡。

TURN-GRU 的流程為:前一時刻的輸出ht-1和當前時刻的輸入xt通過tanh 函數分別產生rt和zt,rt與前一時刻的輸出ht-1組合通過Sigmoid 函數產生一個新的量,總體決定了有多少數據需要被遺忘;和zt結合生成的值與前一時刻的輸出ht-1和zt結合生成的值共同決定當前時刻與過去時刻的數據有多少被保存并輸出為當前時刻的ht。TURN-GRU 模型的神經元結構如圖10 所示。

圖10 TURN-GRU 的神經元結構Fig.10 The neuronal structure of TURN-GRU

ht-1是上一個時刻的隱藏層輸出,ht為當前時刻的隱藏層輸出,xt表示當前時刻的輸入,σ代表Sigmoid 函數,輸出在[0,1]之間,tanh 是雙曲正切函數,輸出在[-1,1]之間,rt表示當前時刻有多少信息被保留,zt表示上一時刻的數據有多少可以被保留下來,決定有多少數據被遺忘,W表示權重參數。TURN-GRU 計算公式如下:

傳統的GRU 網絡使用Sigmoid 函數進行數據篩選,讓數據經過激活函數后輸出在[0,1]之間,提高了數據之間的相關性,但由于低相關性數據之間關聯較低,因此篩選后的數據經過Sigmoid 函數會無限趨近于0,久而久之便會被網絡徹底丟棄,并且長時間使用Sigmoid 函數會導致飽和,而tanh 函數在一定程度上緩解了神經網絡的梯度消失問題,使神經網絡的訓練更加穩定。為了改善上述問題,本文將傳統GRU 模型中所有的Sigmoid 函數均翻轉為tanh 函數,同時為了避免模型中的數據冗余,將tanh 函數翻轉為Sigmoid 函數,使數據更多地存活在[-1,1]之間,減少Sigmoid 函數在模型中的使用次數和數據無限趨近于0 的可能性,篩選出低相關性數據中相對相關性較高的數據,以此提高數據在模型中的存活時間。

3.3.2 平方LSTM 網絡

LSTM 是一種常用于處理序列數據的深度神經網絡結構。LSTM 基于門控機制,可以選擇性地讀取、寫入和遺忘信息,包含輸入門、遺忘門和輸出門以及一個記憶單元,能夠根據輸入序列和歷史信息自適應地控制信息流動,具有良好的記憶能力和長期依賴性。但是,LSTM 過于復雜且需要大量參數,導致訓練速度較慢,且這種門控機制會導致梯度消失問題,從而使訓練變得困難。在SQ-LSTM 模塊中,本文參考傳統LSTM 模型的網絡結構,刪除了標準LSTM 中的輸入門,并增加一個“信息門”,通過將輸入的數據進行平方計算,將輸入的信息均轉換為正值,縮小低相關性數據之間的差距,并將網絡中的激活函數均轉換為tanh,減少參數數量,提高網絡模型訓練速度,并緩解神經網絡中的梯度消失問題。

SQ-LSTM 的流程為:前一時刻的輸出ht-1和當前時刻 的輸入xt通 過tanh 函 數,分別記 為ft、it、ot。其中:ft旨在為Ct-1提供一個[-1,1]范圍內的向量值,控制當前時刻與前一時刻隱藏層數據的保留程度;it平方后可以縮小數據之間的差距,得到信息門的輸出,并與前一時刻保留的單元狀態共同組成當前的單位狀態Ct;ot與當前的單位狀態Ct結合生成當前時刻的輸出ht。SQ-LSTM 的神經元結構如圖11 所示。

圖11 SQ-LSTM 的神經元結構Fig.11 The neuronal structure of SQ-LSTM

ht-1是上一個時刻的隱藏層輸出,ht為當前時刻的隱藏層輸出,xt表示當前時刻的輸入,Ct-1表示上一時刻的細胞狀態,Ct表示當前時刻輸出的細胞狀態,tanh 是雙曲正切函數,輸出在[-1,1]之間,ft表示當前時刻與前一時刻隱藏層數據保留的輸出,it是當前時刻與前一時刻隱藏層數據信息篩選后的輸出,ot表示輸出門的初始輸出,W表示權重參數。SQLSTM 計算公式如下:

模型整體選用tanh 函數使收斂更快,減少迭代次數。此外,tanh 函數將輸入為負的數據強制映射為負,分別考慮了數據對被預測參數的積極影響和消極影響,不僅更加有效細致地對數據進行影響力劃分,還減少了模型中的參數量,提高了模型運行速度。信息門通過將輸入數據平方的方式減小被篩選后的數據信息之間的差距,更好地捕捉數據之間的相關性并保留前后時刻數據的記憶,避免由于數據相關性較低使得數據間差距較大從而導致部分數據被丟棄的問題。

上述2 種模型的建立可以提高之前時刻數據對被預測數據的影響,更好地提升低相關數據之間的關聯度,使數據在網絡中更具有“話語權”。

3.3.3 注意力翻轉網絡ATT-TURN-NN

本文提出TURN-GRU 和SQ-LSTM 這2 種網絡模型,用于更好地提取數據的相關性并使數據更長時間地保留在網絡中。僅使用TURN-GRU 模型可以使數據更好地被篩選并保留在網絡中,但其保留的時間較短,僅使用SQ-LSTM 會使網絡中模型的數據過多,導致數據冗余,并且文獻[25]研究表明單一神經網絡模型提取能力較弱,會丟失大量有價值的信息,忽略局部與整體之間的相關性,導致預測結果差別較大且不穩定。因此,為了提升數據在網絡中的存活率并對數據進行影響力劃分,本文將2 種模型擬合在一起對低相關性數據進行預測。

從第2 節可以看出,數據每一維度針對被預測數據的相關性均不相同,且每一維度的相關性隨時間變化的幅度也不同。為了精確每一維度對預測結果的影響,加入基于維度的注意力機制,將基于輸入維度的時間注意力機制與翻轉網絡模型相結合,使網絡對于單點相關性投入更多的關注,以獲取更多需要關注目標的信息,從而抑制其他無用信息。從后續實驗中可以看出,加入注意力機制的模型有更好的擬合效果。

圖12 所示為本文所提網絡的基本流程,網絡主要分為3 個部分,即輸入層、隱含層和輸出層。其中:輸入層包括滑動窗口構建、特征提取等;隱含層為ATT-TURN-NN 網絡模型;輸出層包括結果輸出、結果可視化等。

圖12 本文網絡基本流程Fig.12 Basic procedure of the network in this paper

按照流程分別設計輸入層、隱含層及輸出層,具體如下:

1)設計輸入層。通過數據歸一化、特征提取、數據窗口劃分、相關性對比等方法對原始時間序列數據進行分解,獲得訓練集輸入數據、訓練集輸出數據、測試集輸入數據及測試集輸出數據。

2)設計隱含層。由于SQ-LSTM 模型參數較多,容易出現過擬合情況,因此首先將處理好的數據通過第1 層TURN-GRU 模型進行初次篩選,提取時間特征。將初次篩選后的數據輸入基于維度的注意力機制模型中,為不同維度的數據賦予權重,更好地區分數據之間的相關性。將賦予權重后的數據輸入第2 層TURN-GRU 網絡模型中并減半神經元個數,再次針對相關性篩選數據,增加權重較高的數據在網絡模型中的存活時間。將篩選后的數據輸入SQLSTM 模型中,分別考慮數據的積極影響和消極影響,更好地提升模型訓練的準確率。通過對神經網絡的學習,調整參數使模型達到最佳效果,參數設置如表2 所示。

表2 ATT-TURN-NN 網絡參數設置 Table 2 ATT-TURN-NN network parameter settings

3)將測試集輸入模型中進行測試,將結果可視化與真實值進行對比,以驗證模型的性能。

圖13 所示為隱含層ATT-TURN-NN 網絡的基本架構。

圖13 隱含層ATT-TURN-NN 模型結構Fig.13 Hidden layer ATT-TURN-NN model structure

3.4 模型評估

為了驗證所提模型的性能,將其與傳統模型進行對比。利用決定系數(R2)[26]、均方誤差(MSE)、均方根誤差(RMSE)以及平均絕對誤差(MAE)4 種指標來評估模型性能。

決定系數一般用于在回歸模型中評估預測值和實際值的符合程度,一般R2 越接近1,表示模型效果越好。R2 計算公式如下:

其中:y為真實值;f為預測值;是真實值的平均值。

均方誤差指參數估計值和參數值之差平方的期望值,MSE 值越小,說明預測模型有越好的精度。MSE 計算公式如下:

均方根誤差為MSE 開平方后的結果,其值越接近0,表示預測值與真實值相差越小。RMSE 計算公式如下:

平均絕對誤差表示預測值與觀測值之間絕對誤差的平均值,計算公式如下:

4 實驗結果分析

本文使用英國某城市3 年的共享單車使用量數據來測試模型有效性,實驗數據為每小時記錄一次,一天記錄24 次,每逢整點記錄。本次實驗使用的數據包括9 個種類,其中,目標值為共享單車使用量,其他參數特征分別為氣溫、體感溫度、濕度、風速、天氣、是否為假期、是否為周末以及季節。分別對7 種參數與共享單車使用量進行相關性分析,如第2 節所示。其中,氣溫、體感溫度、風速3 種參數與共享單車使用量呈正相關關系,濕度、天氣、是否為假期、是否為周末與共享單車使用量呈負相關關系。根據圖1 可以看出,各個參數與共享單車使用量之間的相關性絕對值均低于0.5,屬于低相關性時間序列數據。為了更好地利用低相關性對時間序列數據進行預測,本文構建注意力翻轉模型,更好地獲取低相關性數據之間的關系。

由于數據為多維且數據之間數值差距較大,單位不統一,因此需要先對數據進行預處理,檢查數據是否存在缺失,如有缺失就對其進行填補,對填補后的完整數據進行歸一化處理,將數據轉化為[0,1]之間的范圍,更利于計算,提高模型效率,避免因數據差異過大而導致的模型過載問題。

本次實驗將80%的數據劃分為訓練集,20%的數據劃分為測試集。為了使滑動窗口在模型中的作用最大化,將滑動窗口長度設置為24,滑動窗口步長設置為1,每次輸入數據后移動一個步長,同時產生一個過期數據和一個輸出數據,即使用前24 h 的數據預測未來1 h 的數據。將訓練數據分為10 個批次進行訓練,提高模型效率,對規避低相關性時間序列數據的隨機性和間接性具有重要作用。將過大的數據集進行分批處理,可以提高模型的運行速率,降低空間復雜度。

將本文模型與傳統模型進行對比,并在不同的參數變化下評估ATT-TURN-NN 模型的性能。首先對不做窗口劃分的數據利用部分傳統模型進行預測評估,結果如表3、圖14 所示。由于數據量較大,圖像坐標較為密集,因此選擇測試集的前300 個數據進行畫圖,以確保圖像的可視性。分別使用決定系數、均方誤差、均方根誤差、平均絕對誤差來評估模型性能。

表3 未劃分滑動窗口時各個模型的評估結果Table 3 Evaluation results of each model without dividing sliding windows

圖14 不使用滑動窗口時模型預測值與真實值的對比結果Fig.14 Comparison results between model predicted values and true values without using sliding windows

從表3 可以看出,LSTM 和GRU 相對于RNN 對于低相關性數據預測精度更高,這主要是因為LSTM 網絡模型和GRU 網絡模型具有記憶功能,可以將之前的數據趨勢記錄下來并加以利用。從圖14 可以看出,傳統神經網絡模型對于低相關性時序數據處理有明顯優勢,可以基本看出數據改變的趨勢。

分別將全連接網絡、LSTM、RNN、GRU、RNN+LSTM、ATT-GRU、ATT-LSTM 與ATT-TURN-NN 模型進行對比,通過實驗展示這些模型的預測結果,以驗證所提模型的有效性。表4 所示為模型在數據集上的預測結果,圖15 所示為上述模型進行滑動窗口劃分后預測值與真實值的對比結果。

表4 滑動窗口劃分后各個模型的評估結果 Table 4 Evaluation results of each model after sliding window partitioning

圖15 滑動窗口劃分后模型預測值與真實值的對比結果Fig.15 Comparison results between model predicted values and true values after sliding window partitioning

顯然,傳統模型[27]對于低相關性數據峰值的預測效果較差,從圖14 和圖15 中GRU、LSTM、RNN、Dense 的對比可以看出,增加了批處理滑動窗口的神經網絡模型具有更好的預測精度。低相關性數據具有單點相關性,批處理滑動窗口可以將一段時間內的數據整合到一起分批輸入網絡中,以提高數據的相關性。本文還通過實驗證明了基于維度的注意力機制的有效性,從圖15 和表4 可以看出,增加了注意力機制的LSTM、GRU 和RNN 模型得出的預測值更加接近真實值,證明基于維度的注意力機制可以通過給低相關性數據的不同維度分配不同權重來區分它們在模型中的重要性。最后,為了證明所提注意力翻轉模型的有效性,將ATT-TURN-NN 模型與經典模型進行對比,從表4 可以看出,ATT-TURN-NN 模型得出的決定系數最接近1,達到了0.95 以上,證明其得到的預測值與真實值之間差距最小,該模型對于低相關性數據具有較好的預測能力。

表5 所示為各個模型的測試效率對比。從表5可以看出,各個模型測試效率差別不大,效率最高的為Dense 模型,但根據 表3 和表4 可知,Dense 模型預測能力極差,盡管其測試效率較高,但也無法彌補其預測能力差的缺陷。通過表5 可以看出,本文ATTTURN-NN 模型雖然測試效率并未達到最優,但也優于LSTM、GRU、RNN 等大部分模型。結合表3 和表4 可知,本文ATT-TURN-NN 模型可以獲得較為準確的預測結果,同時測試效率較高,綜上,ATTTURN-NN 模型在處理低相關性時序數據方面優于其他模型。

表5 各個模型的時間效率對比Table 5 Comparison of time efficiency among different models 單位:ms

5 結束語

在現實環境中,較難獲取高相關性數據,而對單維時間序列數據進行預測時,數據會因為周圍環境的影響而產生一定的突變,導致預測結果存在一定的隨機性。此外,低相關性數據對預測具有重要意義,維度參數與被預測數據的相關性會隨著時間的推移而發生變化,當參數達到某值時其相關性也會隨之增高。為了捕捉數據的低相關性,本文提出一種新的混合模型ATT-TURN-NN。將該模型與GRU、LSTM 等傳統模型進行對比實驗,結果驗證了ATT-TURN-NN 模型的有效性。下一步將研究如何更有效地捕捉低相關性數據的相關性,嘗試加入空間相關性對低相關性數據進行預測,通過提高數據相關性來提升模型的預測準確率。

猜你喜歡
滑動注意力神經網絡
讓注意力“飛”回來
神經網絡抑制無線通信干擾探究
一種新型滑動叉拉花鍵夾具
Big Little lies: No One Is Perfect
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
基于支持向量機回歸和RBF神經網絡的PID整定
滑動供電系統在城市軌道交通中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合