王瑋 王文發(fā) 張哲
摘 要:文章首先針對延安市市監(jiān)測站單站點觀測數(shù)據(jù)與PM2.5的關(guān)系,從中抽取了影響PM2.5較為明顯的14組特征數(shù)據(jù)。依據(jù)所抽取的數(shù)據(jù),利用LSTM深度神經(jīng)網(wǎng)絡(luò)的一種變體GRU建立了未來數(shù)小時的PM2.5濃度預(yù)測模型,通過仿真實驗,該模型對PM2.5預(yù)測有較高的一致性,可以較好地滿足日常預(yù)測業(yè)務(wù)需求。
關(guān)鍵詞:PM2.5濃度預(yù)測;LSTM;GRU;機(jī)器學(xué)習(xí);循環(huán)神經(jīng)網(wǎng)絡(luò)
近年來,我國很多地方出現(xiàn)了嚴(yán)重霧霾天氣,影響著人們生活的各個方面,最嚴(yán)重的危害還是對人體健康的危害。PM2.5作為城市環(huán)境質(zhì)量惡化的主要污染物之一,越來越受到民眾的關(guān)注,因此,及時準(zhǔn)確地預(yù)測PM2.5濃度,是當(dāng)前環(huán)境質(zhì)量研究領(lǐng)域的熱點問題之一。本文以長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的一種變體,門控循環(huán)單元(Gated Recurrent Unit,GRU),作為循環(huán)層來建立模型,預(yù)測PM2.5濃度。
1 數(shù)據(jù)分析
1.1 準(zhǔn)備數(shù)據(jù)
在本文中,將使用一個PM2.5濃度時間序列數(shù)據(jù)集,它是由陜西省延安市市監(jiān)測站(1928A,(109.4824,36.5767))記錄的2016年9月到2018年9月的空氣質(zhì)量監(jiān)測逐時數(shù)據(jù)。數(shù)據(jù)內(nèi)容包括PM2.5,SO2,NO2,CO,O3和PM10 6種污染物的當(dāng)前數(shù)值以及這些污染物在不同時間長度的滑動平均值,共16 965條數(shù)據(jù)。
1.2 特征分析
圖1是PM2.5與其他5種空氣污染物(SO2、NO2、CO、O3和PM10)之間的相關(guān)關(guān)系散點圖,使用最小二乘法對數(shù)據(jù)進(jìn)行直線擬合。由圖可以看出PM2.5濃度與O3呈負(fù)相關(guān),與其他4種污染物均呈正相關(guān)。
為了考量各特征之間的相關(guān)程度,我們計算皮爾森相關(guān)系數(shù),相關(guān)系數(shù)越接近1或﹣1,相關(guān)度越強(qiáng),相關(guān)系數(shù)越接近0,相關(guān)度越弱,計算公式如下:
其中:Var(X)是X的方差,Var(Y)是Y的方差,Cov(X,Y)是X和Y的協(xié)方差。PM2.5濃度與其他所有特征之間的皮爾森相關(guān)系數(shù)如表1所示,可以看出,PM2.5濃度與其他特征之間都有一定的相關(guān)性,其中PM2.5與CO相關(guān)性最強(qiáng),與O3_8_24相關(guān)性最弱。
經(jīng)過上述分析,可以得到PM2.5濃度變化是在多種因素綜合影響下的結(jié)果,因此,我們使用上述14種特征數(shù)據(jù)建立未來數(shù)小時PM2.5濃度預(yù)測模型。
2 基于GRU的PM2.5濃度預(yù)測模型
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一類目前常用來處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),它將過去的數(shù)據(jù)與未來的數(shù)據(jù)聯(lián)系起來,更適用于時間序列分析[1]。但是RNN會遇到一個很大的問題,叫做梯度消失問題(Vanishing Gradient Problem),從理論上來說,RNN在某一時間應(yīng)該能記住許多時間步之前的信息,但實際上它是不能形成這種長期依賴的[2]。
由Hochreiter和Schmidhuber[3]在1997年設(shè)計的LSTM算法就是為解決這個問題而開發(fā)的。LSTM在時間序列上有著強(qiáng)大的預(yù)測能力,如語音識別[4-5]、自動樂曲譜寫[6]和自然語言學(xué)習(xí)[7]等,且在空氣質(zhì)量研究領(lǐng)域,也有基于LSTM的空氣污染物預(yù)測的先例[8-9]。它通過增加一個用來保存過去信息的Cell以便后面使用,從而防止較早的信號在處理過程中逐漸消失,并通過精心設(shè)計的一種“門”(gate)結(jié)構(gòu)來實現(xiàn)遺忘或記憶功能,一個LSTM單元有這樣的3個門,分別是遺忘門(forget gate)、輸入門(input gate)和輸出門(output gate)[10]。
2.1 門控循環(huán)單元
LSTM相比RNN具備了長期記憶功能,可控記憶能力,但是網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,擁有多個門,對效率有所影響,為此,Chung等[11]在2014年開發(fā)了GRU。GRU是LSTM的一種變體,與LSTM相比,GRU只有兩個門且沒有細(xì)胞狀態(tài),簡化了LSTM的結(jié)構(gòu),圖2是本文使用的GRU網(wǎng)絡(luò)模型,它將遺忘門和輸入門合成一個單一的更新門(update gate),作用是決定上一時間步隱藏狀態(tài)中有多少信息傳遞到當(dāng)前隱藏狀態(tài)中。GRU中還有一個重置門(reset gate),計算操作與更新門類似,只是權(quán)重矩陣不同,作用是決定上一時間步隱藏狀態(tài)的多少信息是需要遺忘的。同時GRU還混合了細(xì)胞狀態(tài)和隱藏狀態(tài),以及其他一些改動,使得GRU擁有更少的參數(shù),因此,運行的計算代價更低。
在GRU網(wǎng)絡(luò)模型中,xt,ht分別表示t時刻的GRU網(wǎng)絡(luò)的輸入和輸出,其中ht由下列公式迭代計算:
式中,zt,rt分別為更新門和重置門的輸出,Whz,Wxz分別為t-1時刻輸出和t時刻輸入到更新門的權(quán)重矩陣,Whr、Wxz分別為t-1時刻輸出和t時刻輸入到重置門的權(quán)重矩陣,這兩個門的結(jié)果都經(jīng)過一個sigmoid函數(shù),值域為[0,1];,ht分別為候選隱藏狀態(tài)和隱藏狀態(tài),它們分別控制上一時刻隱藏狀態(tài)ht-1有多少信息被遺忘和有多少信息被保存,Whh,Wxh分別為t-1時刻輸出和t時刻輸入到候選隱藏狀態(tài)的權(quán)重矩陣,候選隱藏狀態(tài)的結(jié)果經(jīng)過一個tanh函數(shù);bz,br和bh表示更新門、重置門和候選隱藏狀態(tài)的偏置量。
2.2 PM2.5濃度預(yù)測模型
為了實現(xiàn)PM2.5濃度的預(yù)測,本文設(shè)計了如圖3所示的算法流程,首先將PM2.5濃度數(shù)據(jù)集以7∶2∶1的比例按照時間順序劃分為訓(xùn)練集、驗證集和測試集,然后使用訓(xùn)練集和驗證集來訓(xùn)練GRU網(wǎng)絡(luò)預(yù)測模型,最后使用測試集對訓(xùn)練得到的模型進(jìn)行測試。圖4展示了本文所建立的GRU網(wǎng)絡(luò)預(yù)測模型,該網(wǎng)絡(luò)隱藏層包含了兩個GRU層和一個Dense Layer層。在t時刻,網(wǎng)絡(luò)的輸入為采集的歷史數(shù)據(jù)xt,輸出為未來數(shù)小時的PM2.5濃度預(yù)測值yt。經(jīng)過網(wǎng)絡(luò)隱藏層后可以計算出該時刻隱藏層輸出htD。網(wǎng)絡(luò)的輸出為:
式中,activation()為激活函數(shù),通常使用雙曲正切函數(shù)tanh,Wyh為隱藏層與輸出層之間的權(quán)重矩陣,b為偏置量。在本文中,采用當(dāng)前時刻之前的24小時的歷史數(shù)據(jù)作為GRU網(wǎng)絡(luò)的輸入進(jìn)行模型訓(xùn)練和PM2.5濃度預(yù)測,歷史數(shù)據(jù)經(jīng)過GRU網(wǎng)絡(luò)循環(huán)迭代計算后更新隱藏狀態(tài),進(jìn)而根據(jù)歷史數(shù)據(jù)對未來數(shù)小時的PM2.5濃度實現(xiàn)預(yù)測。
上述GRU網(wǎng)絡(luò)有兩個GRU層,第一個GRU層以歷史數(shù)據(jù)xt為輸入,輸出隱藏狀態(tài)htG1,第二個GRU層以上一個GRU層的輸出htG1作為輸入,輸出為htG2。GRU層輸出與一個全鏈接的稠密層(Dense Layer)相連接,Dense Layer的每一個神經(jīng)元連接到上一層的所有神經(jīng)元輸出,通過Dense Layer,GRU的輸出信息與一個矩陣相乘并增加偏置量后實現(xiàn)預(yù)測數(shù)據(jù)的輸出,計算過程如下:
式中,WD為GRU層與Dense Layer之間的權(quán)重矩陣,htG2為GRU層的輸出,htD為Dense Layer的輸出,b為偏置量。
2.3 模型評價指標(biāo)
本文采用預(yù)測評價指標(biāo)為均方根誤差RMSE、平均絕對誤差MAE和確定系數(shù)R2對預(yù)測結(jié)果進(jìn)行評價,其中RMSE和MAE越小,模型對于真實值擬合的偏差越小,結(jié)果越準(zhǔn)確;確定系數(shù)R2越接近1,代表擬合優(yōu)度越大,模型擬合數(shù)據(jù)能力效果越好,計算表達(dá)式如下:
其中,N為觀測值和預(yù)測值的對比次數(shù),為模型預(yù)測值,yi為觀測值,為觀測值的平均值。
3 仿真實驗
3.1 模型訓(xùn)練
根據(jù)時間順序,選擇數(shù)據(jù)集前11 876條數(shù)據(jù)作為訓(xùn)練集,隨后的3 392條數(shù)據(jù)作為驗證集,剩下的1 696條數(shù)據(jù)作為測試集。由于數(shù)據(jù)中的每個時間序列位于不同范圍,故對每個時間序列分別做標(biāo)準(zhǔn)化,讓它們在相似的范圍內(nèi)都取較小的值,具體方法是,將每個時間序列減去其平均值,然后除以其標(biāo)準(zhǔn)差。在模型訓(xùn)練過程中,損失函數(shù)使用平均絕對誤差(MAE),模型訓(xùn)練過程中采用RMSprop算法進(jìn)行優(yōu)化,模型參數(shù)選擇上包括訓(xùn)練次數(shù)(epoch)、學(xué)習(xí)率(Learning rate)、隱藏層節(jié)點數(shù)(hidden size)和正則化參數(shù)(dropout),本實驗是在Python編程環(huán)境下實現(xiàn)。
首先固定訓(xùn)練次數(shù)epoch=100,進(jìn)行學(xué)習(xí)率和隱藏層節(jié)點數(shù)調(diào)整,將兩層GRU層中的節(jié)點數(shù)以2為間隔從14開始逐步增加到40,學(xué)習(xí)率以0.000 1為間隔從0.000 1開始逐步增加到0.01,通過訓(xùn)練得到最佳隱藏層節(jié)點數(shù)與學(xué)習(xí)率組合為(16,32,0.001)。epoch的大小會對模型的預(yù)測精度和運行效率造成較大影響,較大的epoch導(dǎo)致運行效率低并可能伴隨過擬合現(xiàn)象,較小的epoch會使模型訓(xùn)練不充分出現(xiàn)欠擬合現(xiàn)象。圖5為GRU模型訓(xùn)練過程中l(wèi)oss關(guān)于epoch的變化散點圖,根據(jù)loss變化曲線,選擇epoch=40。為了增加模型的泛化能力消除過擬合,本文使用循環(huán)dropout技術(shù)來降低過擬合,該技術(shù)將dropout應(yīng)用于循環(huán)層內(nèi)部而不是外部,系數(shù)為dropout=0.1。
3.2 仿真實驗與結(jié)果分析
為了檢驗?zāi)P偷念A(yù)測能力,將測試集輸入模型,圖6為模型根據(jù)過去24小時歷史數(shù)據(jù)預(yù)測未來1小時后PM2.5濃度,圖6(a)是測試集上的預(yù)測值和觀測值比較,圖6(b)為預(yù)測值與觀測值的線性擬合結(jié)果,兩者相關(guān)系數(shù)高達(dá)0.98,決定系數(shù)R2為0.96。從圖中可以看出預(yù)測值能較好地擬合觀測值,但存在實際值低的點位,預(yù)測值比較高。
繼續(xù)使用模型分別對未來1 h、2 h、3 h、4 h、5 h和10 h后PM2.5濃度進(jìn)行預(yù)測,結(jié)果如表2所示,可以看到模型的預(yù)測能力在短期預(yù)測有著較高的準(zhǔn)確率,但是隨著預(yù)測時間長度的增加預(yù)測能力持續(xù)降低,特別是當(dāng)預(yù)測時長為10 h時,預(yù)測的準(zhǔn)確率明顯下降,說明模型的長期預(yù)測能力不足。
4 結(jié)語
本文提出的基于GRU深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的PM2.5濃度預(yù)測模型,通過仿真實驗,該模型能夠較好地擬合實際PM2.5濃度,可以滿足日常預(yù)測業(yè)務(wù)需求,驗證了所提方法的有效性,但是隨著預(yù)測時間的增長,模型的預(yù)測能力變差。因此,該模型更適合于短期PM2.5濃度的預(yù)測,對于PM2.5濃度的長期預(yù)測有待進(jìn)一步研究。此外,該模型在訓(xùn)練時只采用了延安市市監(jiān)測站單站點數(shù)據(jù),對于模型在其他環(huán)境下的泛用性有待討論。
[參考文獻(xiàn)]
[1]TSENG V S,WU C W,F(xiàn)OURNIER-VIGER P,et al.Efficient algorithms for mining top-k high utility itemsets[J].IEEE Transactions on Knowledge and Data Engineering,2016(1):54-67.
[2]BENGIO Y,SIMARD P,F(xiàn)RASCONI P.Learning long term dependencies with gradient descent is difficult[J].IEEE Transactions on Neural Networks,1994(2):157-166.
[3]HOCHEREITER S,SCHMIDHUBER J.Long short-term memory [J].Neural Computation,1997(8):1735-1780.
[4]DAHL G E,ACERO A.Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J].IEEE Transactions on Audio Speech & Language Processing,2011(1):30-42.
[5]HINTON G,DENG L,YU D,et al.Deep neural networks for acoustic modeling in speech recognition: the shared views of four research groups[J].IEEE Signal Processing Magazine,2012(6):82-97.
[6]ECK D,SCHMIDHUBER J.Learning the long-term structure of the blues[J].Lecture Notes in Computer Science,2002(2415):284-289.
[7]SUTSKEVER I,VINYALS O,LE Q V.Sequence to sequence learning with neural networks[J].Computer Science,2014(4):3104-3112.
[8]范竣翔,李琦,朱亞杰,等.基于RNN的空氣污染時空預(yù)報模型研究[J].測繪科學(xué),2017(7):76-83,120.
[9]韓偉,吳艷蘭,任福.基于全連接和LSTM神經(jīng)網(wǎng)絡(luò)的空氣污染物預(yù)測[J].地理信息世界,2018(3):34-40.
[10]GRAVES A.Long short-term memory[M].Heidelberg:Supervised Sequence Labelling with Recurrent Neural Networks,2012.
[11]CHUNG J,GULCEHRE C,CHO K,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[C].Kuching:Conference on Neural Information Processing Systems,2014.