孫 寧,陳 田,徐桂安
(上海電機學院機械學院,上海 201306)
隨著人們生活水平的提高,健康問題越發得到重視,工業化不斷發展的同時不可避免地對空氣質量產生影響,空氣污染的準確預測能讓人們了解PM2.5濃度的變化趨勢,也為國家控制環境污染提供便利[1]。在現有的研究結果中,PM2.5與PM10是危害公眾健康的主要污染物[2],顆粒物會附著于呼吸道,進入血液循環,不可溶的部分會沉積在肺部,有可能導致炎癥的出現[3]。
PM2.5的形成過程很復雜,通常情況下汽車尾氣、工業污染、煤燃燒等都會造成PM2.5顆粒的排放。經多年發展,PM2.5的檢測方法分為統計學預測方法、機器學習預測方法和深度學習預測方法。早期的統計學方法有線性回歸法、差分整合移動平均自回歸模型等,機器學習有人工神經網絡、支持向量機(Support Vector Machine,SVM)等方法,但由于空氣質量數據具有非線性和時序性的特點,單一模型以及一般的統計方法難以適應實際需求,在此基礎上組合模型的概念被提出,對數據與算法進行優化組合得到了一種比單一模型預測精度高、泛化能力強的新模型。王超學等[4]采用雙系統協同進化的基因表達式編程算法,預測西安地區空氣質量,效果優于單一基因表達式模型。白盛楠等[5]利用灰色關聯度方法對PM2.5的多個屬性進行強度分析。任圓圓等[6]利用循環神經網絡與小波去噪方法組合,開發系統解決了PM2.5預測相關的實際問題。王曉彤等[7]提出了基于多基因遺傳規劃的預測模型,預測效果優于傳統遺傳規劃和BP神經網絡。Pan等[8]針對天津市空氣質量數據,采用XGBoost算法預測PM2.5濃度,并對比隨 機 森 林[9]、支 持 向 量 回 歸[10](Support Vector Regression,SVR)等算法,得到的結果優于上述模型。方娜等[11]建立了基于注意力機制的模態分解和門控循環網絡組合模型,預測短期電力系統的負荷,效果優于單一門控網絡。Bezrukova等[12]利用熱平衡方程預測道路溫度,考慮氣溫、濕度、降雨量、風速等信息,再綜合一些其他數據準確預測了道路結冰面積。趙睿等[13]用粒子群優化(Particle Swarm Optimization,PSO)算法優化了溫室中植物病害的SVR預警模型。SVR雖然適用于非線性數據,但在時序變化上處理能力不足。顧乾暉等[14]針對SVR這一缺點,利用循環神經網絡優秀的時序信息處理能力,建立了粒子群優化支持向量回歸長短時記憶網絡組合模型,有效預測了河流的水位變化。何云山等[15]利用隨機森林算法和遺傳算法,優化了SVM中的關鍵參數,提高了預測的精度。黃妙芬等[16]利用長短時記憶網絡對海水中的石油污染量進行預測,實現了海洋石油污染含量動態變化特征的監測。長短時記憶網絡是一種循環神經網絡的優化版本,解決了循環神經網絡中步數過長造成梯度爆炸和梯度消失的問題。
本文分析了空氣中PM2.5濃度的歷史數據,并對未來一段時間內的數據進行預測,相關數據有非線性的特點,也有時序性和波動性的特征。由于原始數據中有許多復雜的不確定信息,本文在PM2.5實際監測數據的基礎上提高了SVR的預測精度,利用PSO尋找核函數參數和懲罰系數的最優解,通過PSO-SVR方法建立預測模型,該模型在負荷預測、水位預測、能耗預測等時序數據分析上已有廣泛的應用。結果表明,采用該模型預測的準確率較高,為空氣污染防治工作提供了參考。
SVM屬于監督學習模型的一種,主要用于解決數據的分類問題,廣泛應用于文本分類、人臉識別、圖像分類等問題。該模型采用核方法解決非線性不可分的問題,通過在高維或者無限維空間中創造超平面集合,將原本低維度中不可分割的部分投影到高維度空間中,將經驗誤差和結構風險最小化,強化模型的泛化能力,故也被稱為最大間隔分類器。SVM示意如圖1所示,存在著兩種向量,將wx+b=0對應的直線移動至剛好接觸部分樣本處,兩虛線間的距離即為優化量度,而和虛線接觸的樣本即為支持向量,圖1中x為映射函數;w為權重參數;b為偏置量。

圖1 SVM示意圖
在SVM的基礎上拓展回歸問題得到SVR模型,SVR同樣具有稀疏性,若樣本距離模型的距離很近,處于模型的間隔邊界之內,則不計算損失。SVR模型的性能良好,因此,被廣泛應用于預測相關問題。SVR示意如圖2所示,圖中ε為誤差容許量。以方程wx+b=0為中心平面,創建一個寬度為2ε的間隔帶。

圖2 SVR示意圖
在樣本數據D={(xi,yi)|i=1,2,…,n}中,xi、yi分別為第i個樣本的輸入和輸出值,定義一個回歸函數f(x)與y相接近,即

間隔帶兩側松弛度不同,故對樣本坐標引入兩個松弛變量ξ,以確定樣本偏離約束的程度,處于間隔帶內的樣本,代價為0;處于間隔帶外側的樣本距離越大,代價越大,由此得到最優化問題:

