丁國(guó)輝,劉宇琪,王言開(kāi),耿施展,姜天昊
(沈陽(yáng)航空航天大學(xué)計(jì)算機(jī)學(xué)院,遼寧 沈陽(yáng) 110136)
時(shí)間序列數(shù)據(jù)預(yù)測(cè)在序列數(shù)據(jù)分析領(lǐng)域是一個(gè)備受關(guān)注的研究熱點(diǎn)。在許多應(yīng)用中,精確的數(shù)據(jù)預(yù)測(cè)可以使生產(chǎn)、運(yùn)營(yíng)、管理及決策活動(dòng)更加高效。例如:工業(yè)領(lǐng)域?qū)σ后w泄漏進(jìn)行預(yù)測(cè)[1],提前感知損壞點(diǎn)并及時(shí)進(jìn)行整修與補(bǔ)救,更好地避免了工廠損失并降低了對(duì)工廠生產(chǎn)效率的影響;風(fēng)速預(yù)測(cè)[2]可以為風(fēng)力發(fā)電提供保障;準(zhǔn)確的溫度預(yù)測(cè)[3]也能夠?yàn)槿藗兊囊率匙⌒刑峁└啾U稀4送猓诖髷?shù)據(jù)時(shí)代,對(duì)用戶喜好進(jìn)行預(yù)測(cè)也很重要,通過(guò)用戶在應(yīng)用程序的停留時(shí)間來(lái)預(yù)測(cè)用戶對(duì)于該應(yīng)用程序的參與度[4],可以更好地推送用戶感興趣的事物,大幅提高用戶的體驗(yàn)感。類似的應(yīng)用都利用多個(gè)相似、相關(guān)的時(shí)間序列變量來(lái)預(yù)測(cè)某個(gè)時(shí)間序列,即多維時(shí)間序列預(yù)測(cè)。使用與被預(yù)測(cè)數(shù)據(jù)具有相關(guān)性的數(shù)據(jù)進(jìn)行預(yù)測(cè),不僅可以避免單維時(shí)間序列數(shù)據(jù)預(yù)測(cè)的局限性,還可以提高準(zhǔn)確率。
目前,針對(duì)時(shí)間序列數(shù)據(jù)預(yù)測(cè)的研究已經(jīng)取得了一定成果。文獻(xiàn)[5-8]利用矩陣畫像方法對(duì)金融時(shí)序數(shù)據(jù)進(jìn)行預(yù)測(cè),但是因無(wú)法獲取與其相關(guān)性較高的數(shù)據(jù),僅考慮預(yù)測(cè)數(shù)據(jù)本身,難以獲得其他因素對(duì)金融數(shù)據(jù)的影響,導(dǎo)致數(shù)據(jù)預(yù)測(cè)結(jié)果有較大波動(dòng)。文獻(xiàn)[9]利用長(zhǎng)短期記憶(LSTM)-門控循環(huán)單元(GRU)聯(lián)合網(wǎng)絡(luò)對(duì)缺失的海洋數(shù)據(jù)進(jìn)行補(bǔ)全,由于與海洋數(shù)據(jù)相關(guān)性高的數(shù)據(jù)獲取難度較高,因此這種補(bǔ)全方法僅考慮了自相關(guān)性,沒(méi)有考慮其他因素對(duì)預(yù)測(cè)結(jié)果的影響,存在一定的波動(dòng)誤差。文獻(xiàn)[10]利用神經(jīng)網(wǎng)絡(luò)隨機(jī)微分方程的模型對(duì)金融數(shù)據(jù)進(jìn)行預(yù)測(cè),通過(guò)數(shù)學(xué)方法獲取時(shí)間序列數(shù)據(jù)中的隨機(jī)性和非線性關(guān)系,但是這種方法僅適用于金融數(shù)據(jù),具有一定的局限性。在某些實(shí)際應(yīng)用環(huán)境中,相關(guān)性較高的數(shù)據(jù)通常不存在或難以獲取,僅使用單維數(shù)據(jù)進(jìn)行預(yù)測(cè)也會(huì)受到許多時(shí)空因素的影響,從而造成預(yù)測(cè)結(jié)果具有較大的隨機(jī)性。
針對(duì)高相關(guān)性數(shù)據(jù)缺失或難以采集等問(wèn)題,本文對(duì)低相關(guān)性多維時(shí)序數(shù)據(jù)預(yù)測(cè)進(jìn)行深入研究,提出一種基于注意力翻轉(zhuǎn)網(wǎng)絡(luò)的低相關(guān)性多維數(shù)據(jù)預(yù)測(cè)方法。首先,利用皮爾遜系數(shù)對(duì)大量時(shí)間序列數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)總體相關(guān)性低的數(shù)據(jù)具有單點(diǎn)相關(guān)性隨時(shí)間而變化的特點(diǎn),為了更好地利用這種單點(diǎn)之間的相關(guān)性并提高模型效率,引入批處理滑動(dòng)窗口按時(shí)間將數(shù)據(jù)細(xì)分為多個(gè)時(shí)間片,擺脫時(shí)間變化帶來(lái)的干擾,更好地捕獲維度相關(guān)性;其次,傳統(tǒng)GRU 模型能夠控制歷史信息,提高了對(duì)當(dāng)前時(shí)刻隱層輸出的影響,從而導(dǎo)致大量丟棄低相關(guān)性樣本參數(shù)的問(wèn)題,為此,本文提出一種翻轉(zhuǎn)GRU 網(wǎng)絡(luò)對(duì)低相關(guān)性多維數(shù)據(jù)進(jìn)行初次過(guò)濾,控制多維數(shù)據(jù)在網(wǎng)絡(luò)中的傳遞數(shù)量,避免維度變量由于相關(guān)性較低而被大量丟棄,從而提高低相關(guān)性數(shù)據(jù)在網(wǎng)絡(luò)中的存活時(shí)間;然后,為了根據(jù)相關(guān)性來(lái)對(duì)過(guò)濾后的時(shí)序參數(shù)進(jìn)行劃分,建立面向維度的注意力機(jī)制對(duì)這些參數(shù)分配權(quán)重,調(diào)整不同維度序列在相關(guān)性提取過(guò)程中的重要度,細(xì)分維度參數(shù)間的相關(guān)性程度,突出相關(guān)性特征;最后,建立一種平方LSTM 網(wǎng)絡(luò)給分配權(quán)重后的數(shù)據(jù)賦予正負(fù)值作為其影響力,分別考慮數(shù)據(jù)對(duì)被預(yù)測(cè)參數(shù)的積極影響和消極影響,更細(xì)致地確定相關(guān)性對(duì)被預(yù)測(cè)數(shù)據(jù)的重要性,進(jìn)一步提高預(yù)測(cè)結(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)行實(shí)驗(yàn)對(duì)比,并將所提批處理滑動(dòng)窗口加入傳統(tǒng)模型以證明其有效性。
數(shù)據(jù)預(yù)測(cè)已經(jīng)成為目前大數(shù)據(jù)領(lǐng)域的研究熱點(diǎn)之一,越來(lái)越多的應(yīng)用開(kāi)始依靠數(shù)據(jù)預(yù)測(cè),其中,時(shí)間序列數(shù)據(jù)預(yù)測(cè)是數(shù)據(jù)預(yù)測(cè)中比較特別的一個(gè)研究分支。根據(jù)技術(shù)手段的不同,數(shù)據(jù)預(yù)測(cè)可以分為基于統(tǒng)計(jì)學(xué)的方法和基于機(jī)器學(xué)習(xí)(神經(jīng)網(wǎng)絡(luò))的方法。
目前存在大量的時(shí)間序列數(shù)據(jù)預(yù)測(cè)方法,其中最經(jīng)典的是傳統(tǒng)數(shù)學(xué)統(tǒng)計(jì)方法,這種方法主要針對(duì)單維時(shí)間序列數(shù)據(jù),其流程主要包括數(shù)據(jù)特征分析、參數(shù)選擇、模型驗(yàn)證優(yōu)化等。1982 年,美國(guó)統(tǒng)計(jì)學(xué)家ENGLE 提出了自回歸條件異方差(ARCH)模型[11],這種模型用于實(shí)現(xiàn)多變量異方差的時(shí)序數(shù)據(jù)預(yù)測(cè),解決了時(shí)序數(shù)據(jù)的波動(dòng)性預(yù)測(cè)問(wèn)題。數(shù)學(xué)家BOLLERSLEV 通過(guò)對(duì)ARCH 的改進(jìn),提出了廣義自回歸條件異方差(GARCH)模型[12],使得自回歸條件異方差模型的約束條件進(jìn)一步放寬。文獻(xiàn)[13]提出利用差分操作來(lái)保證時(shí)間序列數(shù)據(jù)平穩(wěn)性的自回歸綜合移動(dòng)平均(ARIMA)模型。文獻(xiàn)[14]提出帶有外生輸入的自回歸綜合移動(dòng)平均模型。文獻(xiàn)[15]提出結(jié)合了極限學(xué)習(xí)機(jī)(ELM)和DQNPSO(Deep QNetwork-Based Particle Swarm Optimization)優(yōu)化器的混合深度強(qiáng)化學(xué)習(xí)模型,該模型能夠準(zhǔn)確預(yù)測(cè)隧道誘導(dǎo)的地面響應(yīng)頻率。文獻(xiàn)[16]利用模糊信息顆粒構(gòu)造顆粒復(fù)雜網(wǎng)絡(luò),構(gòu)建金融時(shí)間序列波動(dòng)模型。文獻(xiàn)[17]采用指數(shù)平滑模型、自回歸積分移動(dòng)平均模型,在狀態(tài)空間模型框架中結(jié)合非線性自回歸神經(jīng)網(wǎng)絡(luò),以提高預(yù)測(cè)的準(zhǔn)確性,從而解決經(jīng)濟(jì)和金融時(shí)間序列中線性與非線性模型的準(zhǔn)確診斷問(wèn)題。文獻(xiàn)[18]利用隨機(jī)森林算法來(lái)預(yù)測(cè)運(yùn)動(dòng)員的舞蹈動(dòng)作,通過(guò)特征分析揭示運(yùn)動(dòng)員在完成動(dòng)作時(shí)的肌肉協(xié)同和節(jié)奏感。
以上傳統(tǒng)時(shí)序數(shù)據(jù)預(yù)測(cè)模型大部分都適用于單維時(shí)間序列數(shù)據(jù),且容易受到非線性因素的干擾。時(shí)間序列數(shù)據(jù)具有很強(qiáng)的復(fù)雜性和不確定性,因此,該類模型適用性較低,預(yù)測(cè)精度很難進(jìn)一步提升。
近年來(lái),利用機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)間序列數(shù)據(jù)預(yù)測(cè)的方法逐漸增多,這種方法首先提取時(shí)間序列中的特征,并將其作為標(biāo)簽輸入模型,通過(guò)建立合適的函數(shù)對(duì)模型中的參數(shù)進(jìn)行優(yōu)化,直至達(dá)到所需的預(yù)測(cè)效果。由于時(shí)間序列數(shù)據(jù)大部分都是非平穩(wěn)數(shù)據(jù),存在非線性關(guān)系,因此傳統(tǒng)的時(shí)間序列數(shù)據(jù)預(yù)測(cè)模型得到的預(yù)測(cè)結(jié)果在實(shí)際應(yīng)用中存在一定偏差。隨著人工智能的不斷發(fā)展,利用多維時(shí)間序列數(shù)據(jù)對(duì)其進(jìn)行預(yù)測(cè)的方法越來(lái)越受到學(xué)者們的關(guān)注。
文獻(xiàn)[19]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)和雙向長(zhǎng)短期記憶網(wǎng)絡(luò)的方法對(duì)滾動(dòng)軸承的健康度進(jìn)行預(yù)測(cè)。文獻(xiàn)[20]為了一次性對(duì)所有交通位置進(jìn)行綜合預(yù)測(cè),提出一種基于深度元學(xué)習(xí)的模型ST-MetNet。文獻(xiàn)[21]對(duì)長(zhǎng)短期記憶網(wǎng)絡(luò)進(jìn)行改進(jìn)后與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,構(gòu)建一種新模型對(duì)全網(wǎng)地鐵客流進(jìn)行預(yù)測(cè)。文獻(xiàn)[22]在LSTM 網(wǎng)絡(luò)中加入新的組塊,構(gòu)建新的網(wǎng)絡(luò)CTS-LSTM,用于對(duì)多維高相關(guān)時(shí)序數(shù)據(jù)進(jìn)行集體預(yù)測(cè)。文獻(xiàn)[23]通過(guò)對(duì)注意力機(jī)制進(jìn)行深入研究并結(jié)合傳感器提出一種位置感知注意力機(jī)制,然后將位置感知注意力機(jī)制與長(zhǎng)短期記憶網(wǎng)絡(luò)相結(jié)合,能夠動(dòng)態(tài)適應(yīng)運(yùn)動(dòng)軌跡中的局部位置,并通過(guò)非固定特征來(lái)捕捉位置的顯著特征,從而提高預(yù)測(cè)精度。文獻(xiàn)[24]提出一種結(jié)合支持向量機(jī)回歸和卡爾曼濾波的方法,以預(yù)測(cè)公交車到站時(shí)間。
在以上神經(jīng)網(wǎng)絡(luò)方法中,使用多維數(shù)據(jù)進(jìn)行預(yù)測(cè)的多維參數(shù)都是較易獲取的高相關(guān)性數(shù)據(jù),在多維數(shù)據(jù)較難獲取的情況下都是使用單維數(shù)據(jù)進(jìn)行預(yù)測(cè),未考慮是否可以使用低相關(guān)性數(shù)據(jù)。因此,本文主要針對(duì)低相關(guān)性數(shù)據(jù)進(jìn)行研究,提出一種針對(duì)低相關(guān)性數(shù)據(jù)的預(yù)測(cè)方法。
為了提高預(yù)測(cè)的精度和可信度,在進(jìn)行數(shù)據(jù)預(yù)測(cè)之前需要對(duì)變量進(jìn)行一定的處理和分析。為了提高模型的收斂速度,首先對(duì)數(shù)據(jù)進(jìn)行補(bǔ)全和修正,然后對(duì)數(shù)據(jù)進(jìn)行歸一化處理,將每一個(gè)數(shù)據(jù)均收斂到[-1,1]之間。為了更好地理解數(shù)據(jù)之間的關(guān)系,對(duì)數(shù)據(jù)進(jìn)行相關(guān)性分析,發(fā)現(xiàn)低相關(guān)性數(shù)據(jù)之間的相關(guān)性可以隨時(shí)間而發(fā)生變化,本文基于這個(gè)特性建立網(wǎng)絡(luò)模型,對(duì)低相關(guān)性數(shù)據(jù)進(jìn)行預(yù)測(cè)。
通常來(lái)說(shuō),一組有限長(zhǎng)度的時(shí)間序列數(shù)據(jù)可以表示為從某一時(shí)刻(t=1)開(kāi)始至另一時(shí)刻 (t=N)結(jié)束的一系列觀測(cè)數(shù)據(jù),即一組時(shí)間長(zhǎng)度為N的單維時(shí)間序列數(shù)據(jù)可以使用一個(gè)1×N的矩陣[xt]1×N表示,具體形式如下:
其中:[x]T表示矩陣x的轉(zhuǎn)置;xt表示t時(shí)刻的觀測(cè)值;N表示此段時(shí)間序列數(shù)據(jù)的長(zhǎng)度。
對(duì)于時(shí)間長(zhǎng)度為N的多維時(shí)間序列數(shù)據(jù),可以使用一個(gè)M×N的矩陣[xt]M×N表示,具體形式如下:
其中:xMt表示t時(shí)刻的第M個(gè)數(shù)據(jù);M表示此數(shù)據(jù)具有M個(gè)參數(shù)。
時(shí)間序列數(shù)據(jù)表示出了各個(gè)領(lǐng)域系統(tǒng)中對(duì)歷史行為的客觀記錄,展現(xiàn)出系統(tǒng)隨著時(shí)間推移的變化規(guī)律與潛在特性。通過(guò)對(duì)時(shí)間序列數(shù)據(jù)的研究,可以更清晰地顯示出各個(gè)領(lǐng)域系統(tǒng)的運(yùn)行模式,進(jìn)而更迅速地對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行分析決策。
為了降低模型復(fù)雜度與計(jì)算量,本文對(duì)數(shù)據(jù)進(jìn)行補(bǔ)全和修正。拉格朗日方法補(bǔ)全的曲線較為平滑,不易出現(xiàn)抖動(dòng)狀態(tài),因此,本文使用拉格朗日插值法進(jìn)行數(shù)據(jù)補(bǔ)全;由于時(shí)間序列的數(shù)值受周期變化和不規(guī)則變動(dòng)的影響,部分?jǐn)?shù)據(jù)起伏較大,移動(dòng)平均法可以對(duì)隨機(jī)的變異值進(jìn)行過(guò)濾,因此,本文使用移動(dòng)平均法進(jìn)行異常值修正。拉格朗日插值法如下:
其中:n表示選取缺失值所在的一段固定時(shí)間窗的長(zhǎng)度;x表示每個(gè)數(shù)據(jù)對(duì)應(yīng)的索引值;β為權(quán)重變量;結(jié)果y即為時(shí)序數(shù)據(jù)。移動(dòng)平均法如下:
其中:x1+x2+x3+…+xn是異常值所在時(shí)間點(diǎn)的前n個(gè)正常連續(xù)的數(shù)據(jù)之和。
數(shù)據(jù)歸一化是一種無(wú)量綱處理手段,使得物理系統(tǒng)中數(shù)值的絕對(duì)值變?yōu)槟撤N相對(duì)值。在數(shù)據(jù)預(yù)測(cè)過(guò)程中,數(shù)據(jù)集通常處于不同值域,為了提升模型的收斂速度和精度,使數(shù)據(jù)特征具有相同的度量尺度,本文使用MinMaxScaler 函數(shù)對(duì)數(shù)據(jù)進(jìn)行歸一化處理,使得每一個(gè)數(shù)值都收斂至[-1,1]之間。MinMaxScaler 函數(shù)具體如下:
其中:Xscaler表示歸一化后的值;X表示當(dāng)前需要?dú)w一化的值;Xmax(aaxis=0)表示每列中最大值組成的行向量;Xmin(aaxis=0)表示每列中最小值組成的行向量;mmax表示要映射到區(qū)間的最大值,默認(rèn)為1;mmin表示要映射到區(qū)間的最小值,默認(rèn)是0。
數(shù)據(jù)屬性的相關(guān)性是指數(shù)據(jù)的2 個(gè)屬性之間在某種意義下所存在的規(guī)律,其目的在于探索數(shù)據(jù)間的隱藏相關(guān)關(guān)系網(wǎng)。皮爾遜相關(guān)系數(shù)(PCC)將結(jié)果P分為幾類來(lái)分析參數(shù)之間的相關(guān)性。P值范圍通常為[-1,1],若為正相關(guān),P>0;若為負(fù)相關(guān),P<0。當(dāng)|P|>0.95 時(shí)即為顯著性相關(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ù)測(cè)研究的數(shù)據(jù)相關(guān)性都較高,皮爾遜相關(guān)系數(shù)基本在0.8 以上,但在實(shí)際應(yīng)用中,有些高相關(guān)性數(shù)據(jù)不存在或較難獲取,而許多與被預(yù)測(cè)數(shù)據(jù)相關(guān)性較低的數(shù)據(jù)可以輕而易舉地獲取到。以共享單車使用量為例,這類數(shù)據(jù)無(wú)法獲取到與之顯著性相關(guān)的數(shù)據(jù),其變化還經(jīng)常受外界因素的影響,因此,可以使用一些較易獲取的完整的自然類數(shù)據(jù)對(duì)共享單車使用量進(jìn)行預(yù)測(cè),其相關(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 中各個(gè)參數(shù)對(duì)于目標(biāo)值之間的相關(guān)性均為中度相關(guān)及以下,各個(gè)參數(shù)之間相關(guān)性也較低,即稱為低相關(guān)性數(shù)據(jù)。根據(jù)圖1 可以看出,氣溫和體感溫度對(duì)于共享單車使用量的相關(guān)性系數(shù)分別為0.39 和0.37,明顯為低相關(guān)性數(shù)據(jù),為了更好地研究數(shù)據(jù)之間的相關(guān)性,本文對(duì)這2 種溫度與共享單車使用量繪制關(guān)系圖,結(jié)果如圖2、圖3 所示,陰影部分表示當(dāng)前溫度共享單車使用量的波動(dòng)范圍,實(shí)線部分為波動(dòng)范圍的均值。

圖3 體感溫度與共享單車使用量的關(guān)系Fig.3 Relationship between body temperature and shared bicycle usage
顯然,共享單車使用量波動(dòng)較大,無(wú)法判斷當(dāng)溫度上升時(shí)共享單車使用量是否必然出現(xiàn)正相關(guān)或負(fù)相關(guān)關(guān)系,但當(dāng)溫度達(dá)到峰值時(shí),共享單車使用量的波動(dòng)明顯驟減,溫度最高時(shí)共享單車使用量也達(dá)到極值。為了更細(xì)致地討論單點(diǎn)數(shù)據(jù)之間的相關(guān)性,本文選用氣溫和體感溫度最高的10 個(gè)點(diǎn)與共享單車使用量進(jìn)行相關(guān)性計(jì)算,結(jié)果如圖4 所示。從圖4可以看出,氣溫與體感溫度的相關(guān)性有很大提升,分別從0.39、0.37 提升至0.74、0.68,從低度相關(guān)提升到了中度相關(guān),低相關(guān)性數(shù)據(jù)存在單點(diǎn)相關(guān)性突變的情況。因此,可以得出結(jié)論,低相關(guān)性時(shí)序數(shù)據(jù)總體相關(guān)性較低,但是單點(diǎn)相關(guān)性會(huì)隨著時(shí)間的變化而變化,為了獲取這種特殊的相關(guān)性,本文建立一種利用批處理滑動(dòng)窗口的注意力翻轉(zhuǎn)神經(jīng)網(wǎng)絡(luò)模型,以提高模型對(duì)單點(diǎn)相關(guān)性的獲取能力以及預(yù)測(cè)精度。

圖4 氣溫與體感溫度最高的10 個(gè)點(diǎn)與共享單車使用量的相關(guān)性Fig.4 Correlation between the ten points with the highest temperature and body temperature and shared bicycle usage
滑動(dòng)窗口是一種數(shù)據(jù)處理技術(shù),通過(guò)維護(hù)一個(gè)固定大小的窗口在數(shù)據(jù)結(jié)構(gòu)中移動(dòng),以便有效地處理連續(xù)的子序列問(wèn)題。在通常情況下,滑動(dòng)窗口算法可以用來(lái)解決字符串、數(shù)組和鏈表等數(shù)據(jù)結(jié)構(gòu)中的問(wèn)題,例如找到最小值和最大值、計(jì)算子數(shù)組和平均值以及查找滿足特定條件的連續(xù)子序列等。
對(duì)于多維時(shí)序數(shù)據(jù)預(yù)測(cè)而言,特征參數(shù)較多,數(shù)據(jù)量較大,若將所有的數(shù)據(jù)一次性放入模型中,不僅會(huì)降低模型效率,還會(huì)使網(wǎng)絡(luò)無(wú)法更好地獲取數(shù)據(jù)的前后關(guān)系從而影響預(yù)測(cè)精度。對(duì)于低相關(guān)性數(shù)據(jù)而言,一段時(shí)間內(nèi)的數(shù)據(jù)對(duì)于單點(diǎn)的相關(guān)性高于總體數(shù)據(jù)對(duì)于單點(diǎn)的相關(guān)性,為了更好地利用低相關(guān)數(shù)據(jù)之間的相關(guān)性同時(shí)提高模型效率,本文提出一種批處理滑動(dòng)窗口方法,將數(shù)據(jù)分批后再分為多段并按時(shí)間順序輸入模型中。
假設(shè)一個(gè)單維時(shí)間序列為X=(x1,x2,…,xn-1,xn),設(shè)輸入的長(zhǎng)度為h,即窗口長(zhǎng)度為h,當(dāng)前時(shí)間點(diǎn)為t,式(6)展示了滑動(dòng)窗口的滑動(dòng)公式,圖5 展示了滑動(dòng)窗口的工作原理。

圖5 基于滑動(dòng)窗口的數(shù)據(jù)集劃分機(jī)制Fig.5 Dataset partitioning mechanism based on sliding window
為了更好地對(duì)數(shù)據(jù)進(jìn)行處理,將窗口劃分后的數(shù)據(jù)分成不同批次,將輸入的數(shù)據(jù)流分割成固定大小的塊,并沿著時(shí)間軸滑動(dòng)這些塊進(jìn)行處理,這個(gè)過(guò)程可以在連續(xù)、重疊、不同的時(shí)間段內(nèi)進(jìn)行,以獲得更全面的信息。例如,假設(shè)有一個(gè)包含一周前7 天氣溫的時(shí)間序列數(shù)據(jù),可以使用批處理滑動(dòng)窗口來(lái)計(jì)算每3 天的平均溫度。首先將整個(gè)時(shí)間序列分割成長(zhǎng)度為3 天的塊,然后將這些塊沿著時(shí)間軸滑動(dòng),直到覆蓋整個(gè)時(shí)間序列。在每個(gè)滑動(dòng)窗口內(nèi),可以計(jì)算出3 天的平均溫度并輸出結(jié)果。批處理滑動(dòng)窗口如圖6 所示。

圖6 批處理滑動(dòng)窗口Fig.6 Batch processing sliding window
在批處理滑動(dòng)窗口建立后,需要設(shè)置合適的滑動(dòng)窗口參數(shù),根據(jù)數(shù)據(jù)集的特點(diǎn)修改滑動(dòng)窗口參數(shù),可通過(guò)時(shí)間、季節(jié)等特點(diǎn)進(jìn)行滑動(dòng)窗口劃分,在考慮以上特點(diǎn)的同時(shí),還需結(jié)合數(shù)據(jù)集大小對(duì)滑動(dòng)窗口大小進(jìn)行調(diào)節(jié),使得模型達(dá)到最優(yōu)狀態(tài)。
受人腦注意力分配的啟發(fā),學(xué)者們提出了注意力機(jī)制,其核心思想是當(dāng)人在看一種東西時(shí),當(dāng)前時(shí)刻關(guān)注的一定是當(dāng)前正在看的這個(gè)東西的某一個(gè)部分。換句話說(shuō),當(dāng)人們看向其他位置時(shí),注意力也將隨著目光的移動(dòng)而轉(zhuǎn)移,這意味著當(dāng)人們處于不同場(chǎng)景時(shí),對(duì)場(chǎng)景中不同目標(biāo)的注意力分布是不同的。
通過(guò)對(duì)注意力機(jī)制進(jìn)行研究,有研究人員發(fā)現(xiàn)注意力機(jī)制可以分別添加在時(shí)間步和維度上,但核心思想都是對(duì)目標(biāo)數(shù)據(jù)進(jìn)行加權(quán)變換,通過(guò)對(duì)輸入的不同維度數(shù)據(jù)進(jìn)行分析,給予其不同的權(quán)重。
對(duì)于多維時(shí)間序列而言,每個(gè)元素的重要性都不同,尤其是對(duì)于低相關(guān)性數(shù)據(jù)來(lái)說(shuō),每個(gè)維度對(duì)于數(shù)據(jù)的影響差距較大。本文通過(guò)基于維度的注意力機(jī)制輸入特征,使模型能夠自適應(yīng)地關(guān)注相關(guān)特征,讓各個(gè)維度的數(shù)據(jù)都能體現(xiàn)自身重要性。基于維度的注意力機(jī)制通過(guò)為不同維度分配不同權(quán)重來(lái)區(qū)分它們的重要性,主要使用Dense 層的Softmax 函數(shù)實(shí)現(xiàn)權(quán)重計(jì)算,其計(jì)算公式如下:
其中:zi為第i個(gè)節(jié)點(diǎn)的輸出值;C為輸入節(jié)點(diǎn)的個(gè)數(shù)。
基于維度的注意力機(jī)制模型如圖7 所示,其中,(e1,e2,…,en-1,en)為輸入序列。使用Softmax 根據(jù)相似度值計(jì)算出每個(gè)隱含層對(duì)序列的貢獻(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'計(jì)算如下:

圖7 基于維度的注意力機(jī)制模型Fig.7 Dimension based attention mechanism model
為了保證模型可以應(yīng)用到各個(gè)場(chǎng)景,分別設(shè)計(jì)維度權(quán)重共享注意力機(jī)制和非共享注意力機(jī)制。權(quán)重共享的注意力機(jī)制流程如圖8 所示。

圖8 權(quán)重共享的注意力機(jī)制流程Fig.8 The procedure of attention mechanism with weight sharing
共享權(quán)重會(huì)導(dǎo)致各個(gè)維度的權(quán)重相同,無(wú)法更好地區(qū)分各個(gè)維度對(duì)于被預(yù)測(cè)數(shù)據(jù)的重要性。為了更好地區(qū)分各個(gè)維度的重要性,本文使用權(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ù)通過(guò)神經(jīng)網(wǎng)絡(luò)初步篩選輸入到注意力機(jī)制模型中,決定模型需要更多地關(guān)注哪一部分的低相關(guān)性數(shù)據(jù),減少需要處理的信息量,區(qū)分低相關(guān)性數(shù)據(jù)之間的重要性,為后續(xù)預(yù)測(cè)工作提供合適的資源。
從第2 節(jié)可知,數(shù)據(jù)的總體相關(guān)性較低,但隨著時(shí)間的變化,數(shù)據(jù)相關(guān)性也會(huì)發(fā)生變化,因此,數(shù)據(jù)之間的相關(guān)性存在一定的隨機(jī)性。傳統(tǒng)預(yù)測(cè)模型存在誤差較大和優(yōu)化函數(shù)目標(biāo)單一的局限性,基于指數(shù)平滑的預(yù)測(cè)方法只適用于短期預(yù)測(cè),基于支持向量機(jī)的預(yù)測(cè)方法只能獲得離散的預(yù)測(cè)值,無(wú)法觀測(cè)變化趨勢(shì),基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法只能短期記憶,且極易出現(xiàn)梯度消失的問(wèn)題,因此,無(wú)法促使網(wǎng)絡(luò)模型學(xué)習(xí)時(shí)間序列相關(guān)性之間的隨機(jī)性,從而導(dǎo)致預(yù)測(cè)性能下降,尤其是當(dāng)預(yù)測(cè)數(shù)據(jù)所占時(shí)間比重較高時(shí),誤差積累也會(huì)越來(lái)越多,嚴(yán)重影響預(yù)測(cè)性能。
如今在時(shí)間序列數(shù)據(jù)預(yù)測(cè)方面表現(xiàn)良好的是LSTM 模型和GRU 模型。傳統(tǒng)LSTM 模型雖然可以對(duì)數(shù)據(jù)進(jìn)行長(zhǎng)期記憶,但是在長(zhǎng)期預(yù)測(cè)的過(guò)程中有陷入局部最優(yōu)解的可能。傳統(tǒng)GRU 模型可以更好地捕捉時(shí)間序列中的依賴關(guān)系,但是對(duì)于長(zhǎng)期預(yù)測(cè)效果較差,會(huì)丟失較多數(shù)據(jù)。對(duì)于神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),長(zhǎng)期記憶更容易丟失相對(duì)相關(guān)性較低的數(shù)據(jù),因此,數(shù)據(jù)單點(diǎn)相關(guān)性較高并不足以對(duì)下一時(shí)刻的數(shù)據(jù)進(jìn)行準(zhǔn)確預(yù)測(cè)。為了消減這些問(wèn)題對(duì)模型預(yù)測(cè)精度的影響,針對(duì)傳統(tǒng)GRU 網(wǎng)絡(luò)容易丟棄低相關(guān)性樣本的問(wèn)題,本文建立翻轉(zhuǎn)GRU(TURN-GRU)網(wǎng)絡(luò),提升相關(guān)性較低的多維數(shù)據(jù)在模型中的存活時(shí)間;建立平方LSTM(SQ-LSTM)網(wǎng)絡(luò),輸入分配權(quán)重后的數(shù)據(jù),考慮輸入數(shù)據(jù)對(duì)被預(yù)測(cè)參數(shù)的積極影響和消極影響,更細(xì)致地對(duì)輸入數(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ò)的變體,旨在通過(guò)門控機(jī)制選擇性地更新和重制隱藏狀態(tài)下的信息以解決梯度消失問(wèn)題。雖然GRU 相比于其他神經(jīng)網(wǎng)絡(luò)模型具有較強(qiáng)的長(zhǎng)期記憶能力和更少的參數(shù)量,但其也具有很多缺點(diǎn),對(duì)于較長(zhǎng)的序列,GRU 仍然可能出現(xiàn)梯度消失或梯度爆炸的問(wèn)題,且GRU 的表達(dá)能力受限于其內(nèi)部結(jié)構(gòu),因此,在某些復(fù)雜任務(wù)中需要更深層次、更復(fù)雜的架構(gòu)來(lái)提高精度。基于以上問(wèn)題,本文提出翻轉(zhuǎn)GRU網(wǎng)絡(luò)——TURN-GRU,其模型整體架構(gòu)依然沿用傳統(tǒng)GRU 的部分網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)將傳統(tǒng)GRU 網(wǎng)絡(luò)模型整體激活函數(shù)進(jìn)行翻轉(zhuǎn)建立TURN-GRU 網(wǎng)絡(luò)。
TURN-GRU 的流程為:前一時(shí)刻的輸出ht-1和當(dāng)前時(shí)刻的輸入xt通過(guò)tanh 函數(shù)分別產(chǎn)生rt和zt,rt與前一時(shí)刻的輸出ht-1組合通過(guò)Sigmoid 函數(shù)產(chǎn)生一個(gè)新的量,總體決定了有多少數(shù)據(jù)需要被遺忘;和zt結(jié)合生成的值與前一時(shí)刻的輸出ht-1和zt結(jié)合生成的值共同決定當(dāng)前時(shí)刻與過(guò)去時(shí)刻的數(shù)據(jù)有多少被保存并輸出為當(dāng)前時(shí)刻的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是上一個(gè)時(shí)刻的隱藏層輸出,ht為當(dāng)前時(shí)刻的隱藏層輸出,xt表示當(dāng)前時(shí)刻的輸入,σ代表Sigmoid 函數(shù),輸出在[0,1]之間,tanh 是雙曲正切函數(shù),輸出在[-1,1]之間,rt表示當(dāng)前時(shí)刻有多少信息被保留,zt表示上一時(shí)刻的數(shù)據(jù)有多少可以被保留下來(lái),決定有多少數(shù)據(jù)被遺忘,W表示權(quán)重參數(shù)。TURN-GRU 計(jì)算公式如下:
傳統(tǒng)的GRU 網(wǎng)絡(luò)使用Sigmoid 函數(shù)進(jìn)行數(shù)據(jù)篩選,讓數(shù)據(jù)經(jīng)過(guò)激活函數(shù)后輸出在[0,1]之間,提高了數(shù)據(jù)之間的相關(guān)性,但由于低相關(guān)性數(shù)據(jù)之間關(guān)聯(lián)較低,因此篩選后的數(shù)據(jù)經(jīng)過(guò)Sigmoid 函數(shù)會(huì)無(wú)限趨近于0,久而久之便會(huì)被網(wǎng)絡(luò)徹底丟棄,并且長(zhǎng)時(shí)間使用Sigmoid 函數(shù)會(huì)導(dǎo)致飽和,而tanh 函數(shù)在一定程度上緩解了神經(jīng)網(wǎng)絡(luò)的梯度消失問(wèn)題,使神經(jīng)網(wǎng)絡(luò)的訓(xùn)練更加穩(wěn)定。為了改善上述問(wèn)題,本文將傳統(tǒng)GRU 模型中所有的Sigmoid 函數(shù)均翻轉(zhuǎn)為tanh 函數(shù),同時(shí)為了避免模型中的數(shù)據(jù)冗余,將tanh 函數(shù)翻轉(zhuǎn)為Sigmoid 函數(shù),使數(shù)據(jù)更多地存活在[-1,1]之間,減少Sigmoid 函數(shù)在模型中的使用次數(shù)和數(shù)據(jù)無(wú)限趨近于0 的可能性,篩選出低相關(guān)性數(shù)據(jù)中相對(duì)相關(guān)性較高的數(shù)據(jù),以此提高數(shù)據(jù)在模型中的存活時(shí)間。
3.3.2 平方LSTM 網(wǎng)絡(luò)
LSTM 是一種常用于處理序列數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。LSTM 基于門控機(jī)制,可以選擇性地讀取、寫入和遺忘信息,包含輸入門、遺忘門和輸出門以及一個(gè)記憶單元,能夠根據(jù)輸入序列和歷史信息自適應(yīng)地控制信息流動(dòng),具有良好的記憶能力和長(zhǎng)期依賴性。但是,LSTM 過(guò)于復(fù)雜且需要大量參數(shù),導(dǎo)致訓(xùn)練速度較慢,且這種門控機(jī)制會(huì)導(dǎo)致梯度消失問(wèn)題,從而使訓(xùn)練變得困難。在SQ-LSTM 模塊中,本文參考傳統(tǒng)LSTM 模型的網(wǎng)絡(luò)結(jié)構(gòu),刪除了標(biāo)準(zhǔn)LSTM 中的輸入門,并增加一個(gè)“信息門”,通過(guò)將輸入的數(shù)據(jù)進(jìn)行平方計(jì)算,將輸入的信息均轉(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ò)中的梯度消失問(wèn)題。
SQ-LSTM 的流程為:前一時(shí)刻的輸出ht-1和當(dāng)前時(shí)刻 的輸入xt通 過(guò)tanh 函 數(shù),分別記 為ft、it、ot。其中:ft旨在為Ct-1提供一個(gè)[-1,1]范圍內(nèi)的向量值,控制當(dāng)前時(shí)刻與前一時(shí)刻隱藏層數(shù)據(jù)的保留程度;it平方后可以縮小數(shù)據(jù)之間的差距,得到信息門的輸出,并與前一時(shí)刻保留的單元狀態(tài)共同組成當(dāng)前的單位狀態(tài)Ct;ot與當(dāng)前的單位狀態(tài)Ct結(jié)合生成當(dāng)前時(shí)刻的輸出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是上一個(gè)時(shí)刻的隱藏層輸出,ht為當(dāng)前時(shí)刻的隱藏層輸出,xt表示當(dāng)前時(shí)刻的輸入,Ct-1表示上一時(shí)刻的細(xì)胞狀態(tài),Ct表示當(dāng)前時(shí)刻輸出的細(xì)胞狀態(tài),tanh 是雙曲正切函數(shù),輸出在[-1,1]之間,ft表示當(dāng)前時(shí)刻與前一時(shí)刻隱藏層數(shù)據(jù)保留的輸出,it是當(dāng)前時(shí)刻與前一時(shí)刻隱藏層數(shù)據(jù)信息篩選后的輸出,ot表示輸出門的初始輸出,W表示權(quán)重參數(shù)。SQLSTM 計(jì)算公式如下:
模型整體選用tanh 函數(shù)使收斂更快,減少迭代次數(shù)。此外,tanh 函數(shù)將輸入為負(fù)的數(shù)據(jù)強(qiáng)制映射為負(fù),分別考慮了數(shù)據(jù)對(duì)被預(yù)測(cè)參數(shù)的積極影響和消極影響,不僅更加有效細(xì)致地對(duì)數(shù)據(jù)進(jìn)行影響力劃分,還減少了模型中的參數(shù)量,提高了模型運(yùn)行速度。信息門通過(guò)將輸入數(shù)據(jù)平方的方式減小被篩選后的數(shù)據(jù)信息之間的差距,更好地捕捉數(shù)據(jù)之間的相關(guān)性并保留前后時(shí)刻數(shù)據(jù)的記憶,避免由于數(shù)據(jù)相關(guān)性較低使得數(shù)據(jù)間差距較大從而導(dǎo)致部分?jǐn)?shù)據(jù)被丟棄的問(wèn)題。
上述2 種模型的建立可以提高之前時(shí)刻數(shù)據(jù)對(duì)被預(yù)測(cè)數(shù)據(jù)的影響,更好地提升低相關(guān)數(shù)據(jù)之間的關(guān)聯(lián)度,使數(shù)據(jù)在網(wǎng)絡(luò)中更具有“話語(yǔ)權(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ù)更長(zhǎng)時(shí)間地保留在網(wǎng)絡(luò)中。僅使用TURN-GRU 模型可以使數(shù)據(jù)更好地被篩選并保留在網(wǎng)絡(luò)中,但其保留的時(shí)間較短,僅使用SQ-LSTM 會(huì)使網(wǎng)絡(luò)中模型的數(shù)據(jù)過(guò)多,導(dǎo)致數(shù)據(jù)冗余,并且文獻(xiàn)[25]研究表明單一神經(jīng)網(wǎng)絡(luò)模型提取能力較弱,會(huì)丟失大量有價(jià)值的信息,忽略局部與整體之間的相關(guān)性,導(dǎo)致預(yù)測(cè)結(jié)果差別較大且不穩(wěn)定。因此,為了提升數(shù)據(jù)在網(wǎng)絡(luò)中的存活率并對(duì)數(shù)據(jù)進(jìn)行影響力劃分,本文將2 種模型擬合在一起對(duì)低相關(guān)性數(shù)據(jù)進(jìn)行預(yù)測(cè)。
從第2 節(jié)可以看出,數(shù)據(jù)每一維度針對(duì)被預(yù)測(cè)數(shù)據(jù)的相關(guān)性均不相同,且每一維度的相關(guān)性隨時(shí)間變化的幅度也不同。為了精確每一維度對(duì)預(yù)測(cè)結(jié)果的影響,加入基于維度的注意力機(jī)制,將基于輸入維度的時(shí)間注意力機(jī)制與翻轉(zhuǎn)網(wǎng)絡(luò)模型相結(jié)合,使網(wǎng)絡(luò)對(duì)于單點(diǎn)相關(guān)性投入更多的關(guān)注,以獲取更多需要關(guān)注目標(biāo)的信息,從而抑制其他無(wú)用信息。從后續(xù)實(shí)驗(yàn)中可以看出,加入注意力機(jī)制的模型有更好的擬合效果。
圖12 所示為本文所提網(wǎng)絡(luò)的基本流程,網(wǎng)絡(luò)主要分為3 個(gè)部分,即輸入層、隱含層和輸出層。其中:輸入層包括滑動(dòng)窗口構(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è)計(jì)輸入層、隱含層及輸出層,具體如下:
1)設(shè)計(jì)輸入層。通過(guò)數(shù)據(jù)歸一化、特征提取、數(shù)據(jù)窗口劃分、相關(guān)性對(duì)比等方法對(duì)原始時(shí)間序列數(shù)據(jù)進(jìn)行分解,獲得訓(xùn)練集輸入數(shù)據(jù)、訓(xùn)練集輸出數(shù)據(jù)、測(cè)試集輸入數(shù)據(jù)及測(cè)試集輸出數(shù)據(jù)。
2)設(shè)計(jì)隱含層。由于SQ-LSTM 模型參數(shù)較多,容易出現(xiàn)過(guò)擬合情況,因此首先將處理好的數(shù)據(jù)通過(guò)第1 層TURN-GRU 模型進(jìn)行初次篩選,提取時(shí)間特征。將初次篩選后的數(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)元個(gè)數(shù),再次針對(duì)相關(guān)性篩選數(shù)據(jù),增加權(quán)重較高的數(shù)據(jù)在網(wǎng)絡(luò)模型中的存活時(shí)間。將篩選后的數(shù)據(jù)輸入SQLSTM 模型中,分別考慮數(shù)據(jù)的積極影響和消極影響,更好地提升模型訓(xùn)練的準(zhǔn)確率。通過(guò)對(duì)神經(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)將測(cè)試集輸入模型中進(jìn)行測(cè)試,將結(jié)果可視化與真實(shí)值進(jìn)行對(duì)比,以驗(yà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
為了驗(yàn)證所提模型的性能,將其與傳統(tǒng)模型進(jìn)行對(duì)比。利用決定系數(shù)(R2)[26]、均方誤差(MSE)、均方根誤差(RMSE)以及平均絕對(duì)誤差(MAE)4 種指標(biāo)來(lái)評(píng)估模型性能。
決定系數(shù)一般用于在回歸模型中評(píng)估預(yù)測(cè)值和實(shí)際值的符合程度,一般R2 越接近1,表示模型效果越好。R2 計(jì)算公式如下:
其中:y為真實(shí)值;f為預(yù)測(cè)值;是真實(shí)值的平均值。
均方誤差指參數(shù)估計(jì)值和參數(shù)值之差平方的期望值,MSE 值越小,說(shuō)明預(yù)測(cè)模型有越好的精度。MSE 計(jì)算公式如下:
均方根誤差為MSE 開(kāi)平方后的結(jié)果,其值越接近0,表示預(yù)測(cè)值與真實(shí)值相差越小。RMSE 計(jì)算公式如下:
平均絕對(duì)誤差表示預(yù)測(cè)值與觀測(cè)值之間絕對(duì)誤差的平均值,計(jì)算公式如下:
本文使用英國(guó)某城市3 年的共享單車使用量數(shù)據(jù)來(lái)測(cè)試模型有效性,實(shí)驗(yàn)數(shù)據(jù)為每小時(shí)記錄一次,一天記錄24 次,每逢整點(diǎn)記錄。本次實(shí)驗(yàn)使用的數(shù)據(jù)包括9 個(gè)種類,其中,目標(biāo)值為共享單車使用量,其他參數(shù)特征分別為氣溫、體感溫度、濕度、風(fēng)速、天氣、是否為假期、是否為周末以及季節(jié)。分別對(duì)7 種參數(shù)與共享單車使用量進(jìn)行相關(guān)性分析,如第2 節(jié)所示。其中,氣溫、體感溫度、風(fēng)速3 種參數(shù)與共享單車使用量呈正相關(guān)關(guān)系,濕度、天氣、是否為假期、是否為周末與共享單車使用量呈負(fù)相關(guān)關(guān)系。根據(jù)圖1 可以看出,各個(gè)參數(shù)與共享單車使用量之間的相關(guān)性絕對(duì)值均低于0.5,屬于低相關(guān)性時(shí)間序列數(shù)據(jù)。為了更好地利用低相關(guān)性對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè),本文構(gòu)建注意力翻轉(zhuǎn)模型,更好地獲取低相關(guān)性數(shù)據(jù)之間的關(guān)系。
由于數(shù)據(jù)為多維且數(shù)據(jù)之間數(shù)值差距較大,單位不統(tǒng)一,因此需要先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,檢查數(shù)據(jù)是否存在缺失,如有缺失就對(duì)其進(jìn)行填補(bǔ),對(duì)填補(bǔ)后的完整數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)轉(zhuǎn)化為[0,1]之間的范圍,更利于計(jì)算,提高模型效率,避免因數(shù)據(jù)差異過(guò)大而導(dǎo)致的模型過(guò)載問(wèn)題。
本次實(shí)驗(yàn)將80%的數(shù)據(jù)劃分為訓(xùn)練集,20%的數(shù)據(jù)劃分為測(cè)試集。為了使滑動(dòng)窗口在模型中的作用最大化,將滑動(dòng)窗口長(zhǎng)度設(shè)置為24,滑動(dòng)窗口步長(zhǎng)設(shè)置為1,每次輸入數(shù)據(jù)后移動(dòng)一個(gè)步長(zhǎng),同時(shí)產(chǎn)生一個(gè)過(guò)期數(shù)據(jù)和一個(gè)輸出數(shù)據(jù),即使用前24 h 的數(shù)據(jù)預(yù)測(cè)未來(lái)1 h 的數(shù)據(jù)。將訓(xùn)練數(shù)據(jù)分為10 個(gè)批次進(jìn)行訓(xùn)練,提高模型效率,對(duì)規(guī)避低相關(guān)性時(shí)間序列數(shù)據(jù)的隨機(jī)性和間接性具有重要作用。將過(guò)大的數(shù)據(jù)集進(jìn)行分批處理,可以提高模型的運(yùn)行速率,降低空間復(fù)雜度。
將本文模型與傳統(tǒng)模型進(jìn)行對(duì)比,并在不同的參數(shù)變化下評(píng)估ATT-TURN-NN 模型的性能。首先對(duì)不做窗口劃分的數(shù)據(jù)利用部分傳統(tǒng)模型進(jìn)行預(yù)測(cè)評(píng)估,結(jié)果如表3、圖14 所示。由于數(shù)據(jù)量較大,圖像坐標(biāo)較為密集,因此選擇測(cè)試集的前300 個(gè)數(shù)據(jù)進(jìn)行畫圖,以確保圖像的可視性。分別使用決定系數(shù)、均方誤差、均方根誤差、平均絕對(duì)誤差來(lái)評(píng)估模型性能。

