衛(wèi)曉旭,王曉凱,朱 濤,龔 真
(山西大學(xué)物理電子工程學(xué)院,山西 太原030006)
近年來,大氣污染日益嚴(yán)重,全國環(huán)境空氣質(zhì)量相對(duì)較差的20個(gè)城市中,其中山西省占三個(gè)。為更好的解決多變量非線性時(shí)間序列的不確定性、不穩(wěn)定性和復(fù)雜性問題,利用深度學(xué)習(xí),可以提前預(yù)測(cè)污染物濃度,提供準(zhǔn)確的防治對(duì)策并及時(shí)控制大氣污染,修補(bǔ)工業(yè)生產(chǎn)中問題環(huán)節(jié),創(chuàng)造出彈性、可塑性、可再生功能的綠色的人工自然系統(tǒng)。
20世紀(jì)40年代以來,人們?cè)谄椒€(wěn)隨機(jī)過程中廣泛使用預(yù)測(cè)方法是自回歸模型(Auto Regressive, AR)、滑動(dòng)平均模型(Moving Average, MA)和混合模型。對(duì)非線性數(shù)據(jù),運(yùn)用支持向量機(jī)(Support Vector Machine,SVM)可以看作是單隱含層網(wǎng)絡(luò),比BP具有較強(qiáng)的逼近能力和泛化能力,但是SVM算法對(duì)大規(guī)模訓(xùn)練樣本難以實(shí)施,分類問題存在困難。深度學(xué)習(xí)可以對(duì)大規(guī)模數(shù)據(jù)進(jìn)行整合。常用的深度網(wǎng)絡(luò)有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network, RNN)。目前,在RNN優(yōu)化中被廣泛接受的變體為長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM),自此基礎(chǔ)上,雙向長短期記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BILSTM)考慮上下數(shù)據(jù)信息,更好的捕捉雙向的數(shù)據(jù)特征依賴。但是,CNN和RNN二者分別針對(duì)完全不同的問題做了優(yōu)化,其任一功能存在單一性,存在數(shù)據(jù)特征提取不完全,參數(shù)權(quán)值不匹配等問題。
學(xué)者們通過對(duì)分解后的子序列進(jìn)行分析可以提取出時(shí)序的特征,例如,STL在衛(wèi)生醫(yī)療應(yīng)用有STL-ADABOOST-ESN組合模型[1]對(duì)HIV月病發(fā)數(shù)進(jìn)行預(yù)測(cè)。文獻(xiàn)[2]針對(duì)單一模型無法實(shí)現(xiàn)準(zhǔn)確的電力能耗預(yù)測(cè)的問題,通過引入STL時(shí)間序列分解并采用支持向量回歸算法實(shí)現(xiàn)了電力能耗數(shù)據(jù)的準(zhǔn)確預(yù)測(cè)。EMD是一種新的處理非平機(jī)穩(wěn)信號(hào)的方法。文獻(xiàn)[3]提出了EMD+SVM組合模型對(duì)風(fēng)力進(jìn)行了短期預(yù)測(cè)。文獻(xiàn)[4]提出了一種基于經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)算法和深度學(xué)習(xí)相結(jié)合的集成方法。
近年來,國內(nèi)外學(xué)者運(yùn)用多種先進(jìn)的多變量預(yù)測(cè)方法,例如,文獻(xiàn)[5]基于多元回歸分析方法,依據(jù)可能影響涌水量的主要影響因子,得到非線性預(yù)測(cè)公式對(duì)涌水量進(jìn)行預(yù)測(cè)研究。文獻(xiàn)[6]為了提高隧道火災(zāi)感溫探測(cè)器溫度預(yù)測(cè)的精度,建立隧道火災(zāi)溫度分布多元回歸預(yù)測(cè)模型。文獻(xiàn)[7]利用時(shí)間序列和線性回歸2種統(tǒng)計(jì)方法進(jìn)行自適應(yīng)預(yù)測(cè)。文獻(xiàn)[8]將主成分分析法與定性分析和定量分析結(jié)合,建立基于多元分析優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)短期太陽能輻射量。
為克服目前單一的非平穩(wěn)預(yù)測(cè)算法難以充分捕捉時(shí)序的復(fù)雜關(guān)聯(lián)特性,本文提出基于多元分解分析的大氣污染深度學(xué)習(xí)預(yù)測(cè)方法。首先,確定主要預(yù)測(cè)變量,并對(duì)主變量進(jìn)行STL分解得到3個(gè)分變量;其次,通過皮爾遜相關(guān)系數(shù)得出與主變量較為相關(guān)的幾個(gè)相關(guān)變量;最后,對(duì)3個(gè)分變量和其余相關(guān)變量進(jìn)行CNN+BiLSTM混合網(wǎng)絡(luò)預(yù)測(cè)并融合得到主變量預(yù)測(cè)值。此模型充分提取復(fù)雜分平穩(wěn)時(shí)序數(shù)據(jù)的特征,且可考慮多重影響因素,加之深度學(xué)習(xí)網(wǎng)絡(luò),可實(shí)現(xiàn)自動(dòng)化的可靠預(yù)測(cè)。
在本節(jié)中,首先建立一個(gè)模型框架來解釋預(yù)測(cè)過程。然后介紹了該算法的核心關(guān)鍵部分,包括相關(guān)分析、時(shí)間序列數(shù)據(jù)分解和循環(huán)神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的預(yù)測(cè)模型結(jié)構(gòu)。在現(xiàn)存的比較成功的時(shí)序預(yù)測(cè)網(wǎng)絡(luò)模型的基礎(chǔ)上進(jìn)行改進(jìn),以提高對(duì)非平穩(wěn)多元時(shí)序數(shù)據(jù)的預(yù)測(cè)精度。
模型框架如圖1所示??梢钥闯觯麄€(gè)模型主要由4部分組成:輸入變量、分解主變量、選擇相關(guān)變量、模型預(yù)測(cè)。輸入變量包括1個(gè)主變量及n個(gè)其它變量,分解主變量主要是對(duì)主變量進(jìn)行STL分解得到3個(gè)主分量,STL可以將原始時(shí)間序列數(shù)據(jù)分解為三個(gè)子序列,它們具有不同的規(guī)律性,即趨勢(shì)性、季節(jié)性和殘差性。選擇相關(guān)變量是通過皮爾遜系數(shù)挑選出n個(gè)相關(guān)度較高的變量,相關(guān)系數(shù)是反映變量之間相關(guān)關(guān)系的一種統(tǒng)計(jì)指標(biāo),這部分可以去除和主變量相關(guān)度不高的變量,減少模型的計(jì)算量,提高預(yù)測(cè)精度;最后,3個(gè)主分量和其余N個(gè)相關(guān)向量經(jīng)過CNN+BiLSTM混合網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)得到主變量預(yù)測(cè)值。
圖1 模型框架
由于SO2濃度受多種因素的共同作用,其在大氣中具有復(fù)雜性、隨機(jī)性、可變性和不確定性,為了減少計(jì)算量,提取相關(guān)度較高的相關(guān)變量,提高預(yù)測(cè)精確度,本文選取相關(guān)變量時(shí)利用皮爾遜相關(guān)系數(shù),得到影響其含量最為相關(guān)的變量。
皮爾遜相關(guān)系數(shù)廣泛用于度量?jī)蓚€(gè)變量之間的相關(guān)程度。其實(shí)就是兩個(gè)變量的協(xié)方差除以兩個(gè)變量的標(biāo)準(zhǔn)差,其值介于-1與1之間。最常用的公式如下
(1)
如果有兩個(gè)變量:X、Y,最終計(jì)算出的相關(guān)系數(shù)的含義可以有如下理解:
1) 當(dāng)相關(guān)系數(shù)為0時(shí),X和Y兩變量無關(guān)系。
2) 當(dāng)X的值增大(減小),Y值增大(減小),兩個(gè)變量為正相關(guān),相關(guān)系數(shù)在0.00與1.00之間。
3)當(dāng)X的值增大(減小),Y值減小(增大),兩個(gè)變量為負(fù)相關(guān),相關(guān)系數(shù)在-1.00與0.00之間。
通過對(duì)大氣中CO、PM2.5、NO、濕度、溫度等進(jìn)行相關(guān)系數(shù)對(duì)比得出,皮爾遜相關(guān)系數(shù)正相關(guān)的兩大因素,即對(duì)其濃度影響最大的外部因素CO、PM2.5。同時(shí),對(duì)附近監(jiān)測(cè)站點(diǎn)的SO2的也進(jìn)行了相關(guān)系數(shù)對(duì)比,選擇三個(gè)最相關(guān)站點(diǎn)的SO2作為相關(guān)變量。
STL是以魯棒局部加權(quán)回歸作為平滑方法的時(shí)間序列分解方法。STL由兩個(gè)循環(huán)機(jī)制組成,分為內(nèi)循環(huán)與外循環(huán),把時(shí)間序列分解為三個(gè)部分:趨勢(shì)分量, 周期分量和殘余分量,如式(2),其中,為趨勢(shì)分量,St為季節(jié)分量,Rt為殘余分量。
Yt=Tt+St+Rtt=1,2,…,N
(2)
本文中應(yīng)用了CNN與BiLSTM結(jié)合的混合網(wǎng)網(wǎng)絡(luò),結(jié)構(gòu)如圖2所示。
圖2 CNN+BiLST模型結(jié)構(gòu)圖
(3)
(4)
(5)
雖然Bi-LSTM需要訓(xùn)練更多的代來收斂到穩(wěn)定性,但是輸出是同時(shí)考慮了前后的因素得到的,因此更具有魯棒性。同時(shí)也有更高的精度,因?yàn)樗玫搅烁嗟妮斎胄畔ⅲ?為神經(jīng)網(wǎng)絡(luò)提供的上下文全局特征,更快而且更充分地學(xué)習(xí)訓(xùn)練。因此,選擇Bi-LSTM作為預(yù)測(cè)模型。
CNN-BiLSTM的方法可以通過CNN自動(dòng)提取空間特征,考慮不同變量之間的水平信息提高準(zhǔn)確性,又可以通過BiLSTM提取時(shí)序特征,學(xué)習(xí)CNN獲得的特征的更多輸入時(shí)序特征,并以此為基礎(chǔ)進(jìn)行預(yù)測(cè)融合,使得在多維時(shí)間序列變量的水平和垂直維度上都可以提取特征。
實(shí)驗(yàn)數(shù)據(jù)來源于空氣檢測(cè)中心提供的大氣檢測(cè)數(shù)據(jù),包括PM10、PM2.5、SO2、NO2、CO、臭氧、溫度、濕度等物理量。利用所提出的多元預(yù)測(cè)模型來預(yù)測(cè)二氧化硫。這些氣象數(shù)據(jù)包含9個(gè)監(jiān)測(cè)站,每個(gè)監(jiān)測(cè)站每小時(shí)測(cè)量一次,將每5個(gè)月的數(shù)據(jù)分為一段,一共設(shè)置三段數(shù)據(jù),每段數(shù)據(jù)有3650個(gè)數(shù)據(jù)點(diǎn)。
本文設(shè)置三個(gè)實(shí)驗(yàn),驗(yàn)證了該模型的預(yù)測(cè)性能。
實(shí)驗(yàn)1:選定預(yù)測(cè)站點(diǎn)的SO2數(shù)據(jù)為主變量,通過皮爾遜系數(shù)選出幾條和主變量相關(guān)性特別高的幾個(gè)氣象要素和幾個(gè)其它站點(diǎn)的SO2數(shù)據(jù),將主變量進(jìn)行STL分解,連同通過皮爾遜系數(shù)選出來的相關(guān)變量一同輸入到CNN-BiLSTM中,來預(yù)測(cè)主變量。接著用LSTM、GRU、BP、ARIMA來預(yù)測(cè)主變量,觀察多元預(yù)測(cè)方法和傳統(tǒng)預(yù)測(cè)方法的優(yōu)劣,通過3段數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
實(shí)驗(yàn)2:在實(shí)驗(yàn)1多元預(yù)測(cè)的基礎(chǔ)上,把STL分解去掉,直接輸入主變量和相關(guān)變量,其余部分不變,和實(shí)驗(yàn)1多元預(yù)測(cè)進(jìn)行對(duì)比。
實(shí)驗(yàn)3:在實(shí)驗(yàn)1多元預(yù)測(cè)的基礎(chǔ)上,把其它站點(diǎn)的SO2數(shù)據(jù)去掉,輸入其余變量,和實(shí)驗(yàn)1多元預(yù)測(cè)進(jìn)行對(duì)比。
(6)
3.2.1 實(shí)驗(yàn)1
預(yù)測(cè)站點(diǎn)的SO2預(yù)測(cè)結(jié)果如圖3、4、5所示,棕色曲線代表真實(shí)數(shù)據(jù),藍(lán)色曲線代表多元預(yù)測(cè)結(jié)果,橘黃色、綠色、紅色、紫色分別代表LSTM、GRU、BP、ARIMA模型的預(yù)測(cè)結(jié)果。
圖3 數(shù)據(jù)1多元預(yù)測(cè)結(jié)果和傳統(tǒng)預(yù)測(cè)方法對(duì)比
圖4 數(shù)據(jù)2多元預(yù)測(cè)結(jié)果和傳統(tǒng)預(yù)測(cè)方法對(duì)比
圖5 數(shù)據(jù)3多元預(yù)測(cè)結(jié)果和傳統(tǒng)預(yù)測(cè)方法對(duì)比
從圖中可以看出多元預(yù)測(cè)結(jié)果的曲線與真實(shí)數(shù)據(jù)的曲線更加吻合,從圖4可以看出,雖然數(shù)據(jù)的復(fù)雜度較高,但是多元預(yù)測(cè)模型相比其它傳統(tǒng)模型預(yù)測(cè)效果要好,特別是在數(shù)據(jù)復(fù)雜度小的時(shí)間段,多元預(yù)測(cè)方法的預(yù)測(cè)性能尤為顯著。但是在峰值較高的區(qū)間內(nèi),多元預(yù)測(cè)方法的預(yù)測(cè)結(jié)果要稍微遜色一些。表1表示多元預(yù)測(cè)方法和傳統(tǒng)預(yù)測(cè)方法的RMSE對(duì)比,從表中可以看出,在總體預(yù)測(cè)性能上,多元預(yù)測(cè)方法要比其余傳統(tǒng)模型預(yù)測(cè)方法的誤差要小。GRU模型在傳統(tǒng)預(yù)測(cè)模型中已經(jīng)算是性能很好的模型,在預(yù)測(cè)數(shù)據(jù)1時(shí),RMSE達(dá)到了4.71,但是在使用多元預(yù)測(cè)模型預(yù)測(cè)數(shù)據(jù)1時(shí)竟達(dá)到了6.38,在預(yù)測(cè)數(shù)據(jù)1和數(shù)據(jù)2時(shí),更是比其它傳統(tǒng)模型的預(yù)測(cè)結(jié)果的RMSE要低。
表1 多元預(yù)測(cè)和傳統(tǒng)預(yù)測(cè)方法的RMSE對(duì)比
3.2.2 實(shí)驗(yàn)2
將多元預(yù)測(cè)方法中的STL分解去掉后,再來預(yù)測(cè)數(shù)據(jù)1和數(shù)據(jù)2。兩個(gè)模型的預(yù)測(cè)結(jié)果如圖6、7所示,藍(lán)色曲線表示真實(shí)數(shù)據(jù),黃色曲線表示去掉STL分解后模型的預(yù)測(cè)結(jié)果,綠色表示未經(jīng)調(diào)整的多元預(yù)測(cè)方法預(yù)測(cè)結(jié)果。
圖6 數(shù)據(jù)1多元預(yù)測(cè)方法與去掉STL分解的多元預(yù)測(cè)方法的預(yù)測(cè)結(jié)果比較
圖7 數(shù)據(jù)2多元預(yù)測(cè)方法與去掉STL分解的多元預(yù)測(cè)方法的預(yù)測(cè)結(jié)果比較
從圖中可以明顯看出,去掉STL分解后模型的預(yù)測(cè)結(jié)果與真實(shí)數(shù)據(jù)吻合度比較差,特別在峰值特別高和復(fù)雜度比較高的區(qū)間內(nèi),對(duì)比度特別明顯。說明在加入STL分解方法后,數(shù)據(jù)的噪聲得到了降低,多元預(yù)測(cè)模型的性能得到了改善。多元預(yù)測(cè)方法與去掉STL分解的多元預(yù)測(cè)方法的RMSE情況如表2所示,從表中可以看出,在預(yù)測(cè)數(shù)據(jù)1時(shí),多元預(yù)測(cè)模型的RMSE為3.59,去掉STL的多元預(yù)測(cè)模型的RMSE為6.05,文中的模型相對(duì)于去掉STL的模型預(yù)測(cè)性能提高了37.8%。在預(yù)測(cè)數(shù)據(jù)2時(shí),多元預(yù)測(cè)模型的RMSE為7.38,去掉STL的多元預(yù)測(cè)模型的RMSE為10.79,文中的模型相對(duì)于去掉STL的模型預(yù)測(cè)性能提高了31.6%。通過分析發(fā)現(xiàn),去掉STL分解后的模型預(yù)測(cè)性能明顯比未經(jīng)調(diào)整的模型差。
表2 多元預(yù)測(cè)方法與去掉STL分解的多元預(yù)測(cè)方法的RMSE比較
數(shù)據(jù)多元多元(去掉STL)數(shù)據(jù)13.596.05數(shù)據(jù)27.3810.79
3.2.3 實(shí)驗(yàn)3
將輸入的變量中,去掉相關(guān)站點(diǎn)的SO2變量,再預(yù)測(cè)數(shù)據(jù)1和數(shù)據(jù)2,預(yù)測(cè)結(jié)果與元模型進(jìn)行對(duì)比,如圖8、9所示,圖中藍(lán)色曲線代表真實(shí)數(shù)據(jù),黃色曲線代表原模型未經(jīng)調(diào)整的預(yù)測(cè)結(jié)果,綠色曲線代表輸入變量去掉相關(guān)站點(diǎn)的SO2數(shù)據(jù)時(shí)模型的預(yù)測(cè)結(jié)果。
圖8 數(shù)據(jù)1多元預(yù)測(cè)方法與輸入變量去掉相關(guān)變量的多元預(yù)測(cè)方法的預(yù)測(cè)結(jié)果比較
圖9 數(shù)據(jù)2多元預(yù)測(cè)方法與輸入變量去掉相關(guān)變量的多元預(yù)測(cè)方法的預(yù)測(cè)結(jié)果比較
從圖中可以明顯的看出,輸入變量去掉相關(guān)站點(diǎn)的SO2數(shù)據(jù)時(shí),預(yù)測(cè)結(jié)果效果不佳,說明其余站點(diǎn)的SO2變量與預(yù)測(cè)站點(diǎn)的SO2數(shù)據(jù)是有一定的聯(lián)系的,去掉后,模型預(yù)測(cè)性能大打折扣。多元預(yù)測(cè)方法與輸入變量去掉相關(guān)變量的多元預(yù)測(cè)方法的RMSE如表3所示,從表中可以明顯看出,在預(yù)測(cè)數(shù)據(jù)1時(shí),多元預(yù)測(cè)模型的RMSE為3.34,減少相關(guān)變量的多元預(yù)測(cè)模型的RMSE為4.72,文中的模型相對(duì)于減少相關(guān)變量的模型預(yù)測(cè)性能提高了29.2%。在預(yù)測(cè)數(shù)據(jù)2時(shí),多元預(yù)測(cè)模型的RMSE為7.00,減少相關(guān)變量的多元預(yù)測(cè)模型的RMSE為8.55,文中的模型相對(duì)于減少相關(guān)變量的模型預(yù)測(cè)性能提高了18.1%。通過分析預(yù)測(cè)結(jié)果發(fā)現(xiàn),輸入變量去掉相關(guān)變量的多元預(yù)測(cè)方法的RMSE明顯升高。
表3 多元預(yù)測(cè)方法與去掉相關(guān)變量的多元預(yù)測(cè)方法的RMSE比較
實(shí)際從檢測(cè)站點(diǎn)收集到的數(shù)據(jù)是多維的、復(fù)雜性高的、非線性的、嘈雜噪聲的。所以,在進(jìn)行數(shù)據(jù)預(yù)測(cè)時(shí),通過皮爾遜系數(shù)分析多維數(shù)據(jù)之間的相關(guān)性對(duì)主變量的預(yù)測(cè)顯得尤為重要,通過皮爾遜系數(shù)拋棄掉相關(guān)性不強(qiáng)的變量,大大縮短了網(wǎng)絡(luò)學(xué)習(xí)的時(shí)間。通過STL分解將數(shù)據(jù)分解為周期分量、趨勢(shì)分量和殘差分量,有利于深度學(xué)習(xí)網(wǎng)絡(luò)更有效的學(xué)習(xí)顯著的特征。
觀察實(shí)驗(yàn)1和實(shí)驗(yàn)3的結(jié)果可以看出,本文提出的多元預(yù)測(cè)方法的預(yù)測(cè)結(jié)果比傳統(tǒng)網(wǎng)絡(luò)預(yù)測(cè)和去掉相關(guān)變量的多元預(yù)測(cè)的效果要好很多,通過皮爾遜系數(shù)篩選出來的相關(guān)變量,減少了數(shù)據(jù)的緯度,減少了計(jì)算所帶來的負(fù)擔(dān)。
觀察實(shí)驗(yàn)2的結(jié)果可以看出,對(duì)主變量進(jìn)行STL分解后,再連同其余相關(guān)變量輸入到CNN-BiLSTM比不進(jìn)行STL分解輸入到CNN-BiLSTM的效果要好很多,對(duì)于深度網(wǎng)絡(luò),網(wǎng)絡(luò)訓(xùn)練受輸入數(shù)據(jù)的影響很大。在提取特征時(shí),適當(dāng)?shù)臄?shù)據(jù)分解通常提供更簡(jiǎn)單的特征,有助于網(wǎng)絡(luò)的訓(xùn)練。
通過實(shí)驗(yàn),多元預(yù)測(cè)也存在一定的缺陷和不足,在輸入數(shù)據(jù)維度過大時(shí),誤差反而降不下來,但是在大多數(shù)情況下,多元預(yù)測(cè)方法的性能比較突出,未來可以實(shí)現(xiàn)關(guān)聯(lián)變量的動(dòng)態(tài)分析,從而改善多元預(yù)測(cè)的性能。