孫 雨,周 杰,陳 明
江蘇省常州市氣象局,江蘇常州 213000
PM2.5濃度過高不僅會影響人體健康,造成的灰霾天氣還會使得能見度下降,不利于車輛和飛機的正常行駛,易于引發(fā)交通事故。近年來,隨著“藍天保衛(wèi)戰(zhàn)”的防控治理,我國大氣污染防治工作取得了顯著成效。在此背景下,鞏固治理成果、總結(jié)經(jīng)驗繼續(xù)推動空氣質(zhì)量持續(xù)改善,打好新一輪“藍天保衛(wèi)戰(zhàn)”成為各界關注的焦點[1]。
根據(jù)《2021中國環(huán)境狀況公報》[2],2021年全國339個地級及以上城市中,扣除塵沙影響,空氣污染指數(shù)超過標準值的城市有121個,占城市總數(shù)的35.7%。在所有的重度污染及以上天數(shù)中,以PM2.5為首要污染物的天數(shù)占總天數(shù)的39.7%,依然是影響我國空氣質(zhì)量的第一污染物。常州市生態(tài)環(huán)境局官網(wǎng)空氣質(zhì)量月度排名也顯示PM2.5和臭氧是近5年常州地區(qū)月空氣質(zhì)量主要污染物。
目前,專家學者們已提出了多種研究角度,研究PM2.5濃度的預測方法,這些預測方法大致可以分為3種:基于統(tǒng)計學的預測方法、基于確定性模型的預測方法、基于機器學習的預測方法[3-5]。
近年來,機器學習在PM2.5濃度預測方面已經(jīng)取得了一些成果[6-8],大多數(shù)學者專注于改進一種機器學習算法或融合多種機器學習方法,并沒有過多地對多個機器學習算法進行對比分析。因此,基于非線性回歸算法、KNN算法、RF算法、BPNN算法、Xgboost算法以及CNN算法,建立相應PM2.5濃度預測學習模型,選取相關氣象因素預測PM2.5日均濃度,對預測結(jié)果進行對比,并分析各個學習模型的優(yōu)劣。
數(shù)據(jù)來自常州國家基本氣象站,包括2016年4月—2020年11月共5年間的大氣成分數(shù)據(jù)和A文件。大氣成分數(shù)據(jù)包括氣溶膠小時數(shù)據(jù)、反應性氣體5 min數(shù)據(jù)、A文件小時數(shù)據(jù),經(jīng)過數(shù)據(jù)處理后的最終數(shù)據(jù)形式為日均數(shù)據(jù),日均數(shù)據(jù)的計算方式是根據(jù)氣象學上定義的一天,自前一日21:00至本日20:00。根據(jù)相關論文[9]和先驗知識,選取與PM2.5濃度相關的15個氣象要素和相關大氣成分數(shù)據(jù),分別為PM10、SO2、O3、NO、NO2、NOx、CO、溫度、氣壓、相對濕度、能見度、降水量、蒸發(fā)量、2 min平均風速和0 cm地溫。
通過相關圖分析,選取的15種氣象因素和PM2.5濃度的相關系數(shù)R2分布范圍為0.3~0.86,PM10、SO2、NO、NO2、NOx、CO、氣壓與PM2.5呈現(xiàn)正相關,O3、氣溫、相對濕度、能見度、降水量、2 min平均風速、蒸發(fā)量和0 cm地溫與PM2.5呈負相關關系,因此選取的這15個氣象因素都是合理有效的。
與PM2.5正相關強度最高的3個氣象因素及其正相關系數(shù)分別為PM100.87、CO 0.59、NO20.57,與PM2.5負相關強度最高的3個氣象因素及其負相關系數(shù)分別為能見度0.52、2 min平均風速0.4、氣溫0.39。
提取的原始數(shù)據(jù)直接作為初始數(shù)據(jù)集不僅會造成學習模型精度變差,而且也會影響預測效果。此處的原始數(shù)據(jù)主要存在以下幾個問題:(1)不同氣象因素之間具有不同的量綱和單位,如氣壓單位為hPa,范圍為987~10 407 hPa,降水單位為mm,范圍為0~98 mm,2種數(shù)據(jù)差別過大,不利于后續(xù)樣本訓練,因此使用歸一化處理此問題。(2)在數(shù)據(jù)采集和數(shù)據(jù)上傳的過程中,有極大可能會受到設備故障、外在環(huán)境、人為活動等的影響,使得收集到的數(shù)據(jù)包含缺失數(shù)據(jù)、無效數(shù)據(jù)等。解決方法是各項數(shù)據(jù)對短時間內(nèi)缺失值(表現(xiàn)為-999.99和1 000的值)和部分異常值采用牛頓插值法進行估算插值,長時間內(nèi)缺失數(shù)據(jù)通過中國環(huán)境監(jiān)測總站數(shù)據(jù)補全缺失日均數(shù)據(jù)。插值法的基本原理是利用缺失數(shù)據(jù)的前后已知值建立插值函數(shù),缺失函數(shù)就可以利用插值函數(shù)求得,牛頓插值公式為:
針對異常值,借助箱形圖進行分析(圖略),箱形圖不受異常值的影響,可以以一種相對穩(wěn)定的方式描述數(shù)據(jù)的離散分布情況。箱形圖上邊緣線和下邊緣線之間的值為正常值,PM2.5濃度正常值分布在33~70 μg/m3;其余部分為異常值,異常值的處理應具體問題具體分析,觀察是否前后幾天濃度有相同變化規(guī)律,是則保留,否則可以取前后5 d同時間的平均值替代。處理完缺失值和異常值之后分布規(guī)律正常了很多,但仍然存在長時間缺失數(shù)據(jù)的問題,牛頓插值法和箱形圖并不能處理該問題,缺失部分經(jīng)查找為2017年3月21日—4月14日的數(shù)據(jù),通過中國環(huán)境監(jiān)測總站數(shù)據(jù)補全該段時間日均數(shù)據(jù)。以PM2.5濃度數(shù)據(jù)為例,圖1顯示數(shù)據(jù)預處理前后對比,灰色部分為原始數(shù)據(jù)中待修改部分,黑色部分為修改無效值和異常值后PM2.5日均數(shù)據(jù)。
圖1 PM2.5濃度數(shù)據(jù)預處理前后對比
實驗流程如下:首先,數(shù)據(jù)的預處理和數(shù)據(jù)集的構造;其次,預測模型的設計和訓練;再次,模型測試、優(yōu)化及保存;最后,預測并對結(jié)果進行評估與分析。數(shù)據(jù)預處理完成后,數(shù)據(jù)集共有1 684條日均數(shù)據(jù),選取其中的80%作為訓練集,20%作為測試集。在構建模型的過程中,需要選取一些指標數(shù)據(jù)衡量模型的性能,常用的回歸預測模型評價指標有平均絕對誤差MAE、均方根誤差RMSE、相關系數(shù)R2、平均絕對百分比誤差MAPRE。在以下評估公式中,x(i)表示第i個樣本的預測值,yi表示第i個樣本的實際值,y表示樣本實際值的均值。R2值越接近1,RMSE、MAE和MAPRE越小,則表示模型擬合效果越好。
1.2.1 多元線性回歸模型 該模型訓練集直接決定了多元線性回歸模型的精度,將15個影響PM2.5濃度的氣象因子看作自變量,將PM2.5濃度看作因變量。通過最小二乘法計算出每個自變量前的回歸系數(shù),建立回歸模型,用殘差平方和表示誤差函數(shù)。
1.2.2 KNN模型 訓練樣本查找測試樣本中與該樣本最近的K個樣本值,PM2.5濃度值等權平均后即為該預測樣本最終值。其中,可調(diào)節(jié)部分有3個,K值、樣本最近計算方式、最終預測值計算方式。經(jīng)過調(diào)參,K值取3,即找與預測樣本最近的3個樣本進行計算,樣本最近計算方式為歐氏距離計算方法,最終預測值計算方式為等權平均。
1.2.3 RF模型 每次隨機有放回地從樣本中抽取m個樣本建立決策樹,建立達到預先設置的決策樹個數(shù)k則停止,最后將所有決策樹結(jié)果求平均,即為預測樣本的預測值。其中,可以調(diào)節(jié)的參數(shù)為樹的數(shù)量k=100,設置葉子數(shù)防止過擬合,最佳葉子數(shù)量n=5。
1.2.4 BP神經(jīng)網(wǎng)絡模型 信號正向傳輸時,每次正向信號傳播完成后會自動判定是否符合預定的訓練次數(shù)和預設的誤差,反向傳播時,根據(jù)輸出值和真實值存在的誤差,從后往前調(diào)整每層神經(jīng)元上的權值,使得輸出值不斷逼近真實值。
此處構造了15個節(jié)點的輸入層,m個神經(jīng)元的一個隱藏層,最后一個神經(jīng)元的輸出層。m根據(jù)經(jīng)驗公式a取1~10,分別計算這10個隱藏層情況下模型的MSE。MSE最小時,對應的m=5,即為所求隱藏層中神經(jīng)元的個數(shù)。隱藏層激活函數(shù)為tansig函數(shù),輸出層激活函數(shù)為purelin函數(shù)。訓練次數(shù)預設1 000次,學習率設置0.005,誤差預設為10-5。
1.2.5 Xgboost極限梯度提升樹模型Xgboost中的決策樹會根據(jù)前面所有樹相加之和(預測值)與實際值之間的誤差,以及樹的復雜度之和作為目標,建立下一棵樹,不斷縮小預測值和實際值之間的誤差,最終的預測結(jié)果為所有樹的值相加計算獲得。該模型可以調(diào)節(jié)的參數(shù)為預設樹的數(shù)量和學習率,通過調(diào)參本實驗,設置樹的數(shù)量為110棵,學習率為0.2。
1.2.6 卷積神經(jīng)網(wǎng)絡模型 CNN結(jié)構包含輸入層,多個卷積層和池化層,全連接層和輸出層。卷積層的卷積作用是提取特征,計算一般使用3×3卷積核,在輸入數(shù)據(jù)方面,根據(jù)步長進行滑動計算,多個卷積核則生成多個計算結(jié)果;池化層為降采樣層,目的是減少參數(shù),方便計算但又不會丟失數(shù)據(jù)重要信息。該模型可以調(diào)節(jié)的參數(shù)為神經(jīng)網(wǎng)絡卷積層、池化層數(shù)、窗口滑動步長和卷積核數(shù)。通過調(diào)參,本實驗設置4層卷積層,卷積核分別為3×1、3×1、2×1、2×1,步長均為1;4層池化層,1層全連接層。
在6種算法模型的預測結(jié)果對比圖中(圖2),橫坐標為預測值,縱坐標為實際值,單位均為μg/m3,將預測值和實際值對應數(shù)值畫成點圖形式,圖中虛線是預測值等于真實值的情況,因此,點越收斂于虛線,則表示模型效果越好,點偏離虛線位置較遠,則表示該點為異常值。
圖2 6種學習模型預測結(jié)果對比
多元線性回歸模型RSME為12.499 0,MAE為9.038 1,R2為0.797 3,MAPE為34.87%;KNN模型RSME為11.847 6,MAE為8.672 4,R2為0.817 9,MAPE為18.84%;RF模型RSME為9.722 1,MAE為7.070 7,R2為0.877 4,MAPE為15.93%;BPNN模型RSME為10.629 5,MAE為7.361 4,R2為0.853 4,MAPE為16.33%;Xgboost模型RSME為9.679 2,MAE為6.985 8,R2為0.878 4,MAPE為15.00%;CNN模型RSME為10.355 7,MAE為7.696 4,R2為0.860 9,MAPE為17.39%。
圖中多元線性回歸和BP神經(jīng)網(wǎng)絡有明顯預測異常值,相比于CNN模型,RF模型和Xgboost模型點圖收斂于虛線的效果更好,KNN算法的點圖較發(fā)散。結(jié)合各項指標數(shù)據(jù),表明整體上RF模型和Xgboost模型2種算法的模型預測效果最好,并且Xgboost模型效果略優(yōu)于RF模型。
通過分析Xgboost模型預測與PM2.5濃度相關的氣象因子的重要性可知,PM10濃度、相對濕度、氣溫與PM2.5濃度的相關性最高;其次是BPNN模型和CNN模型,CNN模型作為一種強大的模型,沒有達到預想中的效果,考慮到卷積更注重空間特征關聯(lián)與圖像的識別方面,而訓練數(shù)據(jù)是一維數(shù)據(jù),且無空間關聯(lián)信息;多元線性回歸模型和KNN模型效果最差。
圖3為Xgboost模型擬合效果,分別為測試集PM2.5濃度實際值與預測值數(shù)值直接對比,以及將測試集數(shù)據(jù)升序后實際值與預測值的對比,預測值大多落入實際值正負平均絕對誤差范圍(虛線)內(nèi)。當PM2.5濃度大于180 μg/m3時,較多預測值在虛線范圍外,結(jié)合其他模型對應擬合效果圖,當PM2.5濃度低于30 μg/m3、高于60 μg/m3時,擬合效果明顯較差。
圖3 Xgboost模型擬合效果
使用6種機器學習模型對常州地區(qū)2016—2020年間的PM2.5濃度進行訓練和預測分析。PM2.5實際值主要分布在30~60 μg/m3范圍內(nèi),在此范圍內(nèi),6種模型擬合效果大都在實際值的正負平均絕對誤差范圍內(nèi),但當PM2.5濃度低于30 μg/m3或高于60 μg/m3時,多元線性回歸模型和KM模型不夠理想;從6個模型的對比來看,Xgboost、RF模型擬合效果較好,相關系數(shù)可達87.84%;PM10濃度、相對濕度、氣溫與PM2.5濃度相關性最高,表明在缺少PM2.5濃度數(shù)據(jù)的情況下,仍然可以通過其他氣象因子估算出PM2.5的濃度值。