丁國輝,劉宇琪,王言開,耿施展,姜天昊
(沈陽航空航天大學(xué)計算機(jī)學(xué)院,遼寧 沈陽 110136)
時間序列數(shù)據(jù)預(yù)測在序列數(shù)據(jù)分析領(lǐng)域是一個備受關(guān)注的研究熱點。在許多應(yīng)用中,精確的數(shù)據(jù)預(yù)測可以使生產(chǎn)、運營、管理及決策活動更加高效。例如:工業(yè)領(lǐng)域?qū)σ后w泄漏進(jìn)行預(yù)測[1],提前感知損壞點并及時進(jìn)行整修與補(bǔ)救,更好地避免了工廠損失并降低了對工廠生產(chǎn)效率的影響;風(fēng)速預(yù)測[2]可以為風(fēng)力發(fā)電提供保障;準(zhǔn)確的溫度預(yù)測[3]也能夠為人們的衣食住行提供更多保障。此外,在大數(shù)據(jù)時代,對用戶喜好進(jìn)行預(yù)測也很重要,通過用戶在應(yīng)用程序的停留時間來預(yù)測用戶對于該應(yīng)用程序的參與度[4],可以更好地推送用戶感興趣的事物,大幅提高用戶的體驗感。類似的應(yīng)用都利用多個相似、相關(guān)的時間序列變量來預(yù)測某個時間序列,即多維時間序列預(yù)測。使用與被預(yù)測數(shù)據(jù)具有相關(guān)性的數(shù)據(jù)進(jìn)行預(yù)測,不僅可以避免單維時間序列數(shù)據(jù)預(yù)測的局限性,還可以提高準(zhǔn)確率。
目前,針對時間序列數(shù)據(jù)預(yù)測的研究已經(jīng)取得了一定成果。文獻(xiàn)[5-8]利用矩陣畫像方法對金融時序數(shù)據(jù)進(jìn)行預(yù)測,但是因無法獲取與其相關(guān)性較高的數(shù)據(jù),僅考慮預(yù)測數(shù)據(jù)本身,難以獲得其他因素對金融數(shù)據(jù)的影響,導(dǎo)致數(shù)據(jù)預(yù)測結(jié)果有較大波動。文獻(xiàn)[9]利用長短期記憶(LSTM)-門控循環(huán)單元(GRU)聯(lián)合網(wǎng)絡(luò)對缺失的海洋數(shù)據(jù)進(jìn)行補(bǔ)全,由于與海洋數(shù)據(jù)相關(guān)性高的數(shù)據(jù)獲取難度較高,因此這種補(bǔ)全方法僅考慮了自相關(guān)性,沒有考慮其他因素對預(yù)測結(jié)果的影響,存在一定的波動誤差。文獻(xiàn)[10]利用神經(jīng)網(wǎng)絡(luò)隨機(jī)微分方程的模型對金融數(shù)據(jù)進(jìn)行預(yù)測,通過數(shù)學(xué)方法獲取時間序列數(shù)據(jù)中的隨機(jī)性和非線性關(guān)系,但是這種方法僅適用于金融數(shù)據(jù),具有一定的局限性。在某些實際應(yīng)用環(huán)境中,相關(guān)性較高的數(shù)據(jù)通常不存在或難以獲取,僅使用單維數(shù)據(jù)進(jìn)行預(yù)測也會受到許多時空因素的影響,從而造成預(yù)測結(jié)果具有較大的隨機(jī)性。
針對高相關(guān)性數(shù)據(jù)缺失或難以采集等問題,本文對低相關(guān)性多維時序數(shù)據(jù)預(yù)測進(jìn)行深入研究,提出一種基于注意力翻轉(zhuǎn)網(wǎng)絡(luò)的低相關(guān)性多維數(shù)據(jù)預(yù)測方法。首先,利用皮爾遜系數(shù)對大量時間序列數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)總體相關(guān)性低的數(shù)據(jù)具有單點相關(guān)性隨時間而變化的特點,為了更好地利用這種單點之間的相關(guān)性并提高模型效率,引入批處理滑動窗口按時間將數(shù)據(jù)細(xì)分為多個時間片,擺脫時間變化帶來的干擾,更好地捕獲維度相關(guān)性;其次,傳統(tǒng)GRU 模型能夠控制歷史信息,提高了對當(dāng)前時刻隱層輸出的影響,從而導(dǎo)致大量丟棄低相關(guān)性樣本參數(shù)的問題,為此,本文提出一種翻轉(zhuǎn)GRU 網(wǎng)絡(luò)對低相關(guān)性多維數(shù)據(jù)進(jìn)行初次過濾,控制多維數(shù)據(jù)在網(wǎng)絡(luò)中的傳遞數(shù)量,避免維度變量由于相關(guān)性較低而被大量丟棄,從而提高低相關(guān)性數(shù)據(jù)在網(wǎng)絡(luò)中的存活時間;然后,為了根據(jù)相關(guān)性來對過濾后的時序參數(shù)進(jìn)行劃分,建立面向維度的注意力機(jī)制對這些參數(shù)分配權(quán)重,調(diào)整不同維度序列在相關(guān)性提取過程中的重要度,細(xì)分維度參數(shù)間的相關(guān)性程度,突出相關(guān)性特征;最后,建立一種平方LSTM 網(wǎng)絡(luò)給分配權(quán)重后的數(shù)據(jù)賦予正負(fù)值作為其影響力,分別考慮數(shù)據(jù)對被預(yù)測參數(shù)的積極影響和消極影響,更細(xì)致地確定相關(guān)性對被預(yù)測數(shù)據(jù)的重要性,進(jìn)一步提高預(yù)測結(jié)果的準(zhǔn)確性。本文將所提注意力翻轉(zhuǎn)網(wǎng)絡(luò)與傳統(tǒng)網(wǎng)絡(luò)模型LSTM、GRU、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等進(jìn)行實驗對比,并將所提批處理滑動窗口加入傳統(tǒng)模型以證明其有效性。
數(shù)據(jù)預(yù)測已經(jīng)成為目前大數(shù)據(jù)領(lǐng)域的研究熱點之一,越來越多的應(yīng)用開始依靠數(shù)據(jù)預(yù)測,其中,時間序列數(shù)據(jù)預(yù)測是數(shù)據(jù)預(yù)測中比較特別的一個研究分支。根據(jù)技術(shù)手段的不同,數(shù)據(jù)預(yù)測可以分為基于統(tǒng)計學(xué)的方法和基于機(jī)器學(xué)習(xí)(神經(jīng)網(wǎng)絡(luò))的方法。
目前存在大量的時間序列數(shù)據(jù)預(yù)測方法,其中最經(jīng)典的是傳統(tǒng)數(shù)學(xué)統(tǒng)計方法,這種方法主要針對單維時間序列數(shù)據(jù),其流程主要包括數(shù)據(jù)特征分析、參數(shù)選擇、模型驗證優(yōu)化等。1982 年,美國統(tǒng)計學(xué)家ENGLE 提出了自回歸條件異方差(ARCH)模型[11],這種模型用于實現(xiàn)多變量異方差的時序數(shù)據(jù)預(yù)測,解決了時序數(shù)據(jù)的波動性預(yù)測問題。數(shù)學(xué)家BOLLERSLEV 通過對ARCH 的改進(jìn),提出了廣義自回歸條件異方差(GARCH)模型[12],使得自回歸條件異方差模型的約束條件進(jìn)一步放寬。文獻(xiàn)[13]提出利用差分操作來保證時間序列數(shù)據(jù)平穩(wěn)性的自回歸綜合移動平均(ARIMA)模型。文獻(xiàn)[14]提出帶有外生輸入的自回歸綜合移動平均模型。文獻(xiàn)[15]提出結(jié)合了極限學(xué)習(xí)機(jī)(ELM)和DQNPSO(Deep QNetwork-Based Particle Swarm Optimization)優(yōu)化器的混合深度強(qiáng)化學(xué)習(xí)模型,該模型能夠準(zhǔn)確預(yù)測隧道誘導(dǎo)的地面響應(yīng)頻率。文獻(xiàn)[16]利用模糊信息顆粒構(gòu)造顆粒復(fù)雜網(wǎng)絡(luò),構(gòu)建金融時間序列波動模型。文獻(xiàn)[17]采用指數(shù)平滑模型、自回歸積分移動平均模型,在狀態(tài)空間模型框架中結(jié)合非線性自回歸神經(jīng)網(wǎng)絡(luò),以提高預(yù)測的準(zhǔn)確性,從而解決經(jīng)濟(jì)和金融時間序列中線性與非線性模型的準(zhǔn)確診斷問題。文獻(xiàn)[18]利用隨機(jī)森林算法來預(yù)測運動員的舞蹈動作,通過特征分析揭示運動員在完成動作時的肌肉協(xié)同和節(jié)奏感。
以上傳統(tǒng)時序數(shù)據(jù)預(yù)測模型大部分都適用于單維時間序列數(shù)據(jù),且容易受到非線性因素的干擾。時間序列數(shù)據(jù)具有很強(qiáng)的復(fù)雜性和不確定性,因此,該類模型適用性較低,預(yù)測精度很難進(jìn)一步提升。
近年來,利用機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)進(jìn)行時間序列數(shù)據(jù)預(yù)測的方法逐漸增多,這種方法首先提取時間序列中的特征,并將其作為標(biāo)簽輸入模型,通過建立合適的函數(shù)對模型中的參數(shù)進(jìn)行優(yōu)化,直至達(dá)到所需的預(yù)測效果。由于時間序列數(shù)據(jù)大部分都是非平穩(wěn)數(shù)據(jù),存在非線性關(guān)系,因此傳統(tǒng)的時間序列數(shù)據(jù)預(yù)測模型得到的預(yù)測結(jié)果在實際應(yīng)用中存在一定偏差。隨著人工智能的不斷發(fā)展,利用多維時間序列數(shù)據(jù)對其進(jìn)行預(yù)測的方法越來越受到學(xué)者們的關(guān)注。
文獻(xiàn)[19]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)和雙向長短期記憶網(wǎng)絡(luò)的方法對滾動軸承的健康度進(jìn)行預(yù)測。文獻(xiàn)[20]為了一次性對所有交通位置進(jìn)行綜合預(yù)測,提出一種基于深度元學(xué)習(xí)的模型ST-MetNet。文獻(xiàn)[21]對長短期記憶網(wǎng)絡(luò)進(jìn)行改進(jìn)后與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,構(gòu)建一種新模型對全網(wǎng)地鐵客流進(jìn)行預(yù)測。文獻(xiàn)[22]在LSTM 網(wǎng)絡(luò)中加入新的組塊,構(gòu)建新的網(wǎng)絡(luò)CTS-LSTM,用于對多維高相關(guān)時序數(shù)據(jù)進(jìn)行集體預(yù)測。文獻(xiàn)[23]通過對注意力機(jī)制進(jìn)行深入研究并結(jié)合傳感器提出一種位置感知注意力機(jī)制,然后將位置感知注意力機(jī)制與長短期記憶網(wǎng)絡(luò)相結(jié)合,能夠動態(tài)適應(yīng)運動軌跡中的局部位置,并通過非固定特征來捕捉位置的顯著特征,從而提高預(yù)測精度。文獻(xiàn)[24]提出一種結(jié)合支持向量機(jī)回歸和卡爾曼濾波的方法,以預(yù)測公交車到站時間。
在以上神經(jīng)網(wǎng)絡(luò)方法中,使用多維數(shù)據(jù)進(jìn)行預(yù)測的多維參數(shù)都是較易獲取的高相關(guān)性數(shù)據(jù),在多維數(shù)據(jù)較難獲取的情況下都是使用單維數(shù)據(jù)進(jìn)行預(yù)測,未考慮是否可以使用低相關(guān)性數(shù)據(jù)。因此,本文主要針對低相關(guān)性數(shù)據(jù)進(jìn)行研究,提出一種針對低相關(guān)性數(shù)據(jù)的預(yù)測方法。
為了提高預(yù)測的精度和可信度,在進(jìn)行數(shù)據(jù)預(yù)測之前需要對變量進(jìn)行一定的處理和分析。為了提高模型的收斂速度,首先對數(shù)據(jù)進(jìn)行補(bǔ)全和修正,然后對數(shù)據(jù)進(jìn)行歸一化處理,將每一個數(shù)據(jù)均收斂到[-1,1]之間。為了更好地理解數(shù)據(jù)之間的關(guān)系,對數(shù)據(jù)進(jìn)行相關(guān)性分析,發(fā)現(xiàn)低相關(guān)性數(shù)據(jù)之間的相關(guān)性可以隨時間而發(fā)生變化,本文基于這個特性建立網(wǎng)絡(luò)模型,對低相關(guān)性數(shù)據(jù)進(jìn)行預(yù)測。
通常來說,一組有限長度的時間序列數(shù)據(jù)可以表示為從某一時刻(t=1)開始至另一時刻 (t=N)結(jié)束的一系列觀測數(shù)據(jù),即一組時間長度為N的單維時間序列數(shù)據(jù)可以使用一個1×N的矩陣[xt]1×N表示,具體形式如下:
其中:[x]T表示矩陣x的轉(zhuǎn)置;xt表示t時刻的觀測值;N表示此段時間序列數(shù)據(jù)的長度。
對于時間長度為N的多維時間序列數(shù)據(jù),可以使用一個M×N的矩陣[xt]M×N表示,具體形式如下:
其中:xMt表示t時刻的第M個數(shù)據(jù);M表示此數(shù)據(jù)具有M個參數(shù)。
時間序列數(shù)據(jù)表示出了各個領(lǐng)域系統(tǒng)中對歷史行為的客觀記錄,展現(xiàn)出系統(tǒng)隨著時間推移的變化規(guī)律與潛在特性。通過對時間序列數(shù)據(jù)的研究,可以更清晰地顯示出各個領(lǐng)域系統(tǒng)的運行模式,進(jìn)而更迅速地對動態(tài)系統(tǒng)進(jìn)行分析決策。
為了降低模型復(fù)雜度與計算量,本文對數(shù)據(jù)進(jìn)行補(bǔ)全和修正。拉格朗日方法補(bǔ)全的曲線較為平滑,不易出現(xiàn)抖動狀態(tài),因此,本文使用拉格朗日插值法進(jìn)行數(shù)據(jù)補(bǔ)全;由于時間序列的數(shù)值受周期變化和不規(guī)則變動的影響,部分?jǐn)?shù)據(jù)起伏較大,移動平均法可以對隨機(jī)的變異值進(jìn)行過濾,因此,本文使用移動平均法進(jìn)行異常值修正。拉格朗日插值法如下:
其中:n表示選取缺失值所在的一段固定時間窗的長度;x表示每個數(shù)據(jù)對應(yīng)的索引值;β為權(quán)重變量;結(jié)果y即為時序數(shù)據(jù)。移動平均法如下:
其中:x1+x2+x3+…+xn是異常值所在時間點的前n個正常連續(xù)的數(shù)據(jù)之和。
數(shù)據(jù)歸一化是一種無量綱處理手段,使得物理系統(tǒng)中數(shù)值的絕對值變?yōu)槟撤N相對值。在數(shù)據(jù)預(yù)測過程中,數(shù)據(jù)集通常處于不同值域,為了提升模型的收斂速度和精度,使數(shù)據(jù)特征具有相同的度量尺度,本文使用MinMaxScaler 函數(shù)對數(shù)據(jù)進(jìn)行歸一化處理,使得每一個數(shù)值都收斂至[-1,1]之間。MinMaxScaler 函數(shù)具體如下:
其中:Xscaler表示歸一化后的值;X表示當(dāng)前需要歸一化的值;Xmax(aaxis=0)表示每列中最大值組成的行向量;Xmin(aaxis=0)表示每列中最小值組成的行向量;mmax表示要映射到區(qū)間的最大值,默認(rèn)為1;mmin表示要映射到區(qū)間的最小值,默認(rèn)是0。
數(shù)據(jù)屬性的相關(guān)性是指數(shù)據(jù)的2 個屬性之間在某種意義下所存在的規(guī)律,其目的在于探索數(shù)據(jù)間的隱藏相關(guān)關(guān)系網(wǎng)。皮爾遜相關(guān)系數(shù)(PCC)將結(jié)果P分為幾類來分析參數(shù)之間的相關(guān)性。P值范圍通常為[-1,1],若為正相關(guān),P>0;若為負(fù)相關(guān),P<0。當(dāng)|P|>0.95 時即為顯著性相關(guān),|P|≥0.8 即為高度相關(guān),0.5 <|P|<0.8 即為中度相關(guān),0.3 ≤|P|<0.5 即為低度相關(guān),|P|<0.3 即為弱相關(guān)。
目前大部分?jǐn)?shù)據(jù)預(yù)測研究的數(shù)據(jù)相關(guān)性都較高,皮爾遜相關(guān)系數(shù)基本在0.8 以上,但在實際應(yīng)用中,有些高相關(guān)性數(shù)據(jù)不存在或較難獲取,而許多與被預(yù)測數(shù)據(jù)相關(guān)性較低的數(shù)據(jù)可以輕而易舉地獲取到。以共享單車使用量為例,這類數(shù)據(jù)無法獲取到與之顯著性相關(guān)的數(shù)據(jù),其變化還經(jīng)常受外界因素的影響,因此,可以使用一些較易獲取的完整的自然類數(shù)據(jù)對共享單車使用量進(jìn)行預(yù)測,其相關(guān)性關(guān)系如圖1 所示,圖中參數(shù)含義如表1 所示。
表1 共享單車參數(shù)意義 Table 1 Meaning of shared bicycle parameters
圖1 共享單車參數(shù)之間的相關(guān)性Fig.1 Correlation between shared bicycle parameters
顯然,圖1 中各個參數(shù)對于目標(biāo)值之間的相關(guān)性均為中度相關(guān)及以下,各個參數(shù)之間相關(guān)性也較低,即稱為低相關(guān)性數(shù)據(jù)。根據(jù)圖1 可以看出,氣溫和體感溫度對于共享單車使用量的相關(guān)性系數(shù)分別為0.39 和0.37,明顯為低相關(guān)性數(shù)據(jù),為了更好地研究數(shù)據(jù)之間的相關(guān)性,本文對這2 種溫度與共享單車使用量繪制關(guān)系圖,結(jié)果如圖2、圖3 所示,陰影部分表示當(dāng)前溫度共享單車使用量的波動范圍,實線部分為波動范圍的均值。
圖3 體感溫度與共享單車使用量的關(guān)系Fig.3 Relationship between body temperature and shared bicycle usage
顯然,共享單車使用量波動較大,無法判斷當(dāng)溫度上升時共享單車使用量是否必然出現(xiàn)正相關(guān)或負(fù)相關(guān)關(guān)系,但當(dāng)溫度達(dá)到峰值時,共享單車使用量的波動明顯驟減,溫度最高時共享單車使用量也達(dá)到極值。為了更細(xì)致地討論單點數(shù)據(jù)之間的相關(guān)性,本文選用氣溫和體感溫度最高的10 個點與共享單車使用量進(jìn)行相關(guān)性計算,結(jié)果如圖4 所示。從圖4可以看出,氣溫與體感溫度的相關(guān)性有很大提升,分別從0.39、0.37 提升至0.74、0.68,從低度相關(guān)提升到了中度相關(guān),低相關(guān)性數(shù)據(jù)存在單點相關(guān)性突變的情況。因此,可以得出結(jié)論,低相關(guān)性時序數(shù)據(jù)總體相關(guān)性較低,但是單點相關(guān)性會隨著時間的變化而變化,為了獲取這種特殊的相關(guān)性,本文建立一種利用批處理滑動窗口的注意力翻轉(zhuǎn)神經(jīng)網(wǎng)絡(luò)模型,以提高模型對單點相關(guān)性的獲取能力以及預(yù)測精度。
圖4 氣溫與體感溫度最高的10 個點與共享單車使用量的相關(guān)性Fig.4 Correlation between the ten points with the highest temperature and body temperature and shared bicycle usage
滑動窗口是一種數(shù)據(jù)處理技術(shù),通過維護(hù)一個固定大小的窗口在數(shù)據(jù)結(jié)構(gòu)中移動,以便有效地處理連續(xù)的子序列問題。在通常情況下,滑動窗口算法可以用來解決字符串、數(shù)組和鏈表等數(shù)據(jù)結(jié)構(gòu)中的問題,例如找到最小值和最大值、計算子數(shù)組和平均值以及查找滿足特定條件的連續(xù)子序列等。
對于多維時序數(shù)據(jù)預(yù)測而言,特征參數(shù)較多,數(shù)據(jù)量較大,若將所有的數(shù)據(jù)一次性放入模型中,不僅會降低模型效率,還會使網(wǎng)絡(luò)無法更好地獲取數(shù)據(jù)的前后關(guān)系從而影響預(yù)測精度。對于低相關(guān)性數(shù)據(jù)而言,一段時間內(nèi)的數(shù)據(jù)對于單點的相關(guān)性高于總體數(shù)據(jù)對于單點的相關(guān)性,為了更好地利用低相關(guān)數(shù)據(jù)之間的相關(guān)性同時提高模型效率,本文提出一種批處理滑動窗口方法,將數(shù)據(jù)分批后再分為多段并按時間順序輸入模型中。
假設(shè)一個單維時間序列為X=(x1,x2,…,xn-1,xn),設(shè)輸入的長度為h,即窗口長度為h,當(dāng)前時間點為t,式(6)展示了滑動窗口的滑動公式,圖5 展示了滑動窗口的工作原理。
圖5 基于滑動窗口的數(shù)據(jù)集劃分機(jī)制Fig.5 Dataset partitioning mechanism based on sliding window
為了更好地對數(shù)據(jù)進(jìn)行處理,將窗口劃分后的數(shù)據(jù)分成不同批次,將輸入的數(shù)據(jù)流分割成固定大小的塊,并沿著時間軸滑動這些塊進(jìn)行處理,這個過程可以在連續(xù)、重疊、不同的時間段內(nèi)進(jìn)行,以獲得更全面的信息。例如,假設(shè)有一個包含一周前7 天氣溫的時間序列數(shù)據(jù),可以使用批處理滑動窗口來計算每3 天的平均溫度。首先將整個時間序列分割成長度為3 天的塊,然后將這些塊沿著時間軸滑動,直到覆蓋整個時間序列。在每個滑動窗口內(nèi),可以計算出3 天的平均溫度并輸出結(jié)果。批處理滑動窗口如圖6 所示。
圖6 批處理滑動窗口Fig.6 Batch processing sliding window
在批處理滑動窗口建立后,需要設(shè)置合適的滑動窗口參數(shù),根據(jù)數(shù)據(jù)集的特點修改滑動窗口參數(shù),可通過時間、季節(jié)等特點進(jìn)行滑動窗口劃分,在考慮以上特點的同時,還需結(jié)合數(shù)據(jù)集大小對滑動窗口大小進(jìn)行調(diào)節(jié),使得模型達(dá)到最優(yōu)狀態(tài)。
受人腦注意力分配的啟發(fā),學(xué)者們提出了注意力機(jī)制,其核心思想是當(dāng)人在看一種東西時,當(dāng)前時刻關(guān)注的一定是當(dāng)前正在看的這個東西的某一個部分。換句話說,當(dāng)人們看向其他位置時,注意力也將隨著目光的移動而轉(zhuǎn)移,這意味著當(dāng)人們處于不同場景時,對場景中不同目標(biāo)的注意力分布是不同的。
通過對注意力機(jī)制進(jìn)行研究,有研究人員發(fā)現(xiàn)注意力機(jī)制可以分別添加在時間步和維度上,但核心思想都是對目標(biāo)數(shù)據(jù)進(jìn)行加權(quán)變換,通過對輸入的不同維度數(shù)據(jù)進(jìn)行分析,給予其不同的權(quán)重。
對于多維時間序列而言,每個元素的重要性都不同,尤其是對于低相關(guān)性數(shù)據(jù)來說,每個維度對于數(shù)據(jù)的影響差距較大。本文通過基于維度的注意力機(jī)制輸入特征,使模型能夠自適應(yīng)地關(guān)注相關(guān)特征,讓各個維度的數(shù)據(jù)都能體現(xiàn)自身重要性?;诰S度的注意力機(jī)制通過為不同維度分配不同權(quán)重來區(qū)分它們的重要性,主要使用Dense 層的Softmax 函數(shù)實現(xiàn)權(quán)重計算,其計算公式如下:
其中:zi為第i個節(jié)點的輸出值;C為輸入節(jié)點的個數(shù)。
基于維度的注意力機(jī)制模型如圖7 所示,其中,(e1,e2,…,en-1,en)為輸入序列。使用Softmax 根據(jù)相似度值計算出每個隱含層對序列的貢獻(xiàn)(S1,S2,…,Sn-1,Sn),為不同維度的數(shù)據(jù)賦予不同的權(quán)重,更好地區(qū)分?jǐn)?shù)據(jù)之間的相關(guān)性,然后將這些權(quán)重用于構(gòu)建向量h',并將h'傳遞給解碼器,向量h'計算如下:
圖7 基于維度的注意力機(jī)制模型Fig.7 Dimension based attention mechanism model
為了保證模型可以應(yīng)用到各個場景,分別設(shè)計維度權(quán)重共享注意力機(jī)制和非共享注意力機(jī)制。權(quán)重共享的注意力機(jī)制流程如圖8 所示。
圖8 權(quán)重共享的注意力機(jī)制流程Fig.8 The procedure of attention mechanism with weight sharing
共享權(quán)重會導(dǎo)致各個維度的權(quán)重相同,無法更好地區(qū)分各個維度對于被預(yù)測數(shù)據(jù)的重要性。為了更好地區(qū)分各個維度的重要性,本文使用權(quán)重非共享的注意力機(jī)制進(jìn)行模型構(gòu)建。權(quán)重非共享的注意力機(jī)制流程如圖9 所示。
圖9 權(quán)重非共享的注意力機(jī)制流程Fig.9 The procedure of attention mechanism without weight sharing
將整理好的數(shù)據(jù)通過神經(jīng)網(wǎng)絡(luò)初步篩選輸入到注意力機(jī)制模型中,決定模型需要更多地關(guān)注哪一部分的低相關(guān)性數(shù)據(jù),減少需要處理的信息量,區(qū)分低相關(guān)性數(shù)據(jù)之間的重要性,為后續(xù)預(yù)測工作提供合適的資源。
從第2 節(jié)可知,數(shù)據(jù)的總體相關(guān)性較低,但隨著時間的變化,數(shù)據(jù)相關(guān)性也會發(fā)生變化,因此,數(shù)據(jù)之間的相關(guān)性存在一定的隨機(jī)性。傳統(tǒng)預(yù)測模型存在誤差較大和優(yōu)化函數(shù)目標(biāo)單一的局限性,基于指數(shù)平滑的預(yù)測方法只適用于短期預(yù)測,基于支持向量機(jī)的預(yù)測方法只能獲得離散的預(yù)測值,無法觀測變化趨勢,基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法只能短期記憶,且極易出現(xiàn)梯度消失的問題,因此,無法促使網(wǎng)絡(luò)模型學(xué)習(xí)時間序列相關(guān)性之間的隨機(jī)性,從而導(dǎo)致預(yù)測性能下降,尤其是當(dāng)預(yù)測數(shù)據(jù)所占時間比重較高時,誤差積累也會越來越多,嚴(yán)重影響預(yù)測性能。
如今在時間序列數(shù)據(jù)預(yù)測方面表現(xiàn)良好的是LSTM 模型和GRU 模型。傳統(tǒng)LSTM 模型雖然可以對數(shù)據(jù)進(jìn)行長期記憶,但是在長期預(yù)測的過程中有陷入局部最優(yōu)解的可能。傳統(tǒng)GRU 模型可以更好地捕捉時間序列中的依賴關(guān)系,但是對于長期預(yù)測效果較差,會丟失較多數(shù)據(jù)。對于神經(jīng)網(wǎng)絡(luò)來說,長期記憶更容易丟失相對相關(guān)性較低的數(shù)據(jù),因此,數(shù)據(jù)單點相關(guān)性較高并不足以對下一時刻的數(shù)據(jù)進(jìn)行準(zhǔn)確預(yù)測。為了消減這些問題對模型預(yù)測精度的影響,針對傳統(tǒng)GRU 網(wǎng)絡(luò)容易丟棄低相關(guān)性樣本的問題,本文建立翻轉(zhuǎn)GRU(TURN-GRU)網(wǎng)絡(luò),提升相關(guān)性較低的多維數(shù)據(jù)在模型中的存活時間;建立平方LSTM(SQ-LSTM)網(wǎng)絡(luò),輸入分配權(quán)重后的數(shù)據(jù),考慮輸入數(shù)據(jù)對被預(yù)測參數(shù)的積極影響和消極影響,更細(xì)致地對輸入數(shù)據(jù)進(jìn)行影響力劃分。
3.3.1 翻轉(zhuǎn)GRU 網(wǎng)絡(luò)
門控循環(huán)單元是一種神經(jīng)網(wǎng)絡(luò)架構(gòu),主要用于深度學(xué)習(xí)中的序列建模任務(wù),它是傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的變體,旨在通過門控機(jī)制選擇性地更新和重制隱藏狀態(tài)下的信息以解決梯度消失問題。雖然GRU 相比于其他神經(jīng)網(wǎng)絡(luò)模型具有較強(qiáng)的長期記憶能力和更少的參數(shù)量,但其也具有很多缺點,對于較長的序列,GRU 仍然可能出現(xiàn)梯度消失或梯度爆炸的問題,且GRU 的表達(dá)能力受限于其內(nèi)部結(jié)構(gòu),因此,在某些復(fù)雜任務(wù)中需要更深層次、更復(fù)雜的架構(gòu)來提高精度?;谝陨蠁栴},本文提出翻轉(zhuǎn)GRU網(wǎng)絡(luò)——TURN-GRU,其模型整體架構(gòu)依然沿用傳統(tǒng)GRU 的部分網(wǎng)絡(luò)結(jié)構(gòu),通過將傳統(tǒng)GRU 網(wǎng)絡(luò)模型整體激活函數(shù)進(jìn)行翻轉(zhuǎn)建立TURN-GRU 網(wǎng)絡(luò)。
TURN-GRU 的流程為:前一時刻的輸出ht-1和當(dāng)前時刻的輸入xt通過tanh 函數(shù)分別產(chǎn)生rt和zt,rt與前一時刻的輸出ht-1組合通過Sigmoid 函數(shù)產(chǎn)生一個新的量,總體決定了有多少數(shù)據(jù)需要被遺忘;和zt結(jié)合生成的值與前一時刻的輸出ht-1和zt結(jié)合生成的值共同決定當(dāng)前時刻與過去時刻的數(shù)據(jù)有多少被保存并輸出為當(dāng)前時刻的ht。TURN-GRU 模型的神經(jīng)元結(jié)構(gòu)如圖10 所示。
圖10 TURN-GRU 的神經(jīng)元結(jié)構(gòu)Fig.10 The neuronal structure of TURN-GRU
ht-1是上一個時刻的隱藏層輸出,ht為當(dāng)前時刻的隱藏層輸出,xt表示當(dāng)前時刻的輸入,σ代表Sigmoid 函數(shù),輸出在[0,1]之間,tanh 是雙曲正切函數(shù),輸出在[-1,1]之間,rt表示當(dāng)前時刻有多少信息被保留,zt表示上一時刻的數(shù)據(jù)有多少可以被保留下來,決定有多少數(shù)據(jù)被遺忘,W表示權(quán)重參數(shù)。TURN-GRU 計算公式如下:
傳統(tǒng)的GRU 網(wǎng)絡(luò)使用Sigmoid 函數(shù)進(jìn)行數(shù)據(jù)篩選,讓數(shù)據(jù)經(jīng)過激活函數(shù)后輸出在[0,1]之間,提高了數(shù)據(jù)之間的相關(guān)性,但由于低相關(guān)性數(shù)據(jù)之間關(guān)聯(lián)較低,因此篩選后的數(shù)據(jù)經(jīng)過Sigmoid 函數(shù)會無限趨近于0,久而久之便會被網(wǎng)絡(luò)徹底丟棄,并且長時間使用Sigmoid 函數(shù)會導(dǎo)致飽和,而tanh 函數(shù)在一定程度上緩解了神經(jīng)網(wǎng)絡(luò)的梯度消失問題,使神經(jīng)網(wǎng)絡(luò)的訓(xùn)練更加穩(wěn)定。為了改善上述問題,本文將傳統(tǒng)GRU 模型中所有的Sigmoid 函數(shù)均翻轉(zhuǎn)為tanh 函數(shù),同時為了避免模型中的數(shù)據(jù)冗余,將tanh 函數(shù)翻轉(zhuǎn)為Sigmoid 函數(shù),使數(shù)據(jù)更多地存活在[-1,1]之間,減少Sigmoid 函數(shù)在模型中的使用次數(shù)和數(shù)據(jù)無限趨近于0 的可能性,篩選出低相關(guān)性數(shù)據(jù)中相對相關(guān)性較高的數(shù)據(jù),以此提高數(shù)據(jù)在模型中的存活時間。
3.3.2 平方LSTM 網(wǎng)絡(luò)
LSTM 是一種常用于處理序列數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。LSTM 基于門控機(jī)制,可以選擇性地讀取、寫入和遺忘信息,包含輸入門、遺忘門和輸出門以及一個記憶單元,能夠根據(jù)輸入序列和歷史信息自適應(yīng)地控制信息流動,具有良好的記憶能力和長期依賴性。但是,LSTM 過于復(fù)雜且需要大量參數(shù),導(dǎo)致訓(xùn)練速度較慢,且這種門控機(jī)制會導(dǎo)致梯度消失問題,從而使訓(xùn)練變得困難。在SQ-LSTM 模塊中,本文參考傳統(tǒng)LSTM 模型的網(wǎng)絡(luò)結(jié)構(gòu),刪除了標(biāo)準(zhǔn)LSTM 中的輸入門,并增加一個“信息門”,通過將輸入的數(shù)據(jù)進(jìn)行平方計算,將輸入的信息均轉(zhuǎn)換為正值,縮小低相關(guān)性數(shù)據(jù)之間的差距,并將網(wǎng)絡(luò)中的激活函數(shù)均轉(zhuǎn)換為tanh,減少參數(shù)數(shù)量,提高網(wǎng)絡(luò)模型訓(xùn)練速度,并緩解神經(jīng)網(wǎng)絡(luò)中的梯度消失問題。
SQ-LSTM 的流程為:前一時刻的輸出ht-1和當(dāng)前時刻 的輸入xt通 過tanh 函 數(shù),分別記 為ft、it、ot。其中:ft旨在為Ct-1提供一個[-1,1]范圍內(nèi)的向量值,控制當(dāng)前時刻與前一時刻隱藏層數(shù)據(jù)的保留程度;it平方后可以縮小數(shù)據(jù)之間的差距,得到信息門的輸出,并與前一時刻保留的單元狀態(tài)共同組成當(dāng)前的單位狀態(tài)Ct;ot與當(dāng)前的單位狀態(tài)Ct結(jié)合生成當(dāng)前時刻的輸出ht。SQ-LSTM 的神經(jīng)元結(jié)構(gòu)如圖11 所示。
圖11 SQ-LSTM 的神經(jīng)元結(jié)構(gòu)Fig.11 The neuronal structure of SQ-LSTM
ht-1是上一個時刻的隱藏層輸出,ht為當(dāng)前時刻的隱藏層輸出,xt表示當(dāng)前時刻的輸入,Ct-1表示上一時刻的細(xì)胞狀態(tài),Ct表示當(dāng)前時刻輸出的細(xì)胞狀態(tài),tanh 是雙曲正切函數(shù),輸出在[-1,1]之間,ft表示當(dāng)前時刻與前一時刻隱藏層數(shù)據(jù)保留的輸出,it是當(dāng)前時刻與前一時刻隱藏層數(shù)據(jù)信息篩選后的輸出,ot表示輸出門的初始輸出,W表示權(quán)重參數(shù)。SQLSTM 計算公式如下:
模型整體選用tanh 函數(shù)使收斂更快,減少迭代次數(shù)。此外,tanh 函數(shù)將輸入為負(fù)的數(shù)據(jù)強(qiáng)制映射為負(fù),分別考慮了數(shù)據(jù)對被預(yù)測參數(shù)的積極影響和消極影響,不僅更加有效細(xì)致地對數(shù)據(jù)進(jìn)行影響力劃分,還減少了模型中的參數(shù)量,提高了模型運行速度。信息門通過將輸入數(shù)據(jù)平方的方式減小被篩選后的數(shù)據(jù)信息之間的差距,更好地捕捉數(shù)據(jù)之間的相關(guān)性并保留前后時刻數(shù)據(jù)的記憶,避免由于數(shù)據(jù)相關(guān)性較低使得數(shù)據(jù)間差距較大從而導(dǎo)致部分?jǐn)?shù)據(jù)被丟棄的問題。
上述2 種模型的建立可以提高之前時刻數(shù)據(jù)對被預(yù)測數(shù)據(jù)的影響,更好地提升低相關(guān)數(shù)據(jù)之間的關(guān)聯(lián)度,使數(shù)據(jù)在網(wǎng)絡(luò)中更具有“話語權(quán)”。
3.3.3 注意力翻轉(zhuǎn)網(wǎng)絡(luò)ATT-TURN-NN
本文提出TURN-GRU 和SQ-LSTM 這2 種網(wǎng)絡(luò)模型,用于更好地提取數(shù)據(jù)的相關(guān)性并使數(shù)據(jù)更長時間地保留在網(wǎng)絡(luò)中。僅使用TURN-GRU 模型可以使數(shù)據(jù)更好地被篩選并保留在網(wǎng)絡(luò)中,但其保留的時間較短,僅使用SQ-LSTM 會使網(wǎng)絡(luò)中模型的數(shù)據(jù)過多,導(dǎo)致數(shù)據(jù)冗余,并且文獻(xiàn)[25]研究表明單一神經(jīng)網(wǎng)絡(luò)模型提取能力較弱,會丟失大量有價值的信息,忽略局部與整體之間的相關(guān)性,導(dǎo)致預(yù)測結(jié)果差別較大且不穩(wěn)定。因此,為了提升數(shù)據(jù)在網(wǎng)絡(luò)中的存活率并對數(shù)據(jù)進(jìn)行影響力劃分,本文將2 種模型擬合在一起對低相關(guān)性數(shù)據(jù)進(jìn)行預(yù)測。
從第2 節(jié)可以看出,數(shù)據(jù)每一維度針對被預(yù)測數(shù)據(jù)的相關(guān)性均不相同,且每一維度的相關(guān)性隨時間變化的幅度也不同。為了精確每一維度對預(yù)測結(jié)果的影響,加入基于維度的注意力機(jī)制,將基于輸入維度的時間注意力機(jī)制與翻轉(zhuǎn)網(wǎng)絡(luò)模型相結(jié)合,使網(wǎng)絡(luò)對于單點相關(guān)性投入更多的關(guān)注,以獲取更多需要關(guān)注目標(biāo)的信息,從而抑制其他無用信息。從后續(xù)實驗中可以看出,加入注意力機(jī)制的模型有更好的擬合效果。
圖12 所示為本文所提網(wǎng)絡(luò)的基本流程,網(wǎng)絡(luò)主要分為3 個部分,即輸入層、隱含層和輸出層。其中:輸入層包括滑動窗口構(gòu)建、特征提取等;隱含層為ATT-TURN-NN 網(wǎng)絡(luò)模型;輸出層包括結(jié)果輸出、結(jié)果可視化等。
圖12 本文網(wǎng)絡(luò)基本流程Fig.12 Basic procedure of the network in this paper
按照流程分別設(shè)計輸入層、隱含層及輸出層,具體如下:
1)設(shè)計輸入層。通過數(shù)據(jù)歸一化、特征提取、數(shù)據(jù)窗口劃分、相關(guān)性對比等方法對原始時間序列數(shù)據(jù)進(jìn)行分解,獲得訓(xùn)練集輸入數(shù)據(jù)、訓(xùn)練集輸出數(shù)據(jù)、測試集輸入數(shù)據(jù)及測試集輸出數(shù)據(jù)。
2)設(shè)計隱含層。由于SQ-LSTM 模型參數(shù)較多,容易出現(xiàn)過擬合情況,因此首先將處理好的數(shù)據(jù)通過第1 層TURN-GRU 模型進(jìn)行初次篩選,提取時間特征。將初次篩選后的數(shù)據(jù)輸入基于維度的注意力機(jī)制模型中,為不同維度的數(shù)據(jù)賦予權(quán)重,更好地區(qū)分?jǐn)?shù)據(jù)之間的相關(guān)性。將賦予權(quán)重后的數(shù)據(jù)輸入第2 層TURN-GRU 網(wǎng)絡(luò)模型中并減半神經(jīng)元個數(shù),再次針對相關(guān)性篩選數(shù)據(jù),增加權(quán)重較高的數(shù)據(jù)在網(wǎng)絡(luò)模型中的存活時間。將篩選后的數(shù)據(jù)輸入SQLSTM 模型中,分別考慮數(shù)據(jù)的積極影響和消極影響,更好地提升模型訓(xùn)練的準(zhǔn)確率。通過對神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),調(diào)整參數(shù)使模型達(dá)到最佳效果,參數(shù)設(shè)置如表2 所示。
表2 ATT-TURN-NN 網(wǎng)絡(luò)參數(shù)設(shè)置 Table 2 ATT-TURN-NN network parameter settings
3)將測試集輸入模型中進(jìn)行測試,將結(jié)果可視化與真實值進(jìn)行對比,以驗證模型的性能。
圖13 所示為隱含層ATT-TURN-NN 網(wǎng)絡(luò)的基本架構(gòu)。
圖13 隱含層ATT-TURN-NN 模型結(jié)構(gòu)Fig.13 Hidden layer ATT-TURN-NN model structure
為了驗證所提模型的性能,將其與傳統(tǒng)模型進(jìn)行對比。利用決定系數(shù)(R2)[26]、均方誤差(MSE)、均方根誤差(RMSE)以及平均絕對誤差(MAE)4 種指標(biāo)來評估模型性能。
決定系數(shù)一般用于在回歸模型中評估預(yù)測值和實際值的符合程度,一般R2 越接近1,表示模型效果越好。R2 計算公式如下:
其中:y為真實值;f為預(yù)測值;是真實值的平均值。
均方誤差指參數(shù)估計值和參數(shù)值之差平方的期望值,MSE 值越小,說明預(yù)測模型有越好的精度。MSE 計算公式如下:
均方根誤差為MSE 開平方后的結(jié)果,其值越接近0,表示預(yù)測值與真實值相差越小。RMSE 計算公式如下:
平均絕對誤差表示預(yù)測值與觀測值之間絕對誤差的平均值,計算公式如下:
本文使用英國某城市3 年的共享單車使用量數(shù)據(jù)來測試模型有效性,實驗數(shù)據(jù)為每小時記錄一次,一天記錄24 次,每逢整點記錄。本次實驗使用的數(shù)據(jù)包括9 個種類,其中,目標(biāo)值為共享單車使用量,其他參數(shù)特征分別為氣溫、體感溫度、濕度、風(fēng)速、天氣、是否為假期、是否為周末以及季節(jié)。分別對7 種參數(shù)與共享單車使用量進(jìn)行相關(guān)性分析,如第2 節(jié)所示。其中,氣溫、體感溫度、風(fēng)速3 種參數(shù)與共享單車使用量呈正相關(guān)關(guān)系,濕度、天氣、是否為假期、是否為周末與共享單車使用量呈負(fù)相關(guān)關(guān)系。根據(jù)圖1 可以看出,各個參數(shù)與共享單車使用量之間的相關(guān)性絕對值均低于0.5,屬于低相關(guān)性時間序列數(shù)據(jù)。為了更好地利用低相關(guān)性對時間序列數(shù)據(jù)進(jìn)行預(yù)測,本文構(gòu)建注意力翻轉(zhuǎn)模型,更好地獲取低相關(guān)性數(shù)據(jù)之間的關(guān)系。
由于數(shù)據(jù)為多維且數(shù)據(jù)之間數(shù)值差距較大,單位不統(tǒng)一,因此需要先對數(shù)據(jù)進(jìn)行預(yù)處理,檢查數(shù)據(jù)是否存在缺失,如有缺失就對其進(jìn)行填補(bǔ),對填補(bǔ)后的完整數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)轉(zhuǎn)化為[0,1]之間的范圍,更利于計算,提高模型效率,避免因數(shù)據(jù)差異過大而導(dǎo)致的模型過載問題。
本次實驗將80%的數(shù)據(jù)劃分為訓(xùn)練集,20%的數(shù)據(jù)劃分為測試集。為了使滑動窗口在模型中的作用最大化,將滑動窗口長度設(shè)置為24,滑動窗口步長設(shè)置為1,每次輸入數(shù)據(jù)后移動一個步長,同時產(chǎn)生一個過期數(shù)據(jù)和一個輸出數(shù)據(jù),即使用前24 h 的數(shù)據(jù)預(yù)測未來1 h 的數(shù)據(jù)。將訓(xùn)練數(shù)據(jù)分為10 個批次進(jìn)行訓(xùn)練,提高模型效率,對規(guī)避低相關(guān)性時間序列數(shù)據(jù)的隨機(jī)性和間接性具有重要作用。將過大的數(shù)據(jù)集進(jìn)行分批處理,可以提高模型的運行速率,降低空間復(fù)雜度。
將本文模型與傳統(tǒng)模型進(jìn)行對比,并在不同的參數(shù)變化下評估ATT-TURN-NN 模型的性能。首先對不做窗口劃分的數(shù)據(jù)利用部分傳統(tǒng)模型進(jìn)行預(yù)測評估,結(jié)果如表3、圖14 所示。由于數(shù)據(jù)量較大,圖像坐標(biāo)較為密集,因此選擇測試集的前300 個數(shù)據(jù)進(jìn)行畫圖,以確保圖像的可視性。分別使用決定系數(shù)、均方誤差、均方根誤差、平均絕對誤差來評估模型性能。
表3 未劃分滑動窗口時各個模型的評估結(jié)果Table 3 Evaluation results of each model without dividing sliding windows
圖14 不使用滑動窗口時模型預(yù)測值與真實值的對比結(jié)果Fig.14 Comparison results between model predicted values and true values without using sliding windows
從表3 可以看出,LSTM 和GRU 相對于RNN 對于低相關(guān)性數(shù)據(jù)預(yù)測精度更高,這主要是因為LSTM 網(wǎng)絡(luò)模型和GRU 網(wǎng)絡(luò)模型具有記憶功能,可以將之前的數(shù)據(jù)趨勢記錄下來并加以利用。從圖14 可以看出,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型對于低相關(guān)性時序數(shù)據(jù)處理有明顯優(yōu)勢,可以基本看出數(shù)據(jù)改變的趨勢。
分別將全連接網(wǎng)絡(luò)、LSTM、RNN、GRU、RNN+LSTM、ATT-GRU、ATT-LSTM 與ATT-TURN-NN 模型進(jìn)行對比,通過實驗展示這些模型的預(yù)測結(jié)果,以驗證所提模型的有效性。表4 所示為模型在數(shù)據(jù)集上的預(yù)測結(jié)果,圖15 所示為上述模型進(jìn)行滑動窗口劃分后預(yù)測值與真實值的對比結(jié)果。
表4 滑動窗口劃分后各個模型的評估結(jié)果 Table 4 Evaluation results of each model after sliding window partitioning
圖15 滑動窗口劃分后模型預(yù)測值與真實值的對比結(jié)果Fig.15 Comparison results between model predicted values and true values after sliding window partitioning
顯然,傳統(tǒng)模型[27]對于低相關(guān)性數(shù)據(jù)峰值的預(yù)測效果較差,從圖14 和圖15 中GRU、LSTM、RNN、Dense 的對比可以看出,增加了批處理滑動窗口的神經(jīng)網(wǎng)絡(luò)模型具有更好的預(yù)測精度。低相關(guān)性數(shù)據(jù)具有單點相關(guān)性,批處理滑動窗口可以將一段時間內(nèi)的數(shù)據(jù)整合到一起分批輸入網(wǎng)絡(luò)中,以提高數(shù)據(jù)的相關(guān)性。本文還通過實驗證明了基于維度的注意力機(jī)制的有效性,從圖15 和表4 可以看出,增加了注意力機(jī)制的LSTM、GRU 和RNN 模型得出的預(yù)測值更加接近真實值,證明基于維度的注意力機(jī)制可以通過給低相關(guān)性數(shù)據(jù)的不同維度分配不同權(quán)重來區(qū)分它們在模型中的重要性。最后,為了證明所提注意力翻轉(zhuǎn)模型的有效性,將ATT-TURN-NN 模型與經(jīng)典模型進(jìn)行對比,從表4 可以看出,ATT-TURN-NN 模型得出的決定系數(shù)最接近1,達(dá)到了0.95 以上,證明其得到的預(yù)測值與真實值之間差距最小,該模型對于低相關(guān)性數(shù)據(jù)具有較好的預(yù)測能力。
表5 所示為各個模型的測試效率對比。從表5可以看出,各個模型測試效率差別不大,效率最高的為Dense 模型,但根據(jù) 表3 和表4 可知,Dense 模型預(yù)測能力極差,盡管其測試效率較高,但也無法彌補(bǔ)其預(yù)測能力差的缺陷。通過表5 可以看出,本文ATTTURN-NN 模型雖然測試效率并未達(dá)到最優(yōu),但也優(yōu)于LSTM、GRU、RNN 等大部分模型。結(jié)合表3 和表4 可知,本文ATT-TURN-NN 模型可以獲得較為準(zhǔn)確的預(yù)測結(jié)果,同時測試效率較高,綜上,ATTTURN-NN 模型在處理低相關(guān)性時序數(shù)據(jù)方面優(yōu)于其他模型。
表5 各個模型的時間效率對比Table 5 Comparison of time efficiency among different models 單位:ms
在現(xiàn)實環(huán)境中,較難獲取高相關(guān)性數(shù)據(jù),而對單維時間序列數(shù)據(jù)進(jìn)行預(yù)測時,數(shù)據(jù)會因為周圍環(huán)境的影響而產(chǎn)生一定的突變,導(dǎo)致預(yù)測結(jié)果存在一定的隨機(jī)性。此外,低相關(guān)性數(shù)據(jù)對預(yù)測具有重要意義,維度參數(shù)與被預(yù)測數(shù)據(jù)的相關(guān)性會隨著時間的推移而發(fā)生變化,當(dāng)參數(shù)達(dá)到某值時其相關(guān)性也會隨之增高。為了捕捉數(shù)據(jù)的低相關(guān)性,本文提出一種新的混合模型ATT-TURN-NN。將該模型與GRU、LSTM 等傳統(tǒng)模型進(jìn)行對比實驗,結(jié)果驗證了ATT-TURN-NN 模型的有效性。下一步將研究如何更有效地捕捉低相關(guān)性數(shù)據(jù)的相關(guān)性,嘗試加入空間相關(guān)性對低相關(guān)性數(shù)據(jù)進(jìn)行預(yù)測,通過提高數(shù)據(jù)相關(guān)性來提升模型的預(yù)測準(zhǔn)確率。