湯敬偉, 王達(dá)布希拉圖
(廣州大學(xué) 經(jīng)濟(jì)與統(tǒng)計(jì)學(xué)院, 廣東 廣州 510006)
近年來,伴隨著人工智能理論與技術(shù)的不斷進(jìn)步,深度學(xué)習(xí)方法在計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理、目標(biāo)預(yù)測(cè)等多領(lǐng)域中得到廣泛應(yīng)用.其雖具有局部精準(zhǔn)預(yù)測(cè)的性能優(yōu)勢(shì),但有效量化深度學(xué)習(xí)預(yù)測(cè)的不確定性是目前急需解決的問題.目前大多數(shù)深度學(xué)習(xí)的結(jié)果為精準(zhǔn)的均值預(yù)測(cè),遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)實(shí)應(yīng)用的需求.
為了量化預(yù)測(cè)時(shí)所產(chǎn)生的不確定信息,系統(tǒng)地提高預(yù)測(cè)的可靠性和有效性,人們將注意力聚焦于不確定性預(yù)測(cè).不確定性預(yù)測(cè)主要包括密度預(yù)測(cè)和區(qū)間預(yù)測(cè).密度預(yù)測(cè)給出概率密度函數(shù)或累積分布函數(shù),能夠反映預(yù)測(cè)結(jié)果的全部概率信息.通常都需要假設(shè)誤差服從某一已知分布,如貝葉斯神經(jīng)網(wǎng)絡(luò)[1].Nix等[2]提出在正態(tài)分布假設(shè)下,利用神經(jīng)網(wǎng)絡(luò)和負(fù)對(duì)數(shù)似然損失函數(shù)對(duì)均值方差進(jìn)行估計(jì).雖然該方法計(jì)算較為簡(jiǎn)便,但是在實(shí)際應(yīng)用中往往很難找到合適的分布來擬合其預(yù)測(cè)誤差值,常出現(xiàn)預(yù)測(cè)不合理的問題.通過非參數(shù)的方法如核密度估計(jì)[3]、分位數(shù)回歸[4]等方法,基于歷史相關(guān)數(shù)據(jù)直接計(jì)算出其預(yù)測(cè)誤差的經(jīng)驗(yàn)分布函數(shù)或分位數(shù)點(diǎn),可以規(guī)避假設(shè)分布不合理的問題.這類方法需要大量數(shù)據(jù),并且存在維數(shù)災(zāi)難問題,即這些方法的性能會(huì)隨著特征個(gè)數(shù)增加而迅速降低.
區(qū)間預(yù)測(cè)[5]能夠給出在某一確定的置信水平下大致的波動(dòng)范圍,因而也能反映出預(yù)測(cè)結(jié)果的不確定信息.相較密度預(yù)測(cè)而言,區(qū)間預(yù)測(cè)能夠較好地滿足不確定預(yù)測(cè)的需要.當(dāng)前,區(qū)間預(yù)測(cè)的主要研究致力于直接預(yù)測(cè)時(shí)間序列可能的上界與下界.Oord等[6-7]提出通過神經(jīng)網(wǎng)絡(luò)將回歸問題轉(zhuǎn)換成分類問題,根據(jù)預(yù)測(cè)分類結(jié)果的分布計(jì)算出區(qū)間預(yù)測(cè)值.然而這種方法得到的區(qū)間預(yù)測(cè)是特定置信水平下的近似區(qū)間,因此,Keren等[8]提出兩種校準(zhǔn)方法,得到更為合理且有效的區(qū)間預(yù)測(cè)值估計(jì).還有通過區(qū)間預(yù)測(cè)的高質(zhì)量原則構(gòu)建有效的區(qū)間預(yù)測(cè)的損失函數(shù),用于在深度學(xué)習(xí)模型中進(jìn)行學(xué)習(xí),其中Khosravi等[9]提出下上界估計(jì)(Lower Upper Bound Estimation, LUBE)的損失函數(shù),并在很多領(lǐng)域內(nèi)得到廣泛的應(yīng)用.但是LUBE損失函數(shù)并不可微,在使用深度學(xué)習(xí)模型時(shí)不能使用常用的基于梯度的算法,同時(shí)該方法易產(chǎn)生不合理的結(jié)果.Pearce等[10]基于Khosravi的工作提出新的區(qū)間預(yù)測(cè)的損失函數(shù),并給出可微的損失函數(shù)形式.然而上述區(qū)間預(yù)測(cè)的損失函數(shù)只考慮單個(gè)區(qū)間,當(dāng)進(jìn)行多個(gè)區(qū)間預(yù)測(cè)時(shí),這種方法要求對(duì)不同置信水平進(jìn)行相互獨(dú)立預(yù)測(cè),因而并沒有考慮不同置信水平下諸區(qū)間之間的內(nèi)在聯(lián)系,同時(shí)該方法還需更多的模型訓(xùn)練時(shí)間.
針對(duì)上述問題,本文擬將單區(qū)間高質(zhì)量損失函數(shù)推廣到適用于多區(qū)間的損失函數(shù),并利用深度學(xué)習(xí)模型和UCI的家電能耗預(yù)測(cè)數(shù)據(jù)集驗(yàn)證多區(qū)間的損失函數(shù)有效性與合理性.
由Rumelhart等在1986年首次提出的BP神經(jīng)網(wǎng)絡(luò)[11],是最常見的神經(jīng)網(wǎng)絡(luò)模型,可用于解決非線性問題.通常問題越復(fù)雜,需要的隱含層數(shù)量越多.前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,能夠以任意精度逼近任意連續(xù)函數(shù)及平方可積函數(shù).具體的框架圖如圖1所示,其中x1,x2…,xM為模型的輸入,W1,W2…,WL和b1,b2…,bL分別為隱含層的權(quán)重矩陣和偏置項(xiàng),φ(·) 為激活函數(shù).
圖1 BP神經(jīng)網(wǎng)絡(luò)框架圖Fig.1 Architecture of BP neural networks
Hochreiter等在1997提出了LSTM[11],與RNN相比,增加了控制信息流動(dòng)的門控單元系統(tǒng),控制自循環(huán)的權(quán)重.在經(jīng)典的RNN網(wǎng)絡(luò)中,隱含層只有一個(gè)狀態(tài),這一狀態(tài)只對(duì)短期輸入敏感,因此,LSTM增加了一個(gè)保持長(zhǎng)期記憶的狀態(tài).最重要的組成部分是狀態(tài)單元,LSTM通過輸入門Ct、遺忘門ft和輸出門Ot控制信息的增減,具體的框架圖如圖2所示.
圖2 LSTM框架圖Fig.2 Architecture of LSTM
其中遺忘門ft,決定上個(gè)時(shí)間的輸入單元Ct-1是否需要遺忘或保留信息,ft為1表示完全保留,為0表示完全遺忘.
ft=σ(wf·[hC-1,xt]+bf)
(1)
輸入門Ct:由舊的輸入門Ct-1信息與遺忘門ft相結(jié)合更新.
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
輸出門Ot:決定當(dāng)前狀態(tài)單元的輸出信息.
Ot=σ(WO·[ht-1,xt]+bO)
(5)
ht=Ot*tanh(Ct)
(6)
區(qū)間預(yù)測(cè)的高質(zhì)量原則(High-Quality principle,簡(jiǎn)稱HQ原則)——高質(zhì)量區(qū)間預(yù)測(cè)應(yīng)該在特定的置信水平(區(qū)間能捕獲數(shù)據(jù)點(diǎn)的比例)下,區(qū)間寬度盡可能小.根據(jù)HQ原則推導(dǎo)出無需分布假設(shè)的損失函數(shù).
再定義n維向量K表示每個(gè)數(shù)據(jù)點(diǎn)是否被預(yù)測(cè)區(qū)間覆蓋,每個(gè)分量kt如下所示:
m表示被區(qū)間預(yù)測(cè)值覆蓋的數(shù)據(jù)點(diǎn)的總數(shù)
(7)
預(yù)測(cè)區(qū)間的覆蓋概率(Prediction Interval Coverage Probability, PICP)和平均預(yù)測(cè)區(qū)間的寬度(Mean Prediction Interval Width, MPIW)定義為
(8)
(9)
根據(jù)HQ原則,高質(zhì)量的預(yù)測(cè)區(qū)間應(yīng)該在符合PICP≥(1-α)的條件下最小化MPIW,MPIW應(yīng)該屬于損失函數(shù)的一部分,但是沒有覆蓋到數(shù)據(jù)點(diǎn)的預(yù)測(cè)區(qū)間寬度就不應(yīng)該再縮小.因此,提出已覆蓋數(shù)據(jù)點(diǎn)的平均預(yù)測(cè)區(qū)間的寬度(captured MPIW)代替MPIW
(10)
假設(shè)kt是獨(dú)立同分布的,m就會(huì)服從二項(xiàng)分布,m~B(n,(1-α)),根據(jù)中心極限定理(de Moivre-Laplace 定理[12]),對(duì)于極大的n值,m近似服從正態(tài)分布
B(n,(1-α))≈N(n(1-α),nα(1-α))=
(11)
因此,可以得到負(fù)的對(duì)數(shù)似然函數(shù),
(12)
考慮到覆蓋率與區(qū)間寬度的平衡,加上拉格朗日項(xiàng)λ,得到單區(qū)間損失函數(shù):
LossQD=MPIWcapt+
(13)
首先定義R個(gè)不同的置信水平(1-α1),(1-α2),…,(1-αR),且(1-α1)>(1-α2)>…>(1-αR).定義向量u1用于判別置信水平(1-α1)的預(yù)測(cè)區(qū)間上界是否小于(1-α2)置信水平的預(yù)測(cè)區(qū)間上界,每個(gè)u1,t如下所示:
(14)
定義向量l1用于判別置信水平(1-α1)的預(yù)測(cè)區(qū)間下界是否大于置信水平(1-α2)的預(yù)測(cè)區(qū)間下界,其在t時(shí)刻的表達(dá)式如下:
(15)
根據(jù)向量u1計(jì)算出多區(qū)間的上界越界平均寬度(Mean Upper-bound Crossing Width, MUCW)為
(16)
同理可得,多區(qū)間的下界越界平均寬度(Mean Lower-bound Crossing Width, MLCW)
(17)
在單區(qū)間損失函數(shù)基礎(chǔ)上,增加不同置信水平區(qū)間上界之間關(guān)系的量化函數(shù)(MUCW)和不同置信水平區(qū)間下界之間關(guān)系的量化函數(shù)(MLCW)來定義多區(qū)間聯(lián)合預(yù)測(cè)的損失函數(shù).
(18)
本文采用的數(shù)據(jù)是家電能耗預(yù)測(cè)數(shù)據(jù)集,來源于UC Irvine Machine Learning Repository公開數(shù)據(jù)庫(由加州大學(xué)歐文分校提供的用于機(jī)器學(xué)習(xí)的數(shù)據(jù)庫),可在網(wǎng)站https://archive.ics.uci.edu/ml/index.php下載.
該數(shù)據(jù)記錄一間低能耗的建筑從2016年1月11日至2016年5月27日的數(shù)據(jù),其中檢測(cè)的時(shí)間間隔為10 min,共記錄了19 735個(gè)樣本,同時(shí)收集了能源消耗量、溫度、濕度和風(fēng)速等29個(gè)特征.
本次研究的所有算法均由Python 3.6實(shí)現(xiàn),Tensorflow的版本為1.15.0,電腦的CPU主頻為2.60 GHz和8GB內(nèi)存,系統(tǒng)為Windows10專業(yè)版.
(1)數(shù)據(jù)預(yù)處理.對(duì)數(shù)據(jù)進(jìn)行缺失數(shù)據(jù)的補(bǔ)缺、歸一化和利用互信息進(jìn)行特征篩選,建立特征矩陣,以便于隨后的模型構(gòu)建.
(2)構(gòu)建區(qū)間預(yù)測(cè)模型.首先將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,然后訓(xùn)練集用于單區(qū)間聯(lián)合預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型(S_BPNN)和單區(qū)間預(yù)測(cè)的LSTM模型(S_LSTM)、多區(qū)間聯(lián)合預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型(M_BPNN)和多區(qū)間聯(lián)合預(yù)測(cè)的LSTM模型(M_LSTM)的建立,置信水平為0.95、0.90和0.85,最后利用所建立的模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè).
(3)計(jì)算評(píng)價(jià)指標(biāo).基于上述模型的區(qū)間預(yù)測(cè)結(jié)果,計(jì)算評(píng)價(jià)指標(biāo),包括預(yù)測(cè)區(qū)間的覆蓋概率(PICP)、平均預(yù)測(cè)區(qū)間的寬度(MPIW)、均方根誤差(RMSE)和平均絕對(duì)誤差(MAE),其中RMSE和MAE是根據(jù)區(qū)間上界和下界的均值作為點(diǎn)預(yù)測(cè)來進(jìn)行計(jì)算,最后進(jìn)行綜合分析.
按照上述研究步驟,得到測(cè)試集的評(píng)價(jià)指標(biāo)結(jié)果如表1所示.
表1 實(shí)驗(yàn)結(jié)果
由表1可見,BP神經(jīng)網(wǎng)絡(luò)(S_BPNN)和多區(qū)間BP網(wǎng)絡(luò)(M_BPNN)的PICP分別為94.68%與94.95%,沒有達(dá)到大于當(dāng)前設(shè)置置信水平95%的標(biāo)準(zhǔn),但已經(jīng)非常接近,說明所有模型的預(yù)測(cè)區(qū)間結(jié)果是有效的.
從LSTM與BP神經(jīng)網(wǎng)絡(luò)的對(duì)比來看,在不同置信水平下,無論采用單區(qū)間損失函數(shù)或多區(qū)間損失函數(shù),LSTM的平均預(yù)測(cè)區(qū)間的寬度(MPIW)都要比BP神經(jīng)網(wǎng)絡(luò)的小,在置信水平95%下尤為明顯,與此同時(shí),LSTM的RMSE和MAE均比BP神經(jīng)網(wǎng)絡(luò)的RMSE和MAE小.證明具有長(zhǎng)短期記憶的LSTM比一般的神經(jīng)網(wǎng)絡(luò)BPNN更加適用于時(shí)間序列數(shù)據(jù).
將單區(qū)間損失函數(shù)與多區(qū)間損失函數(shù)對(duì)比,可知在所有顯著性水平下,無論是BPNN還是LSTM模型,多區(qū)間損失函數(shù)的MPIW、RMSE和MAE指標(biāo)結(jié)果明顯優(yōu)于單區(qū)間的對(duì)應(yīng)指標(biāo),這表明本文提出的多區(qū)間損失函數(shù)能夠高效地量化預(yù)測(cè)的不確定性.
綜上所述,在所有顯著性水平下,采用多區(qū)間損失函數(shù)的LSTM的效果最好,所有的指標(biāo)效果都優(yōu)于其他對(duì)比模型.為了進(jìn)一步驗(yàn)證本文所提出的多區(qū)間損失函數(shù)的高效性,本文給出S_LSTM和M_LSTM模型的部分預(yù)測(cè)結(jié)果區(qū)間圖(圖3).
圖3 S_LSTM和M_LSTM的預(yù)測(cè)區(qū)間圖Fig.3 Prediction interval of S_LSTM and M_LSTM
從圖3可知,采用單區(qū)間損失函數(shù)的S_LSTM模型存在不同置信水平區(qū)間交叉的情況,特別是下區(qū)間;而采用多區(qū)間損失函數(shù)的M_LSTM模型基本不存在交叉越界問題,同時(shí)更能刻畫出真實(shí)值的波動(dòng)不確定信息.
本文將單區(qū)間損失函數(shù)推廣到適用于多區(qū)間的損失函數(shù),并與BPNN和LSTM深度學(xué)習(xí)算法結(jié)合,對(duì)家電能耗進(jìn)行區(qū)間預(yù)測(cè),從PICP、MPIW、RMSE和MAE四個(gè)指標(biāo)對(duì)不同置信水平下的不同模型進(jìn)行比較與分析,結(jié)果表明,考慮不同置信水平區(qū)間之間關(guān)聯(lián)的多區(qū)間損失函數(shù)能有效解決單區(qū)間損失函數(shù)的越界交叉問題,對(duì)比單區(qū)間損失函數(shù)顯現(xiàn)出高效省時(shí)的優(yōu)勢(shì).
值得指出的是,目前的研究是在離線的情況下進(jìn)行的,而在當(dāng)今大數(shù)據(jù)時(shí)代,每時(shí)每刻都會(huì)產(chǎn)生海量數(shù)據(jù),離線方法很難再適用于實(shí)際,如何有效地利用在線數(shù)據(jù)進(jìn)行區(qū)間預(yù)測(cè)是一個(gè)非常值得關(guān)注的問題.