謝永華,張鳴敏,楊 樂,張恒德
(1.南京信息工程大學 計算機與軟件學院,江蘇 南京210044;2.南京信息工程大學江蘇省網絡監控中心,江蘇 南京210044;3.中國氣象局國家氣象中心,北京100081)
近年來對PM2.5[1,2]及相關污染物預測的研究主要有如下方法。Fuller等通過經驗統計方法建立了月均PM2.5與其它污染物 (NOx,PM10)的線性關系,預測月均PM2.5濃度走向[3];Chemel等用化學物質轉化模型對PM2.5的歷史數據進行建模,預測了年均PM2.5濃度值的變化[4]。上述經驗模型需要大量觀測數據,且具有明顯的局域性,回歸關系不能很好符合實際情況。Balachandran等利用貝葉斯算法分析了PM2.5的不同來源對其濃度的影響,并進行了中長期的預測實驗[5];Dong等利用隱半馬爾科夫模型對PM2.5濃度進行了預測,具有24小時上的預報精度[6]。這些基于概率統計規律的建模方法對PM2.5的高維非線性系統的代表性不高。黃金杰等采用高斯擴散模型推算大氣污染物間的變量關系,計算單一污染源對如PM2.5等污染物變化影響[7];Domańska等利用混沌時間序列算法對短期PM10的濃度進行預測[8];Voukantsis等利用多層感知的神經網絡方法預測了兩個城市的日均PM10變化規律[9]。值得注意的是,盡管神經網絡等方法建模簡單,但對于高維特征及非線性系統的預測問題則具有低泛化性、低魯棒性以及過學習等問題。針對當前在PM2.5濃度預測方面存在的上述問題,本文提出了一種利用支持向量機回歸 (support vector regression,SVR)方法進行PM2.5濃度預測的方法,該方法在較小規模的PM2.5監測數據樣本上即具有較為理想的預測精度;同時,通過調節SVR 預測特征的時間跨度,可以在保證訓練效率的情況有效提高SVR 方法的預測精度。本文展示的SVR 方法在中短期 (20小時)跨度上具有均一的預測精度,驗證了其應用的廣泛性與魯棒性。
PM2.5濃度預測的主要目標是通過機器學習等方法得到PM2.5濃度與其它因素之間的回歸關系,并就實際數據進行預測。PM2.5的預測主要可以概括為以下步驟:獲取氣象污染物 (PM2.5、PM10、SOx、NOx、O3等)濃度數據與氣象數據 (氣溫、氣壓、濕度、風速風向等);提取PM2.5濃度數據為模型因變量y (預測值),其它數據或其組合作為自變量x1,x2,...,xn(預測特征);將數據集S 劃分為訓練Strain、驗證Svalidate和測試集Stest;在訓練集上通過機器學習訓練生成模型,得到回歸關系y=f(x1,x2,...xi,...,xn);通過比較不同模型參數在驗證集上的預測量與實際數據y 的誤差 (均方根誤差MSE)大小選取最佳的參數及模型,最后在測試集上測試最優模型的預測MSE大小。流程如圖1所示。

圖1 PM2.5濃度預測流程
PM2.5濃度預測的重點提高預測模型的泛化性、魯棒性和準確性。其難點主要體現在以下幾個方面:
(1)合適的機器學習方法的選擇。引言中方法存在著數據需求量大、局域性強、預測精度低、過學習等問題。
(2)降低不確定性。由于PM2.5霧霾體系存在相當大的隨機性,僅使用單一時間的數據進行模型訓練存在高不確定性,影響模型的精度。
(3)訓練效率。機器學習中特征維度提高對模型的精度提高有幫助,但過度增加特征維度會顯著增加訓練時間。
針對PM2.5濃度預測中存在的上述難點,本文采用時序SVR 方法來進行建模。SVR 方法相對于其它學習方法,例如NN等,對高維及非線性問題具有很好的適應性,且所需數據量更小,適合我國目前PM2.5觀測數據較少的現狀。同時,利用時間序列的數據組合作為預測特征,減少了因系統自身引起的不確定性。最后,通過綜合比較訓練時間與預測精度,得到最優參數,確保了模型預測精度與訓練效率。
2.1.1 SVR 理論概要
支持向量回歸是一種基于懲罰學習的回歸方法[10]。本節簡要介紹了SVR 的基本原理。SVR 的總體目標是得到輸入x 和結果y 之間的回歸關系f(x),可以描述為一個近似線性回歸的問題