表3 未劃分滑動(dòng)窗口時(shí)各個(gè)模型的評(píng)估結(jié)果Table 3 Evaluation results of each model without dividing sliding windows

圖14 不使用滑動(dòng)窗口時(shí)模型預(yù)測(cè)值與真實(shí)值的對(duì)比結(jié)果Fig.14 Comparison results between model predicted values and true values without using sliding windows
從表3 可以看出,LSTM 和GRU 相對(duì)于RNN 對(duì)于低相關(guān)性數(shù)據(jù)預(yù)測(cè)精度更高,這主要是因?yàn)長(zhǎng)STM 網(wǎng)絡(luò)模型和GRU 網(wǎng)絡(luò)模型具有記憶功能,可以將之前的數(shù)據(jù)趨勢(shì)記錄下來(lái)并加以利用。從圖14 可以看出,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型對(duì)于低相關(guān)性時(shí)序數(shù)據(jù)處理有明顯優(yōu)勢(shì),可以基本看出數(shù)據(jù)改變的趨勢(shì)。
分別將全連接網(wǎng)絡(luò)、LSTM、RNN、GRU、RNN+LSTM、ATT-GRU、ATT-LSTM 與ATT-TURN-NN 模型進(jìn)行對(duì)比,通過(guò)實(shí)驗(yàn)展示這些模型的預(yù)測(cè)結(jié)果,以驗(yàn)證所提模型的有效性。表4 所示為模型在數(shù)據(jù)集上的預(yù)測(cè)結(jié)果,圖15 所示為上述模型進(jìn)行滑動(dòng)窗口劃分后預(yù)測(cè)值與真實(shí)值的對(duì)比結(jié)果。

