張 鏑,于海飛1,,劉 閩,杜毅明,金繼鑫,曹吉龍,趙思彤
1(中國科學(xué)院大學(xué),北京 100049)
2(中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168)
3(遼寧省沈陽生態(tài)環(huán)境監(jiān)測中心,沈陽 110000)
4(中國醫(yī)科大學(xué)附屬第四醫(yī)院,沈陽 110032)
5(沈陽市第二十二中學(xué),沈陽 110000)
改革開放以來,我國大力發(fā)展工業(yè)、制造業(yè),經(jīng)濟發(fā)展的同時,帶來的環(huán)境問題也不容忽視.近年來,空氣質(zhì)量狀況越發(fā)得到人們的密切關(guān)注,2017年我國空氣污染狀況以華北地區(qū)為中心呈放射狀分布,空氣質(zhì)量直接影響到人類的日常生活[1].綠水青山就是金山銀山,地處東北老工業(yè)基地的沈陽市也面臨著同樣嚴峻的空氣質(zhì)量問題.空氣質(zhì)量的精準預(yù)測能夠為空氣質(zhì)量的治理提供科技支撐,各項污染物濃度數(shù)據(jù)是計算空氣質(zhì)量指數(shù)進而衡量空氣質(zhì)量的重要依據(jù).
空氣質(zhì)量數(shù)值模式是一種通過大氣物理化學(xué)方式來模擬污染物之間的相互反應(yīng)、傳輸和轉(zhuǎn)化過程,進而預(yù)測空氣質(zhì)量的方法.空氣質(zhì)量模式CMAQ 和CAMx是依據(jù)大氣物理化學(xué)方法來模擬污染物的擴散和反應(yīng)過程進而來預(yù)測空氣質(zhì)量的方法.從最初的采用簡單線性機制的第一代空氣質(zhì)量模式,發(fā)展到考慮了物質(zhì)之間的互相作用和相互轉(zhuǎn)化的第三代空氣質(zhì)量模式,預(yù)測精度不斷提高.但是由于空氣質(zhì)量模式受污染源清單數(shù)據(jù),氣象數(shù)據(jù),光解文件等輸入文件的影響,輸入文件的質(zhì)量會影響預(yù)測結(jié)果誤差大小.因此本文提出了一種集成CMAQ 和CAMx 兩種單一空氣質(zhì)量模式結(jié)果的方法,在單一數(shù)值模式的基礎(chǔ)上降低誤差,提高預(yù)測準確率.司志娟等[2]將灰色GM(1,1)模型與人工神經(jīng)網(wǎng)絡(luò)模型組合,對天津市2009 到2010 的PM10、SO2、NO2進行預(yù)測,預(yù)測相對誤差在5%以下.張恒德等[3]利用BP 神經(jīng)網(wǎng)絡(luò)集成了CUACE、BREMPS和WRF-Chem 等3 個環(huán)境模式預(yù)報產(chǎn)品,2015 到2016年在北京和石家莊地區(qū)污染物濃度和實測值的均方根誤差比各單一模式降低了15%以上.梅貴琴[4]利用Elman神經(jīng)網(wǎng)絡(luò)根據(jù)以往臭氧濃度數(shù)據(jù)預(yù)測未來臭氧濃度值,絕大多數(shù)的數(shù)據(jù)可以達到小于0.2 的相對誤差.神經(jīng)網(wǎng)絡(luò)具有預(yù)測未來非線性數(shù)據(jù)的能力,應(yīng)用于各個地區(qū)空氣質(zhì)量預(yù)測方面取得了良好的效果.考慮到過往短時間段內(nèi)空氣質(zhì)量會對未來空氣質(zhì)量產(chǎn)生影響,而Elman神經(jīng)網(wǎng)絡(luò)能夠增加對過往數(shù)據(jù)的敏感性.因此本文提出將Elman 神經(jīng)網(wǎng)絡(luò)用于集成CMAQ 和CAMx 兩種數(shù)值模式的預(yù)測結(jié)果,在單一數(shù)值模式基礎(chǔ)上提高空氣質(zhì)量預(yù)測結(jié)果的準確度.
Elman 神經(jīng)網(wǎng)絡(luò)是一種反饋型神經(jīng)網(wǎng)絡(luò),由輸入層,隱含層,承接層,輸出層四層組成,承接層是從隱含層獲得反饋信息,然后再輸入到隱含層,以此來記憶隱含層神經(jīng)元的上一時刻的輸出,這樣的網(wǎng)絡(luò)結(jié)構(gòu)可以增強對過往數(shù)據(jù)的敏感度[5-8].Elman 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.其中,輸入向量是r維的x向量,x=[x1,x2,···,xr];隱含層輸出向量是n維的u向量,u=[u1,u2,···,un];輸出向量是m維的y向量,y=[y1,y2,···,ym];承接層輸出向量是n維的xc向量,xc=[xc1,xc2,···,xcn].w(i,k),w(k,j),w(s,k)分別是輸入層到隱含層,隱含層到輸出層,承接層到隱含層的權(quán)重矩陣[9].f(·),g(·)分別是隱含層和輸出層的激活函數(shù),h(·)是承接層激活函數(shù),Xc是承接層輸出,t是時間步長,輸出層輸出為:
隱含層輸出為:
承接層輸出為:
Elman 神經(jīng)網(wǎng)絡(luò)模型的算法學(xué)習(xí)流程,首先要初始化各層節(jié)點的權(quán)值,然后輸入訓(xùn)練數(shù)據(jù),計算各層的輸入輸出值.其中將隱含層上一輪的輸出,輸入到承接層,數(shù)據(jù)經(jīng)過承接層處理后在本輪和輸入層數(shù)據(jù)一同輸入到隱含層.最后根據(jù)輸出層的結(jié)果和誤差函數(shù)計算誤差,若誤差的大小滿足要求或訓(xùn)練次數(shù)達到最大,則停止訓(xùn)練,否則更新權(quán)值,進入下一輪訓(xùn)練.
圖1 Elman 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
誤差函數(shù)為:
式(4)中,ya(t)是標準實際輸出數(shù)據(jù),y(t)模型輸出數(shù)據(jù).
根據(jù)誤差逆向傳播算法,得到:
其中,
η1,η2,η3分別是w(i,k),w(k,j),w(s,k)的 學(xué)習(xí)率,δj是輸出層神經(jīng)元的梯度項,δk是隱含層神經(jīng)元的梯度項[10].xcs是承接層第s維輸出,uk是隱含層第k維輸出.yj(t)是第j個結(jié)點第t輪的輸出值,yaj(t)是第t輪 第j個結(jié)點的標準輸出值.g′j(.)是輸出層的導(dǎo)數(shù),f′k(.)是隱含層的導(dǎo)數(shù),0 ≤α <1.
學(xué)習(xí)算法偽代碼如算法1 所示.
算法1.學(xué)習(xí)算法.訓(xùn)練集D={(xt,yt)}1.初始化Elman 神經(jīng)網(wǎng)絡(luò)中所有連接權(quán)重和閾值.(xt,yt)∈D2.for all do 3.根據(jù)式(1)~式(3)計算每一層的輸出值;4.根據(jù)式(8)計算輸出層神經(jīng)元梯度項;5.根據(jù)式(9)計算隱含層神經(jīng)元梯度項;6.根據(jù)式(5)~式(7)更新權(quán)值;7.if(達到停止條件)8.break;9.end if 10.end for
本文數(shù)據(jù)集來源為空氣質(zhì)量數(shù)值模式CMAQ 和CAMx 輸出的遼寧省沈陽市6 項常規(guī)污染物(包括PM2.5、PM10、SO2、CO、NO2、O3)的濃度結(jié)果,以及在中國空氣質(zhì)量在線監(jiān)測分析平臺所下載的6 項常規(guī)污染物的實測數(shù)據(jù).本文中的數(shù)據(jù)集的大小為2019年1月到2019年6月共181 天,起報時刻為20 時,預(yù)報時長為未來4 天的6 項常規(guī)污染物24 小時平均濃度數(shù)據(jù),其中選取30 條數(shù)據(jù)用作測試數(shù)據(jù)來評價模型的效果,剩余數(shù)據(jù)用于訓(xùn)練模型.
空氣質(zhì)量模式受氣象數(shù)據(jù),地理數(shù)據(jù),以及污染源清單數(shù)據(jù)等輸入文件的影響,會出現(xiàn)數(shù)據(jù)缺測情況,首先要去除缺測值,減少缺測數(shù)據(jù)對模型訓(xùn)練的影響.
為了減少不同量綱對后續(xù)數(shù)據(jù)分析和模型訓(xùn)練造成影響,需要先采用Min-Max 線性歸一化方法對數(shù)據(jù)進行歸一化處理,將原數(shù)據(jù)映射到(0,1)之間,公式如式(11)所示:
其中,xnorm表示歸一化后的數(shù)據(jù),x表示原數(shù)據(jù),xmin表示的是數(shù)據(jù)集中的最小值,xmax表示的是數(shù)據(jù)集中的最大值.
實驗過程如圖2所示,首先運行空氣質(zhì)量模式CMAQ 和CAMx,對得到的空氣質(zhì)量模式預(yù)測結(jié)果去除缺測數(shù)據(jù)處理,然后將空氣質(zhì)量模式預(yù)測結(jié)果和實測數(shù)據(jù)進行歸一化處理,處理后的數(shù)據(jù)作為Elman 神經(jīng)網(wǎng)絡(luò)的輸入,初始化各層結(jié)點的權(quán)值,進行訓(xùn)練.
圖2 實驗流程圖
由于本算法需要結(jié)合CMAQ 和CAMx 兩個模型優(yōu)化預(yù)測值,所以把輸入層節(jié)點數(shù)設(shè)置為2,輸出層節(jié)點數(shù)設(shè)置為1,經(jīng)過敏感性實驗得到隱含層節(jié)點數(shù)設(shè)置為10 時效果最佳;輸出層激活函數(shù)設(shè)置為輸入和輸出相等的Purelin 函數(shù);隱含層激活函數(shù)設(shè)置為Sigmoid函數(shù),其公式如下所示:
當(dāng)訓(xùn)練誤差達到最小(0.01)或達到最大訓(xùn)練輪數(shù)(10 000)停止訓(xùn)練.將測試數(shù)據(jù)輸入到訓(xùn)練好的模型中,得到模型輸出結(jié)果,對模型輸出結(jié)果進行反歸一化處理,得到Elman 神經(jīng)網(wǎng)絡(luò)模型優(yōu)化的CMAQ 和CAMx預(yù)測結(jié)果.
本文使用均方根誤差(RMSE),平均絕對誤差(MAD),和平均絕對百分比誤差(MAPE),來定量分析模型結(jié)果的精度[11-14].3 個評價指標公式如下:
其中,yi是預(yù)測值,yai是實測值.均方根誤差(RMSE)是預(yù)測值與實測值誤差的平方和與實驗次數(shù)N比值的平方根,它能反應(yīng)出預(yù)測值和實測值的偏差大小以及預(yù)測結(jié)果的穩(wěn)定程度.平均絕對誤差(MAD)是預(yù)測值和實測值的絕對誤差和與實驗次數(shù)N的比值.平均絕對百分比誤差(MAPE)能反應(yīng)模型的優(yōu)劣程度,是相對誤差的和與試驗次數(shù)的比值.
圖3是對比實驗結(jié)果圖,橫坐標表示時間序列,縱坐標表示污染物濃度,從圖3中可以看到,CMAQ 和CAMx 兩個單一數(shù)值模式的SO2和PM2.5預(yù)測結(jié)果偏高,NO2預(yù)測峰值時結(jié)果偏高,PM10和CO 預(yù)測趨勢和實測值大致相同,個別地方相差較大;而經(jīng)過Elman神經(jīng)網(wǎng)絡(luò)優(yōu)化的預(yù)測結(jié)果與單一模式相比較更為接近實際值.
空氣質(zhì)量模式CMAQ,CAMx 和基于Elman 神經(jīng)網(wǎng)絡(luò)集成后結(jié)果的評價指標對比情況,如表1所示.綜合表1和圖3我們可以看到,就沈陽市的預(yù)報結(jié)果而言,兩種單一模式對于6 項污染物的預(yù)測結(jié)果都有不同程度的誤差.而集成后的6 項污染物預(yù)測結(jié)果的預(yù)測誤差有所下降,綜合對比3 個評價指標可以看到PM2.5和SO2的MAD和RMSE都有下降,MAPE有大幅度下降,其中PM2.5的MAPE下降了50%-88%,SO2的MAPE下降了110%-209%;而PM10,CO,NO2和O3的MAD和RMSE有小幅度下降或持平,MAPE都有所下降.總體來說,基于Elman 神經(jīng)網(wǎng)絡(luò)優(yōu)化兩種單一空氣質(zhì)量模式的結(jié)果相比于單一空氣質(zhì)量模式的預(yù)測精度和穩(wěn)定性有所提高.
圖3 實驗結(jié)果圖
表1 實驗結(jié)果對比
本文針對空氣質(zhì)量預(yù)測提出了在CMAQ 和CAMx兩個空氣質(zhì)量數(shù)值模型基礎(chǔ)上,通過Elman 神經(jīng)網(wǎng)絡(luò)集成兩個數(shù)值模式結(jié)果的方法.實驗結(jié)果表明,本文提出的方法結(jié)合了兩種模型的優(yōu)勢,提高了預(yù)測精度和穩(wěn)定性,降低了單一空氣質(zhì)量數(shù)值模式的預(yù)測誤差,從而能夠為后續(xù)空氣質(zhì)量預(yù)報以及空氣質(zhì)量控制提供數(shù)值依據(jù).