其中,回歸系數w 和b 通過最優化方法獲得。引入懲罰函數L來對預測值與實際值偏差大于閾值ε時的情況進行懲罰。其表達式為

SVR 的優化問題的本質是解回歸函數平面的寬度 (1/2)最小的問題。在存在誤差的情況下,引入了松弛變量ξ-,ξ+,來分別表示未超出和超出ε懲罰區間的情況。并結合參數C 來構成最終的風險函數R。SVR 問題的目標即轉化為解在存在誤差情況下的風險函數R 的最小化問題

該優化問題是一個約束二次規劃問題,可以通過引入Lagrange乘子,,將其轉化為以下二次形式的問題

因此最初的回歸目標可以表示成

為了解決非線性回歸問題,引入了內核映射方法,使用轉換函數Φ將變量x 映射到高維非線性空間,并通過引入核函數K,K(xi,xj)=Kxj=Φ(xi)*Φ(xj)來避免在同一特征空間的內積Φ(xi)*Φ(xj)的計算,最后得到非線性回歸表達式的最終形式為

所有參數滿足ξ-i ,ξ+i =0的輸入數據集xi則稱為支持向量。支持向量即為落在ε-誤差邊界上的向量。支持向量代表了回歸模型的特征,減少輸入數據庫中的無關向量。這使得SVR 方法相對其它機器學習方法,如NN,需要建模的樣本數量更少。除了支持向量以外,其它樣本數據的刪減并不影響模型的訓練效果,這一點在特征維度大于數據量時更為明顯。
2.1.2 基于SVR 的時間序列預測
傳統預測模型僅采用當前預測時間的預測因素作為輸入值,忽略了污染物在時間序列上的相關性。對此,我們對SVR 方法中的數據進行了時序化處理。本文中所用參數(污染物濃度、氣象條件)在某小時t可以表示為x(t)。這里我們使用當前時間 (t)前d 小時的數據作為SVR 模型的預測特征,預測值為p 小時后的PM2.5濃度值。回歸問題目標可以表述為以下方程

所選取數據的構成、預測特征與預測量的構成如圖2所示。由于時間間隔的長度選取對模型的預測精度、模型訓練時間都具有影響,因此最佳的時間間隔d 應是綜合考慮預測精度與訓練時間兩方面的結果。針對時間序列預測建模的工作指出,最佳時間間隔d 與該時間序列的內在維度D 相關[11,12]。由于并沒有通用的經驗方法來確定最佳的d 值,這里我們通過比較模型性能和計算成本來獲取最優解。

圖2 SVR 模型數據結構
2.1.3 核函數及參數選取

本文中選取的5 個城市為北京、南京、武漢、成都和廣州,分別代表了中國的各方位大城市的氣象污染狀況。空氣污染數據抓取自中國環保部網站發布的實時信息,為2013年6月到12月的每小時數據,包括PM2.5、PM10、NO2、CO、SO2、O3等污染物數據。同時選取了溫度、氣壓、降雨量、風速和和露點溫度作為輸入的氣象參數。對數據進行了 [0-1]歸一化以提高SVR 模型泛化性。
本文中SVR 方法實驗平臺為OS X 10.9,2.4 GHz CPU,應用libSVM 程序庫進行SVR 訓練。其中,SVR的優化方法采用了序貫最小優化方法 (sequential minimal optimization,SMO)。SVR 參數的搜索算法使用C++編寫,使用了網格搜索算法。其它方法采用對應文獻中的算法。
所選的5個城市從2013年6月到12月的PM2.5濃度如圖3所示,從圖中我們可以看出,PM2.5在不同城市的變化趨勢各不相同,廣州平均濃度最低,為48.2μg/m3,其它4個城市的每小時平均濃度在70~85μg/m3之間,可見PM2.5濃度的差異與地理位置有著密切關系。在本文實驗所選取的5 個城市中,廣州位于亞熱帶季風氣候地區,受海洋的影響比其它內陸城市大。成都位于四川盆地,相較于其它城市其空氣循環受阻較為嚴重,影響到污染物濃度。除北京之外,其它幾個城市受季節性影響較大,夏季的PM2.5濃度明顯低于冬季。北京的PM2.5濃度變化與季節的相關性較低,這與其城市污染物來源復雜及工業水平有關。
盡管這5個城市的每小時平均PM2.5的濃度不超過80 μg/m3,但高PM2.5濃度的數據使得其數據波動較大。所有城市的具體統計數據如表1所示。從PM2.5的濃度的頻率和分布可以得知,國內大部分城市的PM2.5濃度都超過了GB3905-2012標準所規定的指標 (見表2)。在這種高污染的情況下,顯然適用于其它國家的統計學模型和化學傳輸模型都不適合我國的國情。此外,PM2.5的濃度受地理位置的影響較為明顯,很難建立一個具有普適性的模型。機器學習方法,尤其是SVR 方法,可以分別針對不同城市的情況進行訓練,具有很強的自適應性,有利于PM2.5濃度預測模型的建立。