表4 滑動(dòng)窗口劃分后各個(gè)模型的評(píng)估結(jié)果 Table 4 Evaluation results of each model after sliding window partitioning

圖15 滑動(dòng)窗口劃分后模型預(yù)測(cè)值與真實(shí)值的對(duì)比結(jié)果Fig.15 Comparison results between model predicted values and true values after sliding window partitioning
顯然,傳統(tǒng)模型[27]對(duì)于低相關(guān)性數(shù)據(jù)峰值的預(yù)測(cè)效果較差,從圖14 和圖15 中GRU、LSTM、RNN、Dense 的對(duì)比可以看出,增加了批處理滑動(dòng)窗口的神經(jīng)網(wǎng)絡(luò)模型具有更好的預(yù)測(cè)精度。低相關(guān)性數(shù)據(jù)具有單點(diǎn)相關(guān)性,批處理滑動(dòng)窗口可以將一段時(shí)間內(nèi)的數(shù)據(jù)整合到一起分批輸入網(wǎng)絡(luò)中,以提高數(shù)據(jù)的相關(guān)性。本文還通過(guò)實(shí)驗(yàn)證明了基于維度的注意力機(jī)制的有效性,從圖15 和表4 可以看出,增加了注意力機(jī)制的LSTM、GRU 和RNN 模型得出的預(yù)測(cè)值更加接近真實(shí)值,證明基于維度的注意力機(jī)制可以通過(guò)給低相關(guān)性數(shù)據(jù)的不同維度分配不同權(quán)重來(lái)區(qū)分它們?cè)谀P椭械闹匾浴W詈螅瑸榱俗C明所提注意力翻轉(zhuǎn)模型的有效性,將ATT-TURN-NN 模型與經(jīng)典模型進(jìn)行對(duì)比,從表4 可以看出,ATT-TURN-NN 模型得出的決定系數(shù)最接近1,達(dá)到了0.95 以上,證明其得到的預(yù)測(cè)值與真實(shí)值之間差距最小,該模型對(duì)于低相關(guān)性數(shù)據(jù)具有較好的預(yù)測(cè)能力。
表5 所示為各個(gè)模型的測(cè)試效率對(duì)比。從表5可以看出,各個(gè)模型測(cè)試效率差別不大,效率最高的為Dense 模型,但根據(jù) 表3 和表4 可知,Dense 模型預(yù)測(cè)能力極差,盡管其測(cè)試效率較高,但也無(wú)法彌補(bǔ)其預(yù)測(cè)能力差的缺陷。通過(guò)表5 可以看出,本文ATTTURN-NN 模型雖然測(cè)試效率并未達(dá)到最優(yōu),但也優(yōu)于LSTM、GRU、RNN 等大部分模型。結(jié)合表3 和表4 可知,本文ATT-TURN-NN 模型可以獲得較為準(zhǔn)確的預(yù)測(cè)結(jié)果,同時(shí)測(cè)試效率較高,綜上,ATTTURN-NN 模型在處理低相關(guān)性時(shí)序數(shù)據(jù)方面優(yōu)于其他模型。

