路 強(qiáng),滕進(jìn)風(fēng),黎 杰,凌 亮,丁 超,黃健剛
1(合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,合肥 230009)
2(黃山旅游集團(tuán)水電開(kāi)發(fā)有限公司,黃山 245899)
3(南京航空航天大學(xué) 經(jīng)濟(jì)與管理學(xué)院,南京 211106)
時(shí)間序列預(yù)測(cè)在許多工業(yè)和商業(yè)應(yīng)用中發(fā)揮著重要作用,例如金融市場(chǎng)、網(wǎng)絡(luò)流量、天氣預(yù)報(bào)和供水行業(yè)等. 在這些場(chǎng)景中,人們可以利用大量關(guān)于過(guò)去行為的時(shí)間序列數(shù)據(jù)來(lái)預(yù)測(cè)將來(lái)的值[1–3]. 時(shí)間序列預(yù)測(cè)的主要挑戰(zhàn)是提高預(yù)測(cè)能力以滿足日益增長(zhǎng)的多步預(yù)測(cè)需求. 目前,時(shí)間序列預(yù)測(cè)在實(shí)際應(yīng)用中關(guān)系到經(jīng)濟(jì)社會(huì)生活的各個(gè)方面. 因此,在這項(xiàng)工作中,本文將研究時(shí)間序列的多步預(yù)測(cè)性能.
傳統(tǒng)的線性回歸方法主要包括自回歸,移動(dòng)平均,自回歸綜合移動(dòng)平均模型(ARIMA)等. 而非線性機(jī)器學(xué)習(xí)模型主要包括人工神經(jīng)網(wǎng)絡(luò)、支持向量回歸和梯度提升決策樹(shù)等[4–6],它們?cè)跁r(shí)間序列預(yù)測(cè)方面也取得了良好的效果. 目前,深度學(xué)習(xí)技術(shù)可以更加高效的提取數(shù)據(jù)的特征. 經(jīng)典深度學(xué)習(xí)框架有深度神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[7]等. RNN 是一種在時(shí)間上進(jìn)行遞歸的神經(jīng)網(wǎng)絡(luò),但它存在梯度消失和梯度爆炸的問(wèn)題. 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)[8]使用3 個(gè)門控機(jī)制來(lái)解決梯度爆炸和梯度消失問(wèn)題,它在長(zhǎng)序列預(yù)測(cè)中表現(xiàn)得更好. 門控循環(huán)單元(GRU)[9]作為L(zhǎng)STM 的變體,GRU 與LSTM 具有相似的性能,它簡(jiǎn)化了LSTM 的門控結(jié)構(gòu),降低了網(wǎng)絡(luò)的訓(xùn)練時(shí)間. 然而這些方法在對(duì)序列數(shù)據(jù)中的長(zhǎng)期和復(fù)雜關(guān)系進(jìn)行建模時(shí)仍然具有局限性. 為了提高預(yù)測(cè)精度很多信號(hào)處理方法被用于時(shí)間序列預(yù)測(cè),在這些模型中,信號(hào)處理方法將時(shí)間序列進(jìn)行分解和去噪處理[10,11]. 在時(shí)間序列數(shù)據(jù)中,不同的數(shù)據(jù)分量可能具有不同的特征,現(xiàn)有的常見(jiàn)混合模型無(wú)法充分利用不同分量的特征.
為了解決上述問(wèn)題,本文提出了一種新型的混合多步預(yù)測(cè)模型. 通過(guò)采用奇異譜分析對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,再結(jié)合本文設(shè)計(jì)的自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行預(yù)測(cè),可以實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)建模的能力.主要貢獻(xiàn)如下:
1)提出了一種端到端的時(shí)間序列預(yù)測(cè)混合模型,該模型可以用于時(shí)間序列數(shù)據(jù)的多步預(yù)測(cè). 該混合模型的預(yù)測(cè)精度優(yōu)于單一模型.
2)采用SSA 將原始時(shí)間序列數(shù)據(jù)分解為不同的趨勢(shì)分量,SSA 可以從原始數(shù)據(jù)中提取數(shù)據(jù)的不同趨勢(shì)信息. 同時(shí)設(shè)計(jì)了新的基于ConvLSTM 和BiGRU自動(dòng)編碼器結(jié)構(gòu),該模型能夠進(jìn)行短期和長(zhǎng)期特征學(xué)習(xí).
3)使用真實(shí)世界的2 個(gè)供水?dāng)?shù)據(jù)集和3 個(gè)公開(kāi)的時(shí)間序列數(shù)據(jù)集評(píng)價(jià)所提出的模型. 實(shí)驗(yàn)結(jié)果表明,與所有基線方法相比,該模型在多步預(yù)測(cè)評(píng)價(jià)指標(biāo)下幾乎都獲得了最好的預(yù)測(cè)性能,證明了模型在時(shí)間序列預(yù)測(cè)方面的優(yōu)越性.
本文的其余部分安排如下: 第1 節(jié)介紹了相關(guān)的工作. 第2 節(jié)闡述了所提出模型的設(shè)計(jì)與實(shí)現(xiàn). 第3 節(jié)評(píng)價(jià)了模型的預(yù)測(cè)性能,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了詳細(xì)討論. 第4 節(jié)對(duì)本文進(jìn)行總結(jié).
目前,為了更好地提高時(shí)間序列預(yù)測(cè)的準(zhǔn)確性,很多信號(hào)處理的方法被用于時(shí)間序列預(yù)測(cè). 例如,Zhang等人[12]采用小波變換(WT)獲取交通流的時(shí)變和周期性特征,建立了季節(jié)性ARIMA 進(jìn)行預(yù)測(cè). Ahani 等人[13]提出了一種多步預(yù)測(cè)系統(tǒng),集成了經(jīng)驗(yàn)?zāi)J椒纸?EEMD),最小二乘支持向量回歸(LSSVR)和長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM). Chang 等人[14]提出了一種基于小波變換和Adam 優(yōu)化的LSTM 神經(jīng)網(wǎng)絡(luò)混合模型,用于時(shí)間序列數(shù)據(jù)預(yù)測(cè). 此外,很多方法采用了數(shù)據(jù)分解技術(shù)來(lái)提取數(shù)據(jù)不同的趨勢(shì)信息進(jìn)行預(yù)測(cè). 例如,Tang 等人[15]通過(guò)WT 和SSA 對(duì)金融時(shí)間序列進(jìn)行分解重構(gòu)去噪,將平滑序列引入LSTM 得到預(yù)測(cè)值. Li 等人[16]利用變分模式分解(VMD)將非平穩(wěn)月降水時(shí)間序列分解為幾個(gè)相對(duì)穩(wěn)定的固有模式函數(shù)(IMFs),然后為每個(gè)IMF 建立一個(gè)極限學(xué)習(xí)機(jī)預(yù)測(cè)模型,最后將預(yù)測(cè)值累加得到預(yù)測(cè)結(jié)果. Liu 等人[17]采用SSA 將原始數(shù)據(jù)進(jìn)行分解,同時(shí)使用CNNGRU 和SVR 分別預(yù)測(cè)不同的分量數(shù)據(jù). Zhu 等人[18]通過(guò)VMD 來(lái)捕捉時(shí)間序列的趨勢(shì)和可變性信息,通過(guò)引入雙向門控循環(huán)單元實(shí)現(xiàn)對(duì)天然橡膠期貨的短期預(yù)測(cè). 在這些信號(hào)處理方法中,WT 可以提取時(shí)頻信息,EEMD 和VMD 可以提取趨勢(shì)信息. 然而,SSA 具有嚴(yán)格的數(shù)學(xué)理論和少量的參數(shù),并且可以有效地提取信號(hào)的趨勢(shì)信息,因此被選為信號(hào)處理的方法.
由于深度學(xué)習(xí)算法在數(shù)據(jù)特征提取方面的強(qiáng)大功能,目前也有大量的工作在時(shí)間序列預(yù)測(cè)領(lǐng)域取得了令人矚目的成績(jī). 例如,Sagheer 等人[19]提出了一種深度長(zhǎng)短期記憶(DLSTM)模型用來(lái)捕捉時(shí)間序列數(shù)據(jù)中的非線性動(dòng)態(tài)和長(zhǎng)期依賴關(guān)系. Zhang 等人[20]提出了一種基于雙向長(zhǎng)短期記憶(Bi-LSTM)網(wǎng)絡(luò)模型用于時(shí)間序列數(shù)據(jù)的預(yù)測(cè). Hu 等人[21]采用了一種將卷積神經(jīng)網(wǎng)絡(luò)與雙向長(zhǎng)短期記憶網(wǎng)絡(luò)相結(jié)合的模型,用于預(yù)測(cè)城市的用水需求. Essien 等人[22]提出了一種用于多步預(yù)測(cè)的端到端模型,該模型包含一個(gè)深度ConvLSTM編碼器-解碼器架構(gòu),應(yīng)用于智能工廠時(shí)間序列數(shù)據(jù)的預(yù)測(cè). Salinas 等人[23]提出了DeepAR,這是一種產(chǎn)生精確概率預(yù)測(cè)的方法,基于對(duì)大量相關(guān)時(shí)間序列訓(xùn)練自動(dòng)回歸的遞歸網(wǎng)絡(luò)模型. 因此,深度學(xué)習(xí)方法在時(shí)間序列預(yù)測(cè)方面具有廣泛的應(yīng)用. 同時(shí),它們使用由多個(gè)非線性變換組成的架構(gòu)來(lái)映射數(shù)據(jù)中的高級(jí)抽象.
根據(jù)以上文獻(xiàn),信號(hào)處理方法和深度學(xué)習(xí)方法在時(shí)間序列預(yù)測(cè)方面有著廣泛的使用. 然而,由于不同數(shù)據(jù)具有不同的特征,單一的深度學(xué)習(xí)方法在對(duì)數(shù)據(jù)中的長(zhǎng)期和復(fù)雜關(guān)系進(jìn)行建模時(shí)具有一定的局限性. 基于此背景,在本研究中,提出了一種新的混合模型. 使用奇異譜分析對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,再結(jié)合本文設(shè)計(jì)的自動(dòng)編碼器網(wǎng)絡(luò)用于對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行預(yù)測(cè),該模型可用于供水?dāng)?shù)據(jù)的預(yù)測(cè),同時(shí)模型也可以應(yīng)用于其他時(shí)間序列數(shù)據(jù)的預(yù)測(cè)任務(wù).
在本研究中,多步(即序列到序列)預(yù)測(cè)是一個(gè)重要的時(shí)間序列預(yù)測(cè)問(wèn)題,本文將時(shí)間序列預(yù)測(cè)制定為有監(jiān)督的機(jī)器學(xué)習(xí)任務(wù). 多步時(shí)間序列預(yù)測(cè)的目標(biāo)是使用大量關(guān)于過(guò)去行為的時(shí)間序列數(shù)據(jù)來(lái)預(yù)測(cè)將來(lái)的值,給定一個(gè)一維的單變量時(shí)間序列,xt∈{x1,x2,···,xN?1,xN},N為原始序列的長(zhǎng)度. 對(duì)于多步提前預(yù)測(cè),監(jiān)督機(jī)器學(xué)習(xí)模型的輸入X是xt?w+1,···,xt?1,xt,輸出是yt+1,yt+2,···,yt+k. 本文使用固定長(zhǎng)度的滑動(dòng)時(shí)間窗口方法構(gòu)建X、,得:
其中,w是滑動(dòng)窗口時(shí)間序列的長(zhǎng)度,k是需要預(yù)測(cè)的時(shí)間序列的長(zhǎng)度.
在本節(jié)中,將描述如何使用SSA-ConvBiAE 模型實(shí)現(xiàn)時(shí)間序列數(shù)據(jù)的預(yù)測(cè)任務(wù). SSA-ConvBiAE 模型的總體流程如圖1 所示. 首先,對(duì)原始數(shù)據(jù)進(jìn)行處理,主要是對(duì)數(shù)據(jù)的缺失值進(jìn)行填充和歸一化操作,處理后的數(shù)據(jù)被劃分為訓(xùn)練集和測(cè)試集; 通過(guò)數(shù)據(jù)分解步驟,將訓(xùn)練集和測(cè)試集進(jìn)行分解和重構(gòu),來(lái)獲取不同趨勢(shì)的分量數(shù)據(jù); 然后,將獲取到的訓(xùn)練集不同的分量數(shù)據(jù)分別輸入到自動(dòng)編碼器網(wǎng)絡(luò)用于模型的訓(xùn)練,經(jīng)過(guò)迭代保存訓(xùn)練好的模型. 最后,將測(cè)試集分量輸入到對(duì)應(yīng)訓(xùn)練好的模型中用于預(yù)測(cè),將不同分量的預(yù)測(cè)結(jié)果相加得到最終的預(yù)測(cè)結(jié)果.
圖1 總體預(yù)測(cè)模型的管線圖
本文提出的SSA-ConvBiAE 模型的整個(gè)過(guò)程如圖2 所示,詳細(xì)說(shuō)明如下.
圖2 SSA-ConvBiAE 模型結(jié)構(gòu)圖
2.3.1 數(shù)據(jù)分解
為了提高模型預(yù)測(cè)的準(zhǔn)確性,采用SSA 信號(hào)處理方法將原始的時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)處理,SSA 是用于時(shí)間序列分析有效的非參數(shù)算法,SSA 可以有效地實(shí)現(xiàn)信號(hào)的分解和重構(gòu). 此外,SSA 具有嚴(yán)格的數(shù)學(xué)理論和較少的參數(shù),并且可以很好地識(shí)別時(shí)間序列的周期、準(zhǔn)周期和趨勢(shì)信息. 本文選擇這種非參數(shù)方法將原始的時(shí)間序列分解并從原始數(shù)據(jù)中提取不同的趨勢(shì)分量. 具體如圖2(a)所示,SSA 經(jīng)過(guò)4 個(gè)步驟分別是: 嵌入(embedding)、奇異值分解(SVD)、分組(grouping)和對(duì)角平均化(diagonal averaging),可以將原始的時(shí)間序列數(shù)據(jù)進(jìn)行分解和重構(gòu),并獲取數(shù)據(jù)不同的趨勢(shì)信息,用于模型的訓(xùn)練和預(yù)測(cè). SSA 的詳細(xì)步驟描述如下:
1)嵌入. 首先選擇適當(dāng)?shù)拇翱陂L(zhǎng)度L(2 ≤L≤N),將一維的原始時(shí)間序列X=(x1,x2,···,xN)轉(zhuǎn)化成多維的序列Z=(Z1,Z2,···,ZK),Zi=(xi,xi+1,···,xi+L?1)T∈RL,其中,K=N?L+1,可得軌跡矩陣Z=(Z1,Z2,···,ZK)=表示為:
可以看出矩陣Z為漢克爾矩陣,即沿對(duì)角線元素相等.
2)奇異值分解. 通過(guò)SVD,軌跡矩陣Z可表示為:
3)分組. 該過(guò)程將區(qū)間{1,2,···,d}劃分為多個(gè)離散子集I1,I2,···,Im,其中m是組數(shù),則矩陣Z可表示為:
4)對(duì)角平均化. 該過(guò)程旨在將分組序列的每個(gè)矩陣轉(zhuǎn)換為長(zhǎng)度為N的新序列,設(shè)Z為L(zhǎng)×K的矩陣,L?=min(L,K),K?=max(L,K),N=L+K?1,且當(dāng)L 2.3.2 自動(dòng)編碼器 自動(dòng)編碼器可以解決序列到序列建模的問(wèn)題,其中輸入和輸出均為序列. 本文設(shè)計(jì)了基于ConvLSTM和BiGRU 的自動(dòng)編碼器結(jié)構(gòu),具體如圖2(b)所示,提出的網(wǎng)絡(luò)模型結(jié)構(gòu)主要分為編碼器和解碼器. 1)編碼器有一層ConvLSTM,一層激活函數(shù)tanh 和一層Dropout 函數(shù)堆疊在一起作為編碼層.ConvLSTM[24]作為L(zhǎng)STM 的一種變體,雖然LSTM 可以有利地捕獲長(zhǎng)輸入序列的長(zhǎng)期依賴,但它的各個(gè)門控結(jié)構(gòu)之間采用的是由全連接的方式構(gòu)建的,因此模型在訓(xùn)練時(shí)需要更多的參數(shù). 而ConvLSTM 用卷積算子替換了全連接層算子,使得它在輸入到隱藏狀態(tài)以及與各個(gè)門控結(jié)構(gòu)之間的轉(zhuǎn)換都具有卷積操作. Conv-LSTM 繼承了卷積算子中稀疏連接和參數(shù)共享的優(yōu)點(diǎn),可以減少全連接結(jié)構(gòu)的冗余. 此外,ConvLSTM 不僅能夠提取時(shí)間特征,通過(guò)卷積操作還可以有效對(duì)空間信息進(jìn)行特征提取. 同時(shí),ConvLSTM 通過(guò)門控機(jī)制克服了梯度消失的問(wèn)題,也保留了LSTM 可以捕獲長(zhǎng)時(shí)間記憶的優(yōu)點(diǎn). 因此,本文選擇ConvLSTM 作為編碼器.它的計(jì)算公式如下: 其中,σ、tanh、? 和°分別表示Sigmoid、tanh 操作、卷積運(yùn)算和Hadamard 積;it,ft,Ct?1,Ct和ot分別代表各種門控機(jī)制;xt表示輸入數(shù)據(jù),ht?1表示前一個(gè)ConvLSTM單元輸出的循環(huán)狀態(tài),ht表示當(dāng)前時(shí)刻的循環(huán)狀態(tài);W和b分別代表門控機(jī)制的權(quán)重向量和偏差向量. 2)解碼器由一層BiGRU、一層激活函數(shù)tanh 和一層Dropout 函數(shù)堆疊在一起作為解碼層. BiGRU 模型一種雙向循環(huán)神經(jīng)網(wǎng)絡(luò),它可以利用正向和反向信息. 雙向門控循環(huán)單元將兩個(gè)傳輸方向相反的隱藏層連接到同一個(gè)輸出層. 因此,輸出層具有輸入序列中每個(gè)點(diǎn)的過(guò)去和未來(lái)狀態(tài)的完整信息,從而做出更準(zhǔn)確的預(yù)測(cè). BiGRU 是在GRU 基礎(chǔ)上進(jìn)行正向和反向訓(xùn)練并將結(jié)果進(jìn)行線性融合,這樣不但可以提取過(guò)去的特征,也可以提取未來(lái)的特征,同時(shí)數(shù)據(jù)復(fù)用,而且每個(gè)時(shí)刻輸出值是由兩個(gè)方向的GRU 共同決定. BiGRU的思想是將常規(guī)GRU 神經(jīng)元分為前向狀態(tài)和后向狀態(tài). GRU 的計(jì)算公式如下所示: 其中,σ表示激活函數(shù)Sigmoid,tanh 是候選狀態(tài)的激活函數(shù),?是點(diǎn)積操作,xt表示輸入向量,更新門zt可以確定保留多少先前存儲(chǔ)的信息,重置門rt可以將多少先前存儲(chǔ)的信息與新輸入集成在一起.ht?1表示上一時(shí)刻隱藏層的狀態(tài),ht表示當(dāng)前時(shí)刻隱藏層狀態(tài).h?t表示候選狀態(tài).W是與輸入相關(guān)的權(quán)重矩陣,b表示偏差向量. 為了使編碼層的輸出可以作為解碼層的輸入,在編碼層之后通過(guò)使用一個(gè)重復(fù)向量層(repeat vector).該層的主要功能是重復(fù)來(lái)自編碼層的最終輸出向量,以便解碼層能夠重建原始輸入序列. 最后,在解碼層之后通過(guò)一個(gè)全連接層,用來(lái)輸出數(shù)據(jù)的預(yù)測(cè)值. 2.3.3 預(yù)測(cè)分量 多個(gè)分量的預(yù)測(cè)過(guò)程,具體如圖2(c)所示,將SSA 獲取到的n個(gè)分量數(shù)據(jù)分別作為每個(gè)自動(dòng)編碼器模型的輸入數(shù)據(jù)進(jìn)行模型的訓(xùn)練,保存訓(xùn)練好的模型.將不同的測(cè)試集分量分別輸入到對(duì)應(yīng)的訓(xùn)練好的自動(dòng)編碼器模型中進(jìn)行預(yù)測(cè),最后將不同分量的預(yù)測(cè)值進(jìn)行求和,得到最終的預(yù)測(cè)結(jié)果. SSA-ConvBiAE 模型是一個(gè)健壯的,可擴(kuò)展的端到端時(shí)間序列多步預(yù)測(cè)模型. 奇異譜分析可以從原始數(shù)據(jù)中提取數(shù)據(jù)不同的趨勢(shì)信息,同時(shí)本文設(shè)計(jì)的自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)能夠進(jìn)行短期和長(zhǎng)期特征學(xué)習(xí),該混合模型可以用于時(shí)間序列的多步預(yù)測(cè). 為了更好地反映出模型的預(yù)測(cè)值跟真實(shí)值的差距,在SSA-ConvBiAE 模型中采用的損失函數(shù)是均方誤差. 同時(shí),使用了基于隨機(jī)梯度的優(yōu)化算法Adam,每次迭代時(shí)更新模型參數(shù). 損失函數(shù)的計(jì)算方法如下: 本文的實(shí)驗(yàn)環(huán)境是基于Windows 操作系統(tǒng),使用Python 語(yǔ)言對(duì)代碼進(jìn)行實(shí)現(xiàn). 深度學(xué)習(xí)框架主要采用了TensorFlow,模型算法的實(shí)現(xiàn)是使用Keras,它是基于TensorFlow 的深度學(xué)習(xí)庫(kù). 硬件環(huán)境的配置是Intel(R)Core(TM)i7-7700K CPU @4.20 GHz、32.0 GB內(nèi)存和NVIDIA GeForce RTX 2080 8 GB GPU. 本文提出的模型在5 個(gè)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),其中包括2 個(gè)真實(shí)的供水?dāng)?shù)據(jù)集和3 個(gè)公開(kāi)的時(shí)間序列數(shù)據(jù)集. TH-reservoir 和 XH-waterworks 是由黃山旅游集團(tuán)水電開(kāi)發(fā)有限公司提供的黃山風(fēng)景區(qū)供水?dāng)?shù)據(jù)集.Milan-air[25],Delhi-meantemp[26]和Global-power[27]是從Kaggle 網(wǎng)站獲得的公開(kāi)的時(shí)間序列數(shù)據(jù)集. 5 個(gè)數(shù)據(jù)集的詳細(xì)描述如下所示: 1)TH-reservoir: 該數(shù)據(jù)集是黃山風(fēng)景區(qū)某水庫(kù)的水位值,數(shù)據(jù)集包含了黃山風(fēng)景區(qū)某水庫(kù)2017 年1 月1 日到2019 年12 月31 日每天的水位值. 2)XH-waterworks: 該數(shù)據(jù)集是黃山風(fēng)景區(qū)某水廠的供水量,數(shù)據(jù)集包含了黃山風(fēng)景區(qū)某水廠2017 年1 月1 日到2019 年12 月31 日每天的供水量. 3)Milan-air: 該數(shù)據(jù)集是米蘭空氣中PM2.5濃度數(shù)據(jù),數(shù)據(jù)集包含2020 年7 月24 日到2020 年9 月20 日每小時(shí)PM2.5濃度的平均值. 4)Delhi-meantemp: 該數(shù)據(jù)集是印度德里市的天氣溫度數(shù)據(jù),數(shù)據(jù)集包含2013 年1 月1 日至2017 年1 月1 日每天溫度的平均值. 5)Global-power: 該數(shù)據(jù)集是一個(gè)家庭在4 年內(nèi)的有功功率電力消耗數(shù)據(jù),數(shù)據(jù)是每分鐘收集一次,經(jīng)過(guò)累加計(jì)算得出每天的消耗量,數(shù)據(jù)集包含2006 年12 月16 日至2010 年11 月26 日每天消耗量的值. 上述黃山風(fēng)景區(qū)供水?dāng)?shù)據(jù)集包含少量的缺失數(shù)據(jù),因此使用線性插值的方法進(jìn)行填充. 在實(shí)驗(yàn)中,將80%的數(shù)據(jù)用作訓(xùn)練集,其余20%用作測(cè)試集. 為了評(píng)價(jià)模型的多步預(yù)測(cè)性能. 在本文中,使用了輸入步長(zhǎng)大小為18 的滑動(dòng)窗口機(jī)制,進(jìn)行多步預(yù)測(cè). 另外,將輸入數(shù)據(jù)進(jìn)行歸一化處理,其公式如下所示: 其中,xnor表示歸一化后的數(shù)據(jù),x表示輸入的樣本數(shù)據(jù)中某一個(gè)值,xmax,xmin分別表示樣本數(shù)據(jù)中的最大值和最小值. 為了驗(yàn)證所提出模型的預(yù)測(cè)性能,本文進(jìn)行了5 個(gè)實(shí)驗(yàn). 在每個(gè)實(shí)驗(yàn)中,將SSA-ConvBiAE 模型的預(yù)測(cè)性能與以下基線方法進(jìn)行比較: 1)SVR[5]: 支持向量回歸,它使用歷史數(shù)據(jù)來(lái)訓(xùn)練模型并對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè). 2)XGBoost[6]: 它是一個(gè)端到端的梯度提升決策樹(shù)模型,是一種高效且廣泛使用的機(jī)器學(xué)習(xí)方法. 3)GRU[9]: 門控循環(huán)單元,GRU 通過(guò)簡(jiǎn)化門控結(jié)構(gòu)使得網(wǎng)絡(luò)更易計(jì)算,降低了模型的訓(xùn)練時(shí)間. 4)DLSTM[19]: 通過(guò)堆疊多個(gè)LSTM 塊,構(gòu)建一個(gè)深度LSTM 神經(jīng)網(wǎng)絡(luò). 5)Bi-LSTM[20]: 主要使用前向和后向LSTM 來(lái)捕捉過(guò)去和未來(lái)隱含的信息,然后將兩部分結(jié)合起來(lái)形成最終的預(yù)測(cè)輸出. 6)SSA-ConvLSTM: 消融實(shí)驗(yàn). 奇異譜分析和ConvLSTM 的混合模型,詳細(xì)描述請(qǐng)參見(jiàn)第2.3 節(jié). 7)SSA-BiGRU: 消融實(shí)驗(yàn). 奇異譜分析和BiGRU的混合模型,詳細(xì)描述請(qǐng)參見(jiàn)第2.3 節(jié). 本實(shí)驗(yàn)采用3 種評(píng)價(jià)指標(biāo)對(duì)模型的預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià),具體如下: 平均絕對(duì)誤差(MAE): 均方根誤差(RMSE): 平均絕對(duì)百分比誤差(MAPE): 在本節(jié)中,為了研究所提出模型的多步預(yù)測(cè)性能,對(duì)涉及到的所有模型進(jìn)行1-step 到4-step 的預(yù)測(cè). 表1,表2 和表3 給出了2 個(gè)真實(shí)的供水?dāng)?shù)據(jù)和3 個(gè)公開(kāi)時(shí)間序列數(shù)據(jù)在幾種不同模型上的預(yù)測(cè)誤差評(píng)價(jià)結(jié)果. 表1 SSA-ConvBiAE 模型和基線方法對(duì)TH-reservoir 和XH-waterworks 數(shù)據(jù)集的預(yù)測(cè)結(jié)果 通過(guò)表1 的實(shí)驗(yàn)結(jié)果,可以發(fā)現(xiàn): 在供水?dāng)?shù)據(jù)案例研究中,SSA-ConvBiAE 模型可以實(shí)現(xiàn)準(zhǔn)確的多步預(yù)測(cè)結(jié)果,混合模型的預(yù)測(cè)精度優(yōu)于單一模型. 這表明SSA 對(duì)數(shù)據(jù)的分解,可以獲取數(shù)據(jù)不同趨勢(shì)的分量信息,從而降低了時(shí)間序列的復(fù)雜度,提高了模型的預(yù)測(cè)精度. 與其他幾種基線方法相比,SSA-ConvBiAE 模型的多步預(yù)測(cè)幾乎具有最好的預(yù)測(cè)精度,這表明設(shè)計(jì)的基于ConvLSTM 和BiGRU 結(jié)構(gòu)的自動(dòng)編碼器模型可以有效地提取數(shù)據(jù)特征,適用于時(shí)間序列預(yù)測(cè). 同時(shí),為了驗(yàn)證模型不僅可以用于供水?dāng)?shù)據(jù)預(yù)測(cè),本文也在3 個(gè)公開(kāi)的時(shí)間序列數(shù)據(jù)進(jìn)行了實(shí)驗(yàn),通過(guò)表2 和表3的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),所提出的模型在公開(kāi)的數(shù)據(jù)集上都有優(yōu)異的表現(xiàn),表明模型具有一定的泛化能力. 表1,表2 和表3 顯示了SSA-ConvBiAE 模型和其他基線方法在5 個(gè)時(shí)間序列數(shù)據(jù)集上的多步預(yù)測(cè)任務(wù)的性能. 可以看出,SSA-ConvBiAE 模型在多步預(yù)測(cè)范圍的評(píng)價(jià)指標(biāo)下幾乎都獲得了最好的預(yù)測(cè)性能. 模型與其他基線方法預(yù)測(cè)結(jié)果相比,詳細(xì)描述如下. 表2 SSA-ConvBiAE 模型和基線方法對(duì)Milan-air 和Delhi-meantemp 數(shù)據(jù)集的預(yù)測(cè)結(jié)果 表3 SSA-ConvBiAE 模型和基線方法對(duì)Global-power 數(shù)據(jù)集的預(yù)測(cè)結(jié)果 1)預(yù)測(cè)精度. 以TH-reservoir 數(shù)據(jù)集為例,從表1中可以看出: 所提出的模型SSA-ConvBiAE 極大地提高了多步預(yù)測(cè)的性能,這表明該模型在長(zhǎng)期預(yù)測(cè)能力方面取得了優(yōu)異的效果. 例如,對(duì)于1-step 的供水?dāng)?shù)據(jù)預(yù)測(cè)任務(wù),SSA-ConvBiAE 模型和SVR 和XGBoost 模型相比,RMSE誤差降低了約71.45%和71.27%. 這主要是由于SVR 和XGBoost 等方法難以處理復(fù)雜的非平穩(wěn)時(shí)間序列數(shù)據(jù). SSA-ConvBiAE 模型和GRU 模型、DLSTM 模型和BiLSTM 模型相比,RMSE誤差降低了約72.28%、71.39%和72.21%,這主要是由于針對(duì)具有不同特征的時(shí)間序列數(shù)據(jù),這幾種模型的預(yù)測(cè)結(jié)果會(huì)有所降低. 從表1 可以看出,經(jīng)過(guò)SSA 進(jìn)行數(shù)據(jù)分解,預(yù)測(cè)精度得到了明顯提高,這表明提出的混合模型是有效的. 2)消融分析. 為了驗(yàn)證SSA-ConvBiAE 模型采用自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)的有效性,將SSA-ConvBiAE 與SSA-ConvLSTM 和SSA-BiGRU 模型進(jìn)行了比較. 以TH-reservoir 數(shù)據(jù)集為例,從圖3 中可以看出,在RMSE和MAPE兩種不同的實(shí)驗(yàn)評(píng)價(jià)指標(biāo)下,可以清楚地看到提出的SSA-ConvBiAE 比SSA-ConvLSTM和SSA-BiGRU 具有更好的預(yù)測(cè)結(jié)果. SSA-ConvBiAE與SSA-ConvLSTM 和SSA-BiGRU 模型相比,從1-step預(yù)測(cè)可以看出,RMSE分別降低了約7.22%和17.80%.實(shí)驗(yàn)表明,ConvLSTM 充分捕捉了序列數(shù)據(jù)的時(shí)間和空間分布,同時(shí)模型中結(jié)合BiGRU,使輸出層具有輸入序列中每個(gè)點(diǎn)的過(guò)去和未來(lái)狀態(tài)的完整信息,可以融合更多的序列特征,提高了模型的預(yù)測(cè)性能. 因此,表明了本文提出的自動(dòng)編碼器網(wǎng)絡(luò)結(jié)構(gòu)可以有效地提取數(shù)據(jù)特征. 圖3 消融實(shí)驗(yàn)預(yù)測(cè)結(jié)果對(duì)比 3)多步預(yù)測(cè). 從以上的實(shí)驗(yàn)結(jié)果可以看出,在5 個(gè)不同的數(shù)據(jù)集上SSA-ConvBiAE 模型預(yù)測(cè)精度在多步預(yù)測(cè)范圍內(nèi)明顯要高于其他基線方法. 以TH-reservoir和XH-waterworks 數(shù)據(jù)集為例,從表1 中可以看出,本文提出的SSA-ConvBiAE 模型在1-step 到4-step 的預(yù)測(cè)結(jié)果幾乎都獲得了最好的預(yù)測(cè)性能,這表明提出的混合模型是可行的. 因此,該模型可以用于供水?dāng)?shù)據(jù)和其他時(shí)間序列任務(wù)的預(yù)測(cè),同時(shí)本文提出的SSA-ConvBiAE模型不僅可以用于短期預(yù)測(cè),還可以用于中長(zhǎng)期預(yù)測(cè). 在本節(jié)中,將選擇SSA-ConvBiAE 模型的相關(guān)參數(shù). SSA-ConvBiAE 模型的超參數(shù)主要包括: 批次大小、訓(xùn)練次數(shù)、隱藏層單元數(shù)、卷積核的尺寸、Dropout和數(shù)據(jù)分量個(gè)數(shù). 在實(shí)驗(yàn)中,將批次大小設(shè)置為32,訓(xùn)練次數(shù)設(shè)置為100,隱藏層單元設(shè)置為128,卷積核的尺寸設(shè)置為1×3,Dropout 參數(shù)設(shè)置為0.1. 數(shù)據(jù)分量的個(gè)數(shù)是SSA-ConvBiAE 模型的一個(gè)非常重要的參數(shù),本文通過(guò)嘗試不同的數(shù)據(jù)進(jìn)行對(duì)比預(yù)測(cè)實(shí)驗(yàn)來(lái)選擇最佳值. 在實(shí)驗(yàn)中,從[2,3,4,5,6,7]中選擇不同的分量個(gè)數(shù)并分析預(yù)測(cè)精度的變化. 如圖4和圖5 所示,橫軸代表不同的分量個(gè)數(shù),縱軸代表RMSE和MAE兩種不同的評(píng)價(jià)指標(biāo)的變化. 圖4(a)和圖4(b)分別顯示了數(shù)據(jù)集TH-reservoir 和XH-waterworks 不同分量個(gè)數(shù)的RMSE和MAE的預(yù)測(cè)結(jié)果. 可以看出,當(dāng)分量個(gè)數(shù)為5 時(shí),誤差最小. 同樣圖5(a)和圖5(b)分別顯示了數(shù)據(jù)集Milan-air 和Delhi-meantemp 的預(yù)測(cè)結(jié)果,當(dāng)個(gè)數(shù)為6 時(shí),結(jié)果達(dá)到最小值,圖5(c)顯示了數(shù)據(jù)集Global-power 的預(yù)測(cè)結(jié)果,當(dāng)個(gè)數(shù)為4 時(shí),結(jié)果達(dá)到最小值. 這表明不同的分量個(gè)數(shù)會(huì)極大地影響預(yù)測(cè)精度,因此需要通過(guò)不同參數(shù)的對(duì)比實(shí)驗(yàn)來(lái)選擇最佳值. 圖4 不同的SSA 分量在TH-reservoir 和XH-waterworks 數(shù)據(jù)集上的預(yù)測(cè)性能比較 圖5 不同的SSA 分量在Milan-air,Delhi-meantemp 和Global-power 數(shù)據(jù)集上的預(yù)測(cè)性能比較 為了更好的理解SSA-ConvBiAE 模型的預(yù)測(cè)結(jié)果,選擇對(duì)TH-reservoir 的部分測(cè)試集樣本數(shù)據(jù)進(jìn)行預(yù)測(cè)結(jié)果可視化,圖6(a)–圖6(d)分別顯示了模型1-step到4-step 的預(yù)測(cè)范圍的可視化結(jié)果. 從圖6 中1-step 和2-step 預(yù)測(cè)的可視化結(jié)果來(lái)看,SSA-ConvBiAE 模型在數(shù)據(jù)的局部最小值和局部最大值處的預(yù)測(cè)結(jié)果都非常的接近真實(shí)值,這表明SSA 將數(shù)據(jù)分解成不同的趨勢(shì)分量后,自動(dòng)編碼器結(jié)構(gòu)中ConvLSTM 充分捕捉了序列數(shù)據(jù)的空間和時(shí)間分布,具有自動(dòng)特征提取方面的優(yōu)勢(shì),而B(niǎo)iGRU 可以融合更多的序列特征,提高了模型的預(yù)測(cè)性能. 從圖6 中3-step和4-step 的預(yù)測(cè)可視化結(jié)果來(lái)看,模型預(yù)測(cè)的總體趨勢(shì)接近真實(shí)值,但在局部最小值和局部最大值處的預(yù)測(cè)結(jié)果要低于前兩步預(yù)測(cè). 盡管ConvLSTM,BiGRU可以捕捉數(shù)據(jù)集中的長(zhǎng)期依賴性,但針對(duì)復(fù)雜數(shù)據(jù)的預(yù)測(cè),長(zhǎng)期預(yù)測(cè)的結(jié)果也會(huì)有所降低. 從圖6 中的1-step到4-step 的預(yù)測(cè)結(jié)果,可以看出奇異譜分析與自動(dòng)編碼器網(wǎng)絡(luò)的結(jié)合是有效的,該模型可以提取序列數(shù)據(jù)的時(shí)間特征,可以很好地?cái)M合數(shù)據(jù),以及準(zhǔn)確預(yù)測(cè)數(shù)據(jù)的變化趨勢(shì). 同時(shí),在5 個(gè)數(shù)據(jù)集上的預(yù)測(cè)結(jié)果可以看出,在針對(duì)具有不同特征的時(shí)間序列數(shù)據(jù),本文提出的模型在預(yù)測(cè)結(jié)果方面都具有優(yōu)異的表現(xiàn). 圖6 SSA-ConvBiAE 模型的可視化預(yù)測(cè)結(jié)果(其中,縱坐標(biāo)表示水位 (m)) 為進(jìn)一步表明模型的預(yù)測(cè)結(jié)果,選擇SSA-ConvBiAE模型與其他基線方法的預(yù)測(cè)結(jié)果進(jìn)行可視化對(duì)比,如圖7(a)–圖7(d)所示,不同的模型對(duì)TH-reservoir 數(shù)據(jù)集進(jìn)行1-step 到4-step 預(yù)測(cè)結(jié)果可視化,可以看出,采用SSA 對(duì)數(shù)據(jù)進(jìn)行處理后,混合模型的預(yù)測(cè)結(jié)果明顯優(yōu)于單一模型,預(yù)測(cè)結(jié)果更接近真實(shí)值,與SSA-ConvLSTM和SSA-BiGRU 模型相比,SSA-ConvBiAE 模型在多步預(yù)測(cè)范圍內(nèi)獲得了更好的預(yù)測(cè)性能. 同時(shí)本文也選擇了對(duì)Milan-air 數(shù)據(jù)集進(jìn)行預(yù)測(cè)結(jié)果可視化,如圖8(a)–圖8(d)所示,展示了不同模型的預(yù)測(cè)結(jié)果. 圖7 SSA-ConvBiAE 模型與基線方法對(duì)TH-reservoir 數(shù)據(jù)集的預(yù)測(cè)結(jié)果可視化對(duì)比圖(其中,縱坐標(biāo)表示水位 (m),橫坐標(biāo)表示樣本數(shù)目) 圖8 SSA-ConvBiAE 模型與基線方法對(duì)Milan-air 數(shù)據(jù)集的預(yù)測(cè)結(jié)果可視化對(duì)比圖(縱坐標(biāo)表示: PM2.5 濃度 (μg/m3),橫坐標(biāo)表示樣本數(shù)目) 本文提出的一種端到端的時(shí)間序列預(yù)測(cè)混合模型,SSA-ConvBiAE 模型是一個(gè)健壯的,可擴(kuò)展的端到端模型可以用于時(shí)間序列數(shù)據(jù)的多步預(yù)測(cè). 在提出的SSA-ConvBiAE 模型中,采用SSA 將原始時(shí)間序列數(shù)據(jù)分解為不同的趨勢(shì)分量,SSA 可以從原始數(shù)據(jù)中提取數(shù)據(jù)不同的趨勢(shì)信息,同時(shí)本文設(shè)計(jì)了新的基于ConvLSTM 和BiGRU 自動(dòng)編碼器結(jié)構(gòu),模型能夠進(jìn)行短期和長(zhǎng)期特征學(xué)習(xí),該混合模型的預(yù)測(cè)精度優(yōu)于單一模型. 在真實(shí)世界的2 個(gè)供水?dāng)?shù)據(jù)集和3 個(gè)公開(kāi)的時(shí)間序列數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)來(lái)評(píng)價(jià)所提出的模型. 實(shí)驗(yàn)結(jié)果表明,與所有基線方法相比,該模型在多步預(yù)測(cè)評(píng)價(jià)指標(biāo)下幾乎都獲得了最好的預(yù)測(cè)性能,證明了SSA-ConvBiAE 模型在時(shí)間序列預(yù)測(cè)方面的優(yōu)越性.這表明提出的模型不僅可以應(yīng)用于供水預(yù)測(cè)領(lǐng)域,同時(shí)對(duì)于其他時(shí)間序列數(shù)據(jù)預(yù)測(cè)也具有一定的適用性.在未來(lái)的研究計(jì)劃中將繼續(xù)深化研究SSA-ConvBiAE模型在時(shí)間序列數(shù)據(jù)方面的預(yù)測(cè)性能,特別是針對(duì)多變量的時(shí)間序列預(yù)測(cè)問(wèn)題.2.4 損失函數(shù)
3 實(shí)驗(yàn)分析
3.1 實(shí)驗(yàn)環(huán)境
3.2 數(shù)據(jù)描述
3.3 基線方法
3.4 實(shí)驗(yàn)結(jié)果
3.5 模型參數(shù)選擇
3.6 模型解釋
4 結(jié)論