林 濤,吉萌萌,付崇閣,程淑偉
(河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401)
空氣質(zhì)量極大地影響著人們的生產(chǎn)生活。全球每年因空氣質(zhì)量而導(dǎo)致的死亡數(shù)達(dá)700萬[1],農(nóng)作物損失達(dá)5萬億元[2]。提前獲知下一階段的空氣質(zhì)量可以方便人們更加合理的安排生產(chǎn)生活。2016-2019年,北京市因PM2.5的有效預(yù)警,呼吸道系統(tǒng)患病人數(shù)下降了40%左右[3]。因此精準(zhǔn)的預(yù)測空氣質(zhì)量是一個非常重要的課題。
目前,國內(nèi)外諸多學(xué)者在空氣質(zhì)量預(yù)測領(lǐng)域做了大量的研究,提出了許多方法。文獻(xiàn)[4]使用BP神經(jīng)網(wǎng)絡(luò)對長春市空氣質(zhì)量進(jìn)行了預(yù)測,該方法僅與真實值進(jìn)行了比較,并未與其它算法比較,無法驗證其優(yōu)越性;文獻(xiàn)[5]提出了一種遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),表明優(yōu)化后的BP網(wǎng)絡(luò)優(yōu)于標(biāo)準(zhǔn)的BP網(wǎng)絡(luò);文獻(xiàn)[6]提出了一種LSTM空氣質(zhì)量預(yù)測模型,通過與支持向量機(jī)(SVM)、BP網(wǎng)絡(luò)等模型進(jìn)行實驗對比,表明LSTM模型在時間序列預(yù)測上的性能要高于SVM和BP;文獻(xiàn)[7]提出了一種用于空氣質(zhì)量預(yù)測的雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-term Memory,Bi-LSTM)模型,利用Bi-LSTM模型從PM2.5的長期依賴中學(xué)習(xí),通過利用中國廣東省PM2.5的數(shù)據(jù)集進(jìn)行實驗,證明了算法的有效性;文獻(xiàn)[8]使用小波分解變換(Wavelet transform)和LSTM相結(jié)合的方法,通過小波分解將空氣污染物濃度的時間序列數(shù)據(jù)進(jìn)行分解并重構(gòu),再通過LSTM模型進(jìn)行訓(xùn)練;文獻(xiàn)[9]對原始序列采用樣本熵和自適應(yīng)加噪的集合經(jīng)驗?zāi)B(tài)分解方法進(jìn)行分解,再使用LSTM算法對PM10濃度進(jìn)行預(yù)測。上述方法大多利用了LSTM良好的時間序列預(yù)測能力,同時結(jié)合了信號處理等方法使得空氣質(zhì)量預(yù)測更加精確,但是沒有考慮到空氣質(zhì)量數(shù)據(jù)集包含的噪聲較大、冗余因素過多而造成的預(yù)測精度降低。
在實際情況下,傳感器采集溫度、PM10、SO2、NO2等參數(shù)時易受到人工干預(yù)或周圍環(huán)境的影響,這些影響導(dǎo)致所采集的數(shù)據(jù)中含有大量噪聲。樣本屬性對樣本的影響在不同的個體中可能有不同的體現(xiàn),這就導(dǎo)致了各個樣本中的冗余信息含量不同。針對數(shù)據(jù)集中噪聲較大,冗余因素過多,本文提出一種收縮的時間卷積網(wǎng)絡(luò)模型。時間卷積網(wǎng)絡(luò)是Colin Lea在2018年提出的[10],相較于LSTM由于記憶單元存儲信息有限,對于長時間序列數(shù)據(jù)的處理仍存在一定缺陷的問題,該網(wǎng)絡(luò)通過引入空洞因果卷積的方法,實現(xiàn)了在長歷史上擁有更多的感受野和更高的預(yù)測性能[11-13]。本文在時間卷積網(wǎng)絡(luò)擁有更多的感受野,能夠有效獲取更多歷史信息的基礎(chǔ)上,利用深度殘差收縮網(wǎng)絡(luò)中特殊的注意力機(jī)制和軟閾值化思想,能夠針對不同的樣本輸入生成自適應(yīng)的閾值,進(jìn)而使得時間卷積網(wǎng)絡(luò)能夠有效去除各個樣本中的無用信息,保留有效信息。通過在北京空氣質(zhì)量數(shù)據(jù)集上的實驗表明,改進(jìn)后的時間卷積算法相較于LSTM算法模型以及標(biāo)準(zhǔn)的TCN模型具有更精準(zhǔn)的預(yù)測精度。
TCN是一個基于卷積神經(jīng)網(wǎng)絡(luò)改進(jìn)的用于處理時間序列的神經(jīng)網(wǎng)絡(luò)。在引進(jìn)空洞因果卷積(Dilated Convolution)和殘差塊(Residual Block)后,卷積體系結(jié)構(gòu)在序列數(shù)據(jù)上的表現(xiàn)優(yōu)于循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[14]。TCN整體結(jié)構(gòu)如圖1所示。
圖1 TCN網(wǎng)絡(luò)結(jié)構(gòu)
假設(shè)時間卷積網(wǎng)絡(luò)的一維序列輸入為x∈Rn,卷積核為f:{0,…,k-1}→R。定義序列中元素s上的空洞因果卷積運(yùn)算F為
(1)
其中d為卷積的擴(kuò)張因子,k為卷積核大小,s-di是序列過去時間的方向。當(dāng)d=1時,該因果空洞卷積相當(dāng)于一個規(guī)則的因果卷積。
而時間卷積網(wǎng)絡(luò)中的殘差網(wǎng)絡(luò)部分往往由多個殘差塊結(jié)構(gòu)堆疊而成,殘差結(jié)構(gòu)中的卷積采用空洞因果卷積的方式。假設(shè)定義j個殘差塊,每塊包含t個殘差網(wǎng)絡(luò)結(jié)構(gòu)。其中S(j,l)表示第j塊第l層。每一層的卷積核都相同,設(shè)為。每層由一個擴(kuò)張因子s,一個非線性激活函數(shù)f(·),并且用一個殘差連接組合了層輸入和卷積信號。網(wǎng)絡(luò)將使用上一層t和t-s時刻的數(shù)據(jù)來預(yù)測當(dāng)前層的t時刻輸出。所以有
(2)
其中,V∈RFω×Fω,e∈RFω是殘差網(wǎng)絡(luò)的一組權(quán)重和偏移量。
使用一組跳躍連接對每個塊的輸出進(jìn)行求和,如式(3)所示
(3)
設(shè)一組權(quán)重為V∈RFω×Fω,偏移量為er,則隱藏層的表達(dá)式為
(4)
對于每個時刻t的預(yù)測為
(5)
其中權(quán)重矩陣U∈RC×Fω,偏置矩陣c∈Rc。
TCN模型結(jié)構(gòu)可以通過疊加因果卷積層,或者使用更大的空洞因子等方式改變感受野的大小,也可以通過滑動一維卷積核來接收任意長度的輸入,因此時間卷積網(wǎng)絡(luò)模型可以接收更靈活、更長時間的輸入來對結(jié)果進(jìn)行預(yù)測輸出,并且預(yù)測的數(shù)據(jù)只與歷史時刻相關(guān),不會泄露未來信息。
深度收縮殘差網(wǎng)絡(luò)(Deep Residual Shrinkage Network,DRSN)是Zhao Minghang在2019年提出的一種針對殘差網(wǎng)絡(luò)的殘差路徑進(jìn)行收縮的神經(jīng)網(wǎng)絡(luò)[15]。改進(jìn)后的殘差路徑利用絕對運(yùn)算和全局均值池化將特征向量簡化為一維向量,然后傳播到兩層的全連接網(wǎng)絡(luò)中,經(jīng)過全連接網(wǎng)絡(luò)后歸一化到(0,1)之間。
(6)
其中,zc是第c個神經(jīng)元的特征,αc為第c個神經(jīng)元縮放后的參數(shù)。
閾值τc可以表達(dá)為
τc=αc·GAP(|x|)
(7)
其中,τc是特征c的閾值,GAP(|x|)表示特征x經(jīng)過絕對值和全局均值池化后的結(jié)果。
該方式將會保證不同的樣本輸入會根據(jù)自身特征產(chǎn)生相應(yīng)的合適閾值,是一種特殊的注意力機(jī)制。雖然深度殘差收縮網(wǎng)絡(luò)是用于實現(xiàn)圖像中高故障診斷的準(zhǔn)確性,但深度殘差收縮網(wǎng)絡(luò)所面對的冗余信息幾乎無處不在,因此深度殘差收縮網(wǎng)絡(luò)有著更廣闊的應(yīng)用場景。
理想狀態(tài)下,輸入信息更長可以攜帶有效信息更多,但實際情況中,隨機(jī)的噪聲冗余信息也隨著輸入增多而增多。因此,基于接收更長時間輸入,并且有效減少不同樣本中冗余信息,從而能夠?qū)諝赓|(zhì)量進(jìn)行更精確的預(yù)測考慮,本文首次提出了一種收縮的時間卷積網(wǎng)絡(luò)模型。
改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)在保留空洞因果優(yōu)點的同時,在殘差網(wǎng)絡(luò)中引入深度殘差收縮網(wǎng)絡(luò)的自適應(yīng)產(chǎn)生閾值的注意力和軟閾值化思想,使得網(wǎng)絡(luò)能夠利用絕對運(yùn)算和全局均值池化對每個輸入樣本進(jìn)行計算,以便針對不同的輸入樣本產(chǎn)生一個相應(yīng)的合理閾值,并且基于時間卷積的優(yōu)勢,網(wǎng)絡(luò)能夠保證當(dāng)前信息只與歷史的信息有關(guān),從而達(dá)成在更多輸入情況下,輸入的每個樣本擁有自己獨(dú)特的權(quán)重,有效提高了網(wǎng)絡(luò)模型的預(yù)測能力,且不會存在未來信息的泄露。改進(jìn)后的模型流程如圖2所示。
圖2 時間卷積網(wǎng)絡(luò)結(jié)構(gòu)流程
輸入經(jīng)過一維因果全卷積層,可以保證預(yù)測時刻t+1的數(shù)值只與歷史時刻數(shù)據(jù)有關(guān),這也符合真實預(yù)測情境下,不存在未來時刻輸入的情況。
假設(shè)一維序列輸入X(σ0…σt)∈Rn和卷積核f:{0,…,k-1}→R,則輸入序列Xσ中某個元素σt的輸出為
(8)
其中σt表示輸入序列中的某個元素,即每個輸入樣本中t時刻的數(shù)據(jù),σt-i表示卷積的方向。最終得到總體輸出C(Xσ)。
每個殘差收縮網(wǎng)絡(luò)塊是由多層的殘差收縮網(wǎng)絡(luò)組成。一維因果全卷積的輸出C(Xσ)將作為輸入進(jìn)行網(wǎng)絡(luò)訓(xùn)練。具體的流程如圖3所示。
圖3 殘差收縮網(wǎng)絡(luò)結(jié)構(gòu)
1) 空洞因果卷積模塊??斩匆蜃拥囊肽軌虼_保模型接受更長的輸入。同時,模型感受野大小的變化會比較靈活,可以通過卷積核的大小改變,也可以通過空洞因子的數(shù)量的增加或減少??斩匆蚬矸e將使用上一層t和t-dl時刻的數(shù)據(jù),來預(yù)測當(dāng)前層t時刻的數(shù)據(jù),若t-dl時刻的數(shù)據(jù)在樣本中不存在,則以0替補(bǔ)。其中di為空洞因子,假設(shè)空洞因子di為[d0…dl],則表示每個殘差收縮塊有t個殘差網(wǎng)絡(luò)層。每一層的卷積核大小都相同,設(shè)為F(W)=(W(1),W(2)),F(xiàn)(W)初始值在網(wǎng)絡(luò)由Glorot均勻分布方法初始化。b∈RFω是偏移量,在網(wǎng)絡(luò)中初始值設(shè)為0,f表示一個非線性激活函數(shù),在該網(wǎng)絡(luò)中采用ReLU函數(shù),那么第一個殘差收縮網(wǎng)絡(luò)塊第一層的洞因果卷積結(jié)果如下
(9)
其中C(σt-d1)表示輸入樣本中t-dl時刻經(jīng)過上一層全卷積后的輸出。
(10)
輸入C(Xσ)經(jīng)過空洞因果卷積后,進(jìn)行批歸一化,ReLU激活函數(shù)等路徑操作,并重復(fù)空洞因果卷積-批歸一化-ReLU操作,得到空洞卷積模塊的輸出R(Xσ)(j,l),簡寫為R(j,l)。
2) 殘差收縮路徑。在收縮路徑中,R(j,l)進(jìn)入到收縮子網(wǎng)絡(luò)中,網(wǎng)絡(luò)對R(j,l)求絕對值,并經(jīng)過全局均值池化(Global Average Pooling,GAP)處理后,可以獲得一個該樣本輸入的特征值,記為A(j,l)。A(j,l)被輸入到一個小型的全連接網(wǎng)絡(luò)中,以Sigmoid函數(shù)為最后一層,將輸出歸一化到0-1之間,獲得一個系數(shù),記為α(j,l)。則輸入樣本的閾值表示為α(j,l)×A(j,l)。再經(jīng)過軟閾值化處理,軟閾值化的數(shù)學(xué)表達(dá)如下所示
(11)
在當(dāng)前網(wǎng)絡(luò)中,τ=α(j,l)×A(j,l)。通過該軟閾值化思想,網(wǎng)絡(luò)可以將與當(dāng)前輸入樣本任務(wù)無關(guān)的特征,置為0;將有關(guān)的特征,保留下來。
3)跳躍連接。殘差網(wǎng)絡(luò)中的跳躍連接是為了能夠保證網(wǎng)絡(luò)性能不會因為反向傳播的梯度問題而退化。跳躍連接的表達(dá)式如下
S(j,l)=S(j,l-1)+V(j,l)+e
(12)
其中,(j,l)表示經(jīng)過殘差收縮網(wǎng)絡(luò)的預(yù)輸出。
第一層的殘差收縮網(wǎng)絡(luò)輸出表示為
S(1,1)=C(Xσ)+V(1,1)+e
(13)
4) 殘差收縮網(wǎng)絡(luò)塊的堆疊。在深度學(xué)習(xí)過程中,隨著網(wǎng)絡(luò)深度的增加往往會得到更好的結(jié)果??梢詫埐钍湛s網(wǎng)絡(luò)塊數(shù)量設(shè)為j,則網(wǎng)絡(luò)將會在重復(fù)改進(jìn)的堆疊殘差收縮網(wǎng)絡(luò)塊的步驟(1)-(3),最終得到堆疊殘差塊的輸出(j,l)。
全連接層將之前網(wǎng)絡(luò)所提取的特征做卷積操作,輸出映射為t+1時刻的預(yù)測值。
Y=g(JS(j,l)+c)
(14)
其中,g表示激活函數(shù)Linear,J,c表示一組權(quán)重與偏移量。
當(dāng)需要預(yù)測時刻t+2的空氣質(zhì)量數(shù)據(jù)時候,將時刻t+1數(shù)據(jù)順接在原始空氣質(zhì)量時間序列Xσ的末位之后并將其作為原始時間序列,重復(fù)網(wǎng)絡(luò)流程,即得時刻t+2的預(yù)測數(shù)據(jù);后續(xù)時刻點的預(yù)測數(shù)據(jù)參照此過程,依次獲得。
為了驗證時間卷積網(wǎng)絡(luò)的改進(jìn)模型算法在空氣質(zhì)量預(yù)測中的有效性,采取2016年北京東四站點每小時的數(shù)據(jù)集作為實驗數(shù)據(jù)。實驗數(shù)據(jù)共8784條,選擇前九個月數(shù)據(jù)作為訓(xùn)練集,后三個月作為測試集。即訓(xùn)練集數(shù)據(jù)為6576條,測試集數(shù)據(jù)為2208條。數(shù)據(jù)集的相關(guān)屬性包括PM2.5,PM10,SO2,NO2,O3,CO,溫度,露點溫度,氣壓,風(fēng)速10個屬性,時間維度上選擇以過去六小時數(shù)據(jù)預(yù)測未來一小時的空氣質(zhì)量。
同時,結(jié)合經(jīng)驗與多次試驗設(shè)置單步空氣質(zhì)量預(yù)測的相關(guān)參數(shù),STCN模型的超參數(shù)與TCN超參數(shù)設(shè)置相同,將堆疊殘差收縮模塊個數(shù)設(shè)置為2,卷積核個數(shù)設(shè)置為16,擴(kuò)張因子取[1,2,4,8],激活函數(shù)采用非線性激活函數(shù)ReLu,迭代次數(shù)選擇為100次。
實驗將改進(jìn)的TCN模型與LSTM、Bi-LSTM、BP、WaveNet四個經(jīng)典的時間序列預(yù)測的算法以及標(biāo)準(zhǔn)的TCN模型進(jìn)行了對比。采用平均絕對誤差(MAE)、平均絕對值百分比誤差(MAPE)、平均均方誤差(MSE)、均方根誤差(RMSE)、和決定系數(shù)(R2)來對預(yù)測結(jié)果進(jìn)行評價,評價指標(biāo)表達(dá)式如下
(15)
(16)
(17)
(18)
(19)
STCN預(yù)測結(jié)果如圖4所示,從圖中可以看出預(yù)測曲線十分逼近真實曲線。從表1的評價指標(biāo)結(jié)果可以看出,STCN預(yù)測的空氣質(zhì)量結(jié)果擬合度可達(dá)97.96%,且各項誤差值較小,從而說明STCN在空氣質(zhì)量預(yù)測上具有良好的表現(xiàn)。
表1 STCN評價指標(biāo)結(jié)果
為了進(jìn)一步驗證本文所提模型的預(yù)測性能,將該模型與改進(jìn)前的TCN模型、LSTM模型、Bi-LSTM模型、BP模型以及WaveNet模型進(jìn)行對比。
TCN與STCN的預(yù)測結(jié)果對比如圖5所示,從圖中可以看出STCN的擬合度更高。圖6是STCN與LSTM、Bi-LSTM的預(yù)測結(jié)果,更貼合真實數(shù)據(jù)的依次是STCN、Bi-LSTM、LSTM。圖7是TCN與WaveNet、BP算法的預(yù)測結(jié)果。從圖中可以看出相較于其它算法,WaveNet和BP算法產(chǎn)生的數(shù)據(jù)較為波動,預(yù)測性能較差。不同模型在各評價指標(biāo)上的結(jié)果如表2所示,TCN與Bi-LSTM性能次于STCN,但都優(yōu)于標(biāo)準(zhǔn)的LSTM模型,同時LSTM模型的表現(xiàn)也優(yōu)于BP與WaveNet模型。其中WaveNet模型由于前期數(shù)據(jù)擬合好,而后期數(shù)據(jù)震蕩過大,所以MAE與MAPE的誤差相較于其它模型而言較小,而RMSE與MSE誤差比其它模型大,并且整體擬合度也較差。
圖5 STCN與TCN的預(yù)測結(jié)果
圖6 STCN與LSTM、Bi-LSTM的預(yù)測結(jié)果
表2 算法模型評價指標(biāo)對比
圖7 TCN與WaveNet、BP算法的預(yù)測結(jié)果
為了說明模型能夠隨著輸入的增多,能夠有效保留各個樣本中的有效信息,消除冗余信息影響,實驗在輸入上分別選擇時間維度為1h,3h,6h的歷史數(shù)據(jù)來作為對比實驗?zāi)P汀?/p>
隨著輸入數(shù)據(jù)維度的增多,冗余信息也有所增加。由表3數(shù)據(jù)可以看到,各個算法模型在評價指標(biāo)上的具體數(shù)值。為了更加直觀的表示,使用折線圖的形式表現(xiàn)各個算法評價指標(biāo)隨時間維度的變化所呈現(xiàn)的趨勢。其中圖8表示決定系數(shù),該指標(biāo)數(shù)值越大表示擬合度越好。STCN在該指標(biāo)上始終保持最高值,且趨于平穩(wěn)。而其它算法隨著預(yù)測時間的增加,輸入數(shù)據(jù)的增多,指標(biāo)呈現(xiàn)出不同程度的下降,其中WaveNet下降最快。標(biāo)準(zhǔn)的TCN雖也有所下降,但整體僅次于改進(jìn)后的TCN模型。圖9表示均方根誤差,圖10表示平均絕對誤差。這兩個指標(biāo)越小表示預(yù)測數(shù)據(jù)與實際數(shù)據(jù)的誤差越小。通過圖8-10的分析可以看到,各個模型的誤差都有不同程度的上升,Bi-LSTM和WaveNet存在平均絕對誤差下降的情況是因為前期擬合度好,而后期數(shù)據(jù)震蕩明顯,其算法的擬合度和均方根誤差整體比較表現(xiàn)依舊較差,包括TCN,雖然相較于其它的模型而言,誤差小,但相對于自身而言,也產(chǎn)生了一定的波動,預(yù)測性能下降。而STCN模型隨著輸入數(shù)據(jù)的增加,誤差沒有明顯波動,甚至在數(shù)據(jù)增多的時候,由于能夠?qū)W習(xí)更多的有效信息,預(yù)測性能有所提升。通過以上結(jié)果分析,STCN在三個時刻,誤差均保持最低值,擬合度始終保持最高值,精確率維持在97%以上,表現(xiàn)出了更好的預(yù)測性能,也說明STCN模型能夠從更長的模型中保留有用的信息從而保持較高的預(yù)測性能。
表3 各時間維度下實驗結(jié)果對比
圖8 三個時間維度下的決定系數(shù)
圖9 三個時間維度下的均方根誤差
圖10 三個時間維度下的平均絕對誤差
為了提高空氣質(zhì)量預(yù)測的準(zhǔn)確率,本文充分利用了時間卷積網(wǎng)絡(luò)的記錄較長歷史信息輸入的優(yōu)點和自適應(yīng)閾值的思想,提出了收縮的時間卷積網(wǎng)絡(luò)的算法。該算法根據(jù)各個樣本中的冗余信息含量不同,使網(wǎng)絡(luò)注意力更加集中在重要的輸入信息上,提高了空氣質(zhì)量預(yù)測的準(zhǔn)確率。
本文提出的收縮的時間卷積網(wǎng)絡(luò)算法在不同的空氣質(zhì)量數(shù)據(jù)集上預(yù)測的準(zhǔn)確率不同。對于2016年北京空氣質(zhì)量數(shù)據(jù)集,本文提出的算法平均準(zhǔn)確率達(dá)到97.7%,綜合效果優(yōu)于BP、LSTM和標(biāo)準(zhǔn)TCN算法。
綜上所述本文將時間卷積網(wǎng)絡(luò)算法和自適應(yīng)閾值的思想相結(jié)合的方法運(yùn)用到了空氣質(zhì)量預(yù)測中,取得了較為理想的效果,為今后空氣質(zhì)量預(yù)測提供了新的思路。