表5 各個(gè)模型的時(shí)間效率對(duì)比Table 5 Comparison of time efficiency among different models 單位:ms
在現(xiàn)實(shí)環(huán)境中,較難獲取高相關(guān)性數(shù)據(jù),而對(duì)單維時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí),數(shù)據(jù)會(huì)因?yàn)橹車h(huán)境的影響而產(chǎn)生一定的突變,導(dǎo)致預(yù)測(cè)結(jié)果存在一定的隨機(jī)性。此外,低相關(guān)性數(shù)據(jù)對(duì)預(yù)測(cè)具有重要意義,維度參數(shù)與被預(yù)測(cè)數(shù)據(jù)的相關(guān)性會(huì)隨著時(shí)間的推移而發(fā)生變化,當(dāng)參數(shù)達(dá)到某值時(shí)其相關(guān)性也會(huì)隨之增高。為了捕捉數(shù)據(jù)的低相關(guān)性,本文提出一種新的混合模型ATT-TURN-NN。將該模型與GRU、LSTM 等傳統(tǒng)模型進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果驗(yàn)證了ATT-TURN-NN 模型的有效性。下一步將研究如何更有效地捕捉低相關(guān)性數(shù)據(jù)的相關(guān)性,嘗試加入空間相關(guān)性對(duì)低相關(guān)性數(shù)據(jù)進(jìn)行預(yù)測(cè),通過(guò)提高數(shù)據(jù)相關(guān)性來(lái)提升模型的預(yù)測(cè)準(zhǔn)確率。