吉莉,劉曉冉,李強
1.重慶市北碚區(qū)氣象局, 重慶 400700; 2.重慶市氣象科學(xué)研究所, 重慶 401147
作為城市空氣主要污染物之一的臭氧, 是一種光化學(xué)反應(yīng)的微量氣體, 它主要來自大氣層中氮氧化物和碳氫化合物等. 近地面的臭氧主要來源于氮氧化物和揮發(fā)性有機化合物, 光照作用下的大氣光化學(xué)反應(yīng)、平流層輸入、前體物濃度水平、氣象條件和區(qū)域傳輸?shù)榷紩ζ洚a(chǎn)生影響[1]. 高濃度臭氧不僅威脅人類健康, 還能對植物、農(nóng)作物等造成危害[2].
目前學(xué)界對于城市臭氧污染以及臭氧污染與氣象條件關(guān)系的研究已有不少報道[3-10], Shen等[11]利用空氣質(zhì)量模式CMAQ和CAMxO3評估了珠三角地區(qū)臭氧預(yù)報的效果; Kathleen等[12]利用空氣質(zhì)量模式WRF-Chem評估了歐洲地面臭氧的預(yù)報效果; 杜勤博等[13]采用BP神經(jīng)網(wǎng)絡(luò)和逐步線性回歸2種模型, 對汕頭市2014-2017年的6種污染物濃度進行預(yù)測, 結(jié)果表明這兩種預(yù)報模型對歷史數(shù)據(jù)的擬合效果相似, 總體來說, 冬春季模型擬合度優(yōu)于夏秋季; 杜云松等[14]選用成都最高氣溫、日氣溫差和臭氧濃度, 建立單因子預(yù)測方法, 結(jié)果表明臭氧污染預(yù)測效果較好. 可見, 通過機器學(xué)習(xí)方法能夠有效地預(yù)測臭氧污染.
成渝城市群是大氣污染的重點防控區(qū)域之一[15], 因此, 對重慶中心城區(qū)臭氧濃度進行精細化預(yù)報, 對臭氧污染防治有重要意義. 受環(huán)境監(jiān)測點分布限制, 以往研究多基于站點資料進行, 重慶中心城區(qū)受地形影響, 周邊各站點的臭氧濃度存在一定差別, 隨著城市建設(shè)和社會經(jīng)濟的快速發(fā)展, 單一的站點資料已不能完全滿足臭氧污染治理需求, 網(wǎng)格化插值技術(shù)在降水、氣溫、風(fēng)等氣象要素的處理中已顯現(xiàn)較好的應(yīng)用效果[16-18], 但用于臭氧預(yù)報的應(yīng)用還較少. 因此, 本文以重慶中心城區(qū)北碚區(qū)為研究中心, 利用臭氧濃度、常規(guī)氣象要素觀測資料, 采用KNN數(shù)據(jù)挖掘算法與BP神經(jīng)網(wǎng)絡(luò)算法建立臭氧預(yù)報模型, 運用反距離加權(quán)插值法將臭氧濃度預(yù)報值網(wǎng)格化, 以期為臭氧污染的科學(xué)防治提供必要的技術(shù)支撐.
重慶市中心城區(qū)由北碚、巴南、沙坪壩、渝北、南岸、渝中、江北、九龍坡和大渡口等9個區(qū)組成, 其中設(shè)有氣象機構(gòu)的為北碚、巴南、沙坪壩、渝北4個區(qū). 本文選取重慶市中心城區(qū)北碚、巴南、沙坪壩、渝北4個區(qū)及周邊區(qū)域璧山、合川、銅梁3個區(qū)為主要研究區(qū)域.
本文采用的2017-2019年逐日O3_8H環(huán)境監(jiān)測數(shù)據(jù)為重慶市環(huán)境監(jiān)測中心提供, 同期氣象資料為重慶市氣象信息與技術(shù)保障中心提供的國家氣象站地面氣象觀測資料, 包括平均氣溫(T)、最高氣溫(Tmax)、相對濕度(RH)、降水量(R)等常規(guī)氣象觀測數(shù)據(jù).
1.3.1 KNN數(shù)據(jù)挖掘算法
KNN(K-NearestNeighbor)數(shù)據(jù)挖掘算法是經(jīng)典的分類與回歸分析的鄰近算法, 即K最近鄰, 就是每個樣本都可以用它最接近的K個鄰近值來代表. 鄰近算法是將數(shù)據(jù)集合中每一個記錄進行分類的方法[19], 在氣象的研究中, 其主要原理是通過在歷史數(shù)據(jù)庫中查找與未來相似背景下的相似樣本, 并依據(jù)排序結(jié)果客觀賦予權(quán)重, 根據(jù)不同權(quán)重下的歷史樣本預(yù)報結(jié)果. KNN算法在預(yù)報空氣污染和霾等級分類中效果較好, 準確率達到了80%~90%[20-21]. 本文的基本算法是假設(shè)預(yù)報日的平均氣溫、最高氣溫、相對濕度、降水量等氣象要素為預(yù)測樣本, 臭氧濃度實測值為標志量, 在訓(xùn)練樣本集合中找到與預(yù)測樣本最相似的K個近鄰, 然后找出K個標志量, 最后按照投票多數(shù)原則, 選取最多的標志量為預(yù)測樣本預(yù)測結(jié)果. 因此, KNN算法也是一種相似算法.
1.3.2 BP神經(jīng)網(wǎng)絡(luò)算法
BP神經(jīng)網(wǎng)絡(luò)算法是目前應(yīng)用最廣的預(yù)測方法, 不少學(xué)者將神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于環(huán)境氣象等方面的研究, 取得了較好的成果[22-24]. 其基本思想是: 該算法工作信號正向傳遞和誤差信號反向傳遞兩個子過程, 學(xué)習(xí)規(guī)則和目標使用最速下降法, 通過反向傳播不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值, 使全局誤差系數(shù)最小, 學(xué)習(xí)本質(zhì)是對連接權(quán)值的動態(tài)調(diào)整. 基本結(jié)構(gòu)由輸入層、隱層和輸出層構(gòu)成[25].
1.3.3 模型精度評價
對預(yù)測模型精度的評價主要采用相對誤差值、絕對誤差值和臭氧濃度預(yù)測準確率[26]進行比較. 其中相對誤差值與絕對誤差值越小, 說明預(yù)測精度越高; 若臭氧濃度預(yù)測準確率小于0, 均按0處理.
絕對誤差值=|預(yù)測值-實測值|
(1)
相對誤差值=絕對誤差值/實測值
(2)
預(yù)測準確率=(1-絕對誤差值÷實測值)×100%
(3)
1.3.4 反距離加權(quán)插值法
反距離加權(quán)插值法[27]是基于地理學(xué)第一定律相近相似的原理, 認為每個采樣點對鄰近區(qū)域的插值點有一定的影響, 且影響的大小隨距離的增大而減小. 該插值法的特點是可以保證插值結(jié)果在采樣點位與實際值一致.
1.3.5 數(shù)據(jù)預(yù)處理
通常使用的機器學(xué)習(xí)算法將數(shù)據(jù)樣本分為訓(xùn)練集與測試集, 通過訓(xùn)練集數(shù)據(jù)來建立模型, 測試數(shù)據(jù)則用于檢驗?zāi)P偷姆夯芰28]. 因此在確定建立模型前, 為消除指標之間的量綱影響, 需對數(shù)據(jù)進行歸一化處理. 本文采用對數(shù)據(jù)分段建模方式進行擬合, 確定2017-2018年731個有效臭氧濃度數(shù)據(jù)作為訓(xùn)練集數(shù)據(jù), 2019年逐日數(shù)據(jù)作為檢驗數(shù)據(jù), 再結(jié)合平均氣溫、最高氣溫、相對濕度、降水量等4個氣象因子, 以臭氧濃度為輸入目標, 基于KNN數(shù)據(jù)挖掘算法和BP神經(jīng)網(wǎng)絡(luò)算法, 分別構(gòu)建7個區(qū)的預(yù)測模型.
繪制2017-2019年研究區(qū)臭氧濃度趨勢圖(圖1). 圖1a可知, 除銅梁區(qū)和沙坪壩區(qū)呈逐年上升趨勢, 北碚區(qū)及其他區(qū)最大值均出現(xiàn)在2018年, 3年趨勢呈“單峰形”; 從圖1b可知, 研究區(qū)臭氧濃度季節(jié)變化均為夏季濃度最高, 冬季最低, 其中沙坪壩區(qū)夏季濃度最高, 銅梁區(qū)夏季濃度最低, 北碚區(qū)夏季臭氧濃度在整個研究區(qū)中為第三高, 但冬季濃度最低.
圖1 2017-2019年研究區(qū)臭氧濃度趨勢圖
圖2 研究區(qū)臭氧濃度逐月趨勢圖
圖2為研究區(qū)月平均臭氧濃度趨勢圖. 由圖2可知, 2017-2019年7個區(qū)臭氧濃度的月平均濃度呈單峰型, 其中8月最高, 12月最低, 即從1月起, 每月的臭氧濃度都呈增加趨勢, 8月達到峰值后開始逐月降低.
2017-2019年研究區(qū)臭氧日濃度與4種氣象要素的相關(guān)性如表1所示. 從表1可看出, 7個區(qū)臭氧濃度與氣象要素密切相關(guān), 對比分析發(fā)現(xiàn), 除降水量與臭氧濃度呈弱相關(guān)性外, 其余3個氣象要素均與臭氧濃度呈較強相關(guān)性, 其值均大于0.6, 其中關(guān)系最密切的是最高氣溫, 其次是平均氣溫, 說明臭氧濃度的變化受溫度的影響較大. 臭氧濃度與相對濕度呈負相關(guān)性, 這是因為空氣水汽中含有較多的H, OH等自由基, 可以分解臭氧中的氧分子, 從而使臭氧濃度降低[24]. 臭氧濃度與降水量相關(guān)性較低, 最大相關(guān)系數(shù)也接近0.1, 說明研究區(qū)降水與光化學(xué)反應(yīng)效率關(guān)系不明顯. 總體來說, 臭氧濃度與氣象要素關(guān)聯(lián)度由強到弱依次為最高氣溫、平均氣溫、相對濕度、降水量.
表1 2017-2019年研究區(qū)臭氧日濃度與氣象要素相關(guān)性
3.1.1 訓(xùn)練結(jié)果
本文利用SPSS Modeler軟件、采用KNN數(shù)據(jù)挖掘算法對2017-2018年研究區(qū)的臭氧濃度進行建模預(yù)測, 預(yù)測值與實測值對比結(jié)果見表2. 由表2可知, KNN模型在訓(xùn)練模型中準確率均在75%以上, 7個區(qū)模型的平均準確率為77.3%, 其中合川區(qū)模型的準確率最高, 達79.7%, 巴南區(qū)模型的準確率最低, 只有75.3%, 北碚區(qū)模型的準確率為78.3%, 高于平均準確率; 從決定系數(shù)來看, 北碚區(qū)決定系數(shù)為0.892, 高于其余6個區(qū), 銅梁區(qū)決定系數(shù)最低只有0.701, 其余區(qū)決定系數(shù)在0.82~0.87之間, 模擬效果較好. 7個區(qū)模型平均相對誤差為0.29, 其中合川區(qū)誤差最小(0.23), 璧山區(qū)誤差最大(0.34); 7個模型平均均方根誤差為22.5, 其中銅梁區(qū)誤差最大(24.47), 北碚區(qū)誤差最小(18.93). 綜上可見, 基于地面氣象要素建立的KNN模型可以較好地模擬預(yù)測污染物的濃度.
表2 KNN訓(xùn)練效果統(tǒng)計檢驗
圖3為2017-2018年北碚區(qū)夏季臭氧濃度值與實測值趨勢對比圖, 從圖中可看出, 臭氧濃度模擬值與實測值趨勢基本一致, 但是有部分模擬值低于實測值.
圖3 2017-2018年北碚區(qū)夏季臭氧濃度日均值的KNN模擬值與實測值趨勢圖
3.1.2 檢驗結(jié)果
對2019年研究區(qū)的臭氧濃度進行預(yù)測檢驗, 將預(yù)測值與實測值對比得到表3, 由此可知, KNN模型在檢驗?zāi)P椭袦蚀_率略低于訓(xùn)練模型, 7個區(qū)KNN模型的平均準確率為74%, 比訓(xùn)練模型準確率低3.3%, 其中北碚區(qū)的KNN模型準確率最高, 為78.60%, 較訓(xùn)練模型高0.3%; 銅梁區(qū)的KNN模型準確率最低, 只有70.40%, 較訓(xùn)練模型低了7.5%; 從決定系數(shù)來看, 北碚區(qū)決定系數(shù)在0.9左右, 銅梁區(qū)決定系數(shù)最低, 其余區(qū)的決定系數(shù)在0.7~0.8之間, 模擬效果較好. 7個區(qū)的模型平均相對誤差為0.33, 其中北碚區(qū)誤差最小, 為0.23, 渝北誤差最大, 為0.40; 7個區(qū)KNN模型均方根誤差與訓(xùn)練模型結(jié)果基本一致, 銅梁區(qū)誤差最大, 北碚區(qū)誤差最小.
表3 KNN檢驗效果統(tǒng)計檢驗
圖4為2019年北碚區(qū)夏季臭氧濃度的模擬值與實測值趨勢圖, 從圖中可看出, 該區(qū)臭氧濃度模擬值與實測趨勢基本一致, 兩者之間的誤差波動不大, 平均相對誤差0.18, 其中最大誤差0.9.
圖4 2019年北碚區(qū)夏季臭氧濃度日均值的KNN模擬值與實測值趨勢圖
3.2.1 訓(xùn)練結(jié)果
利用BP神經(jīng)網(wǎng)絡(luò)算法對2017-2018年研究區(qū)的臭氧濃度進行預(yù)測, 將預(yù)測值與實測值對比得到表4. 由表4可知, BP神經(jīng)網(wǎng)絡(luò)算法在訓(xùn)練模型中準確率均在74.57%以上, 7個區(qū)的平均準確率為74.6%, 其中合川區(qū)的準確率最高, 為77.50%, 璧山區(qū)的模型準確率最低, 只有71.60%, 北碚區(qū)的準確率為74.30%, 略低于平均準確率; 從決定系數(shù)來看, 北碚區(qū)決定系數(shù)高于其余6個區(qū)的模型, 銅梁區(qū)最低, 只有0.711, 其余區(qū)的決定系數(shù)在0.758~0.840之間, 模擬效果較好. 7個區(qū)的模型平均相對誤差為0.34, 其中合川區(qū)誤差最小為0.26, 巴南區(qū)誤差最大為0.39; 7個區(qū)的模型平均均方根誤差為22.50, 其中璧山區(qū)誤差最大(29.52), 北碚區(qū)誤差最小(21.59). 綜上可見, 基于地面氣象要素建立的BP神經(jīng)網(wǎng)絡(luò)算法可以較好地模擬預(yù)測臭氧濃度.
表4 BP訓(xùn)練效果統(tǒng)計檢驗
圖5為2017-2018年北碚區(qū)夏季臭氧濃度的BP模擬值與實測值趨勢圖, 從圖中可看出, 夏季臭氧濃度模擬值與實測值趨勢基本一致, 平均相對誤差0.18, 其中最大誤差1.02.
圖5 2017-2018年北碚區(qū)夏季臭氧濃度日均值的BP模擬值與實測值趨勢圖
3.2.2 檢驗結(jié)果
對研究區(qū)2019年的臭氧濃度進行預(yù)測檢驗, 將預(yù)測值與實測值對比得到表5. 由表5可知, BP神經(jīng)網(wǎng)絡(luò)算法構(gòu)建的模型在檢驗?zāi)P椭袦蚀_率略高于訓(xùn)練模型, 7個區(qū)的模型平均準確率為75.68%, 比訓(xùn)練模型準確率高1.1%, 其中合川區(qū)的模型準確率最高為78.50%, 較訓(xùn)練模型高1%的準確率; 巴南區(qū)的模型準確率最低只有73.90%, 較訓(xùn)練模型高了1.1%, 北碚區(qū)的檢驗?zāi)P蜏蚀_率也較訓(xùn)練模型高了2.2%; 從決定系數(shù)來看, 北碚區(qū)系數(shù)在0.86以上, 高于其余6個區(qū), 璧山區(qū)決定系數(shù)最低, 其余區(qū)的決定系數(shù)在0.815~0.851之間. 7個區(qū)的模型平均相對誤差為0.29, 其中合川區(qū)誤差最小(0.25), 巴南區(qū)誤差最大(0.38); 7個區(qū)的模型均方根誤差與KNN模型結(jié)果一致, 銅梁區(qū)誤差最大, 北碚區(qū)誤差最小.
表5 BP檢驗效果統(tǒng)計檢驗
圖6為2019年北碚區(qū)夏季臭氧濃度的BP模擬值與實測值趨勢圖, 從圖中可看出臭氧濃度模擬值與實測值趨勢基本一致, 兩者之間的誤差波動在8月, 平均相對誤差0.18, 其中最大誤差0.9.
圖6 2019年北碚區(qū)夏季臭氧濃度日均值的BP模擬值與實測值趨勢圖
本文分別基于KNN數(shù)據(jù)挖掘算法與BP神經(jīng)網(wǎng)絡(luò)算法, 構(gòu)建了2017-2019年臭氧濃度預(yù)測模型, 并對2種預(yù)測模型的預(yù)報效果進行對比檢驗, 篩選最優(yōu)預(yù)測模型. 結(jié)果表明, 2種預(yù)測模型在7個區(qū)的訓(xùn)練中平均預(yù)報準確度超過了74%, 其中KNN模型的準確率高于BP神經(jīng)網(wǎng)絡(luò)模型, 2種模型與實測值的相關(guān)性超過了0.7, 擬合度較高. 在驗證模型準確率中, KNN預(yù)測模型趨勢與BP神經(jīng)網(wǎng)絡(luò)模型比較, BP神經(jīng)網(wǎng)絡(luò)模型在檢驗過程中的效果高于訓(xùn)練效果, 平均誤差也低于訓(xùn)練值; 同時從北碚區(qū)預(yù)測結(jié)果來看, 基于BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測結(jié)果總體優(yōu)于KNN模型. 總體來說, 基于BP神經(jīng)網(wǎng)絡(luò)模型更優(yōu)于基于KNN數(shù)據(jù)挖掘算法的預(yù)測模型.
根據(jù)上文分析, 以BP神經(jīng)網(wǎng)絡(luò)模型為預(yù)測模型, 選取研究區(qū)2020年6月1日平均氣溫、最高氣溫、相對濕度、降水量等4個氣象因子為預(yù)測要素, 預(yù)測6月1日研究區(qū)臭氧濃度, 并采用ArcGIS空間分析模塊中的反距離加權(quán)插值法計算、繪制未來24 h分辨率為5 km的研究區(qū)臭氧濃度網(wǎng)格預(yù)報圖(圖7), 將預(yù)測值與實測值進行對比檢驗. 根據(jù)圖7a可知, 北碚區(qū)未來24小時臭氧濃度在145~153 μg/m3之間, 低值區(qū)出現(xiàn)在北碚城區(qū), 高值區(qū)為研究區(qū)北部, 即與合川區(qū)交界的一帶. 與北碚區(qū)6月1日實測值(圖7b)對比, 其余區(qū)的實測值在92~155 μg/m3范圍, 預(yù)測值高值與實測值基本一致, 低值差距較大. 從地理位置來看, 實測值的低值與預(yù)測的低值位置基本一致, 位于研究區(qū)中部偏西, 而實測高值預(yù)測區(qū)域差距較大, 位于研究區(qū)南部和東部. 造成預(yù)測誤差的原因主要是因為臭氧是二次生成的光化學(xué)污染物, 生成和積累的時間主要集中在白天, 同時北碚區(qū)水土和蔡家這兩個監(jiān)測點位于發(fā)展區(qū), 存有大量的在建工地, 易產(chǎn)生大量的VOCs(揮發(fā)性有機物)不利于污染物擴散.
圖7 研究區(qū)與北碚區(qū)臭氧濃度網(wǎng)格預(yù)報對比圖
為探索不同機器學(xué)習(xí)方法在臭氧濃度預(yù)測中的應(yīng)用效果, 本文利用KNN數(shù)據(jù)挖掘算法與BP神經(jīng)網(wǎng)絡(luò)算法, 挑選與臭氧密切相關(guān)的平均氣溫、最高氣溫、相對濕度、降水量等4個氣象因子, 建立2017-2019年以重慶中心城區(qū)北碚區(qū)為中心的臭氧濃度預(yù)報模型, 并運用反距離加權(quán)插值法將臭氧濃度預(yù)報值網(wǎng)格化, 得到以下結(jié)論:
1) 2017-2019年間, 除銅梁區(qū)和沙坪壩區(qū)呈逐年的上升趨勢外, 北碚區(qū)及其他區(qū)的趨勢呈“單峰形”, 最大值出現(xiàn)在2018年. 北碚區(qū)及其周邊區(qū)域的臭氧濃度季節(jié)變化是一致的, 夏季濃度最高, 冬季濃度最低, 且逐月平均臭氧濃度呈單峰型, 8月最高, 12月最低. 臭氧濃度與氣象要素密切相關(guān), 除了降水量與臭氧濃度呈弱的負相關(guān)性外, 其余3個氣象要素均與臭氧濃度相關(guān)性較強, 均大于0.6.
2) 基于KNN數(shù)據(jù)挖掘算法與BP神經(jīng)網(wǎng)絡(luò)算法, 構(gòu)建了2017-2019年臭氧濃度預(yù)測模型, 并對2種預(yù)測模型的預(yù)報效果進行對比檢驗, 篩選最優(yōu)預(yù)測模型. 結(jié)果表明, 2種預(yù)測模型在7個區(qū)的訓(xùn)練中平均預(yù)報準確度超過了74%, 其中KNN模型的準確率高于BP神經(jīng)網(wǎng)絡(luò)模型, 2種模型與實測值的相關(guān)性超過了0.7, 擬合度較高. 在驗證模型準確率中, KNN模型預(yù)測趨勢與BP神經(jīng)網(wǎng)絡(luò)模型比較, BP神經(jīng)網(wǎng)絡(luò)模型在檢驗過程中的效果高于訓(xùn)練效果, 平均誤差也低于訓(xùn)練時; 同時從北碚區(qū)預(yù)測結(jié)果來看, 基于BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測結(jié)果總體優(yōu)于KNN模型.
3) 采用ArcGIS空間分析模塊中的反距離加權(quán)插值法計算北碚區(qū)臭氧濃度網(wǎng)格預(yù)報, 發(fā)現(xiàn)北碚區(qū)域內(nèi)未來24小時臭氧濃度預(yù)測在145~153 μg/m3之間, 高值與實測值基本一致, 低值低于實測值. 從地理位置來看, 低值與實測值位置基本一致, 在中部偏西, 高值預(yù)測區(qū)域差距較大, 實測高值區(qū)在南部和東部.
綜上所述, 在運用2種機器學(xué)習(xí)方法對臭氧濃度進行模擬預(yù)測中, BP神經(jīng)網(wǎng)絡(luò)算法在臭氧濃度的預(yù)測中有更好的表現(xiàn); 其次臭氧作為二次污染物, 受氣象和前體物等因素的影響的同時, 也受污染物區(qū)域傳輸以及傳輸過程中前體物的光化學(xué)反應(yīng)的重要影響[29], 而預(yù)測模型主要基于氣象條件的影響, 因此預(yù)測值較實測值有所偏差.