圖3 所選城市從2013年6月至12月的PM2.5濃度變化 (起始點為2013年6月12日16點)

表1 各城市PM2.5濃度頻率統計

表2 GB3095-2012對于大氣顆粒物的監控標準
3.2.1 參數選取
考慮到數據的連續性問題,我們選取6月到8月的連續數據作為研究對象,其中包括1200 個小時的數據。前1000個小時的數據作為訓練集,進行5等分交叉驗證,后200個小時的數據作為驗證集。參數值搜索采用等步長網格搜索方法,搜索范圍為2-5-213,指數步長每次增加1。通過上述方法,可以獲得最優的C,ε,σ參數。
在預測特征的時間跨度d 選取上,分別比較了時間跨度為1~7小時的訓練時間和模型較差驗證的精度,如表3所示。采用數據為南京前1000小時的數據,首先通過交叉驗證尋得3個最優參數C,ε,和σ,并改變時間跨度d 的數值,通過預測數據的MSE數值比較,以得到最適合預測模型的d 參數。

表3 不同時間跨度的預測特征的訓練時間和精度比較
從表3中可以看出,在1~5小時上,隨著預測特征時間跨度的增加,SVR 模型的預測精度有著顯著的升高,說明了增長預測特征的時間跨度能夠減少因PM2.5的不確定性引起的誤差。當時間跨度增加到5 小時以上后,預測結果的MSE 值下降變緩,但模型的訓練時間則大大增長,這是由于預測特征的數量的增加,在SVR方法這樣的高時間復雜度算法下,將會大大增加其計算時間。綜合考慮訓練時間和SVR 模型精度,選取5 小時作為最優的預測特征時間跨度,能夠保證預測精度及訓練效率。
3.2.2 優化后模型的預測能力分析
5個城市的PM2.5濃度預測效果如圖4與表4所示,其中所選的時間跨度均為5小時,預測值為預測特征后1小時的PM2.5濃度。可以看出,該時間跨度上每個城市的污染物均能得到很好的預測效果,相對誤差基本小于10%,可以達到實際短期預測的效果。該方法對不同城市的PM2.5濃度預測均具有普適性,而并非傳統經驗模型或化學遷移模型很強的局域性。

圖4 訓練集跨度為5小時的SVR 模型在各城市數據上的預測表現

表4 各城市的PM2.5預測結果
3.2.3 預測結果的可信性
針對SVR 預測模型的預測結果可信性,我們同時對SVR方法在不同未來預測時間跨度上的預測效果進行了測試。我們選取了未來1到20個小時的時間跨度對南京市的數據進行了測試。如圖5所示,所選取的時間跨度 (20h)上,SVR 預測結果的均方差都不超過20μg/m3,與此前實驗結果的誤差范圍保持一致。這說明在當前預測參數的選取條件下,SVR 模型并未發生過學習問題,因此SVR 模型預測的結果具有可信性。此外在12小時附近MSE 值產生了極小值,這有可能與空氣污染物的內在轉化時間存在聯系。

圖5 不同時間跨度的預測誤差比較
盡管預測MSE存在一定的波動,但均能夠滿足實際預測與污染物濃度分級的需要。由于本實驗選用數據集規模不大,可以想見,如果有長期觀測的數據積累,SVR模型預測的效果將會有進一步的提高。此外,我們就這種SVR 訓練方法與其它文章中報道的用于大氣污染物的其它機器學習方法(NN[9]、HSMM[6])等進行比較,比較了5城市使用最優參數在前1000小時的平均訓練時間與預測精度(見表5)。