式中:C為懲罰系數。
引入拉格朗日乘子α得到對偶形式為

根據式(3)得到最優解α={α1,α2,…,αn},進而得到權重參數和偏置量,最終回歸函數為

式中:αi為拉格朗日乘子。
PSO算法是早期提出的一種受到動物界中集群行為啟發的優化技術。動物通過合作尋找食物時,群體中的同伴通過不斷完善自身的經驗以及學習他人的經驗來更正搜索食物的模式,不斷優化自身覓食的技巧,在數學中相當于通過不斷地更新迭代尋找最優解。設有一個群體X在D維空間中存在n個粒子x=(x1,x2,…,xn),其中第i個粒子的坐標si=(si1,si2,…,siD),同理第i個粒子的個體極值和群體極值分別為:Pi=(Pi1,Pi2,…,PiD),Pg=(Pg1,Pg2,…,PgD)。經數次迭代后,利用式(5)、式(6)不斷更新粒子的坐標位置和速度,即

利用適應度函數不斷更新個體極值和群體極值,直至最大迭代次數或適應度達到理想值停止迭代。
步驟1收集數據,將數據集按一定比例分為測試集和訓練集,并初步進行窗口化操作。
步驟2采用sklearn庫中的MinMaxScaler函數對原始數據進行歸一化操作。
步驟3設定粒子群參數,得到粒子的坐標位置和速度。
步驟4從sklearn庫中導入SVR預測模型,根據初始粒子的坐標,得到新的核函數半徑和懲罰系數。求出粒子的適應度,對個體極值進行更新迭代。
步驟5對比個體粒子的適應度和群體粒子的適應度,若群體粒子的適應度大于個體粒子的適應度,則用個體極值代替群體極值,繼續利用式(5)和式(6)更新粒子的坐標和速度。
步驟6判斷終止條件,若滿足則停止更新,不滿足回到步驟4。
步驟7將最優核函數半徑和懲罰系數輸入SVR預測模型中,得到優化后的SVM模型。
步驟8利用模型對數據進行預測,結果反歸一化處理,得到最終結果。
總預測流程如圖3所示。

圖3 預測流程
本文將平均絕對誤差、決定系數和均方誤差作為模型預測結果的評判標準。平均絕對誤差與均方誤差的數值越小,代表誤差越小,模型的準確率越高;決定系數在[0,1]之間,值越接近1,代表模型擬合的效果越好,但決定系數只能說明大概的準確率,隨著樣本數量的增加,數值也會不斷的提升,不能說明真正的準確率,故還需配合其他標準進行綜合考量。平均絕對誤差、均方誤差、決定系數的表達式如下:

式中:n為樣本的數量;A i為實際值;Aˉ為實際值的平均值;F i為預測值。
時序數據具有較強的前后關聯性,采用滑動窗口算法處理數據的輸入[17]。將數據封裝為一個窗口,窗口內的數據作為模型的輸入,保持窗口大小不變,經實驗,窗口長度設為4,窗口右側為預測輸出值,其模型如圖4所示。

圖4 滑動窗口模型
本文實驗環境為64位win10系統,顯卡型號Tesla K80,處理器Xeon Platinum系列,采用python3.7作為編程語言,開發環境配置工具選擇Anaconda3,由pycharm開發。
數據來源于北京美國大使館2010年記錄的空氣污染指數,考慮了風向、露點、溫度、氣壓、風速、降雨量和降雪量等因素,將數據集進行可視化,如圖5所示。利用sklearn中的SVR函數創建,訓練SVR模型,采用predict函數進行預測。SVR的單一模型對數據的預測結果如圖6所示。可以明顯看出兩條曲線的擬合效果欠佳。

圖5 數據集可視化

圖6 SVR擬合效果
對數據進行窗口化及歸一化預處理,設定PSO相關參數,學習因子C1、C2設置為2,自身權重因子為0.4,種群規模為20,變量約束范圍在0~100之間。將PSO的尋優結果代入SVR模型中,利用predict函數進行預測,反歸一化后PSO-SVR模型的預測結果如圖7所示。

圖7 PSO-SVR擬合效果
從圖5、圖6的預測結果可視化中可以看出,經PSO算法處理后,效果明顯優于SVR的單一模型。兩種模型的3種評價指標對比結果如表1所示。

表1 兩種模型預測效果對比
由表1可知,PSO-SVR組合模型的平均絕對誤差和均方誤差更小,且R2的值相比SVR得到了大幅提升,從0.14提升至0.87,預測更加準確。SVR模型的主要參數為默認參數,容易出現局部最優的情況,無法達到最佳效果。經PSO算法優化的SVR模型會根據樣本的輸入,不斷地尋找當前SVR的最優參數,保證了預測準確率的同時,能在一定程度上避免過擬合的出現。
氣候條件屬于一種混沌系統,預測的時間段越長,準確預測的難度越高,PM2.5受氣候條件的影響。為了實現預測須在非線性高維度的時序數據中進行特征提取,本文采用PSO算法優化SVR關鍵參數,對原始數據進行了特征提取,并實現了數據降維。從結果看,決定系數得到了提升,體現了PSO優化參數的效果。在今后研究中,可以添加卷積神經網絡強化預測模型的特征提取能力,同時考慮到門控循環單元對長期時序信息優良的記憶力,可以加入組合模型提升結果的穩定性。