表5 與其它方法的實驗結果比較
結果表明,SVR 方法的預測誤差率遠低于其它方法,說明了其在處理高維非線性系統的適應性。SVR 方法的訓練時間長于其它方法。由于SVR 方法為約束二次規劃優化問題,通常需要使用內點算法等,相對于NN 方法等使用的梯度下降方法復雜度更高。盡管使用了SMO 優化,但SVR 方法在特征維度較高的情況下仍有更長的訓練時間。后續可以考慮采用主成分分析 (PCA)等方法來選取有效特征,降低特征維度,減少訓練時間。考慮到預測精確性的前提于,SVR 方法仍滿足實際應用的需求。綜上所述,本文使用的方法具有可行性與有效性。
PM2.5濃度預測是我國當前大氣污染治理方面的重要問題,對實際應用具有重要意義。本文應用了支持向量機回歸 (SVR)方法對我國5個城市的PM2.5濃度進行了建模與預測。利用各大氣污染物濃度數據與氣象數據因素訓練模型,并通過調節預測特征時間間隔確保模型訓練的效率與準確性。實驗結果表明,相比其它機器學習方法,SVR 方法在所選城市的數據上均具有很高的預測精度,在中短期的預測應用上有著較好的表現,體現了其可行性與有效性。
[1]Fann N,Lamson A D,Anenberg SC,et al.Estimating the national public health burden associated with exposure to ambient PM2.5and ozone[J].Risk Analysis,2012,32 (1):81-95.
[2]MA H,SHEN H,LIANG Z,et al.Passengers’exposure to PM2.5,PM10,and CO2in typical underground subway platforms in shanghai[M]//Proceedings of the 8th International Symposium on Heating,Ventilation and Air Conditioning.Berlin:Springer Berlin Heidelberg,2014:237-245.
[3]Franck U,Odeh S,Wiedensohler A,et al.The effect of particle size on cardiovascular disorders-The smaller the worse[J].Science of the Total Environment,2011,409 (20):4217-4221.
[4]Chemel C,Fisher BEA,Kong X,et al.Application of chemical transport model CMAQ to policy decisions regarding PM2.5in the UK [J].Atmospheric Environment,2014,82:410-417.
[5]Balachandran S,Chang HH,Pachon JE,et al.Bayesianbased ensemble source apportionment of PM2.5[J].Environmental Science &Technology,2013,47 (23):13511-13518.
[6]DONG M,YANG D,KUANG Y,et al.PM2.5concentration prediction using hidden semi-Markov model-based times series data mining [J].Expert Systems with Applications,2009,36(5):9046-9055.
[7]HUANG Jinjie,YANG Guihua, MA Junchi.Evaluation model of air pollution based on gauss model [J].Computer Simulation,2011,28 (2):101-104 (in Chinese). [黃金杰,楊桂花,馬駿馳.基于高斯的大氣污染評價模型 [J].計算機仿真,2011,28 (2):101-104.]
[8]Domańska D,Wojtylak M.Application of fuzzy time series models for forecasting pollution concentrations [J].Expert Systems with Applications,2012,39 (9):7673-7679.
[9]Voukantsis D,Karatzas K,Kukkonen J,et al.Intercomparison of air quality data using principal component analysis,and forecasting of PM10and PM2.5concentrations using artificial neural networks,in Thessaloniki and Helsinki[J].Science of the Total Environment,2011,409 (7):1266-1276.
[10]Ben-hur A,Weston J.A user’s guide to support vector machines[M]//Data Mining Techniques for the Life Sciences.Humana Press,2010:223-239.
[11]Mellit A,Pavan A M,Benghanem M.Least squares support vector machine for short-term prediction of meteorological time series[J].Theoretical and Applied Climatology,2013,111(1-2):297-307.
[12]CHEN Rong,LIANG Changyong,XIE Fuwei,Application of nonlinear time series forecasting methods based on port vector regression [J].Journal of Hefei University of Technology,2013,36 (3):369-374 (in Chinese). [陳榮,梁昌勇,謝福偉.基于SVR的非線性時間序列預測方法應用綜述 [J].合肥工業大學學報:自然科學版,2013,36 (3):369-374.]