鄭國威,王騰軍
(長安大學(xué)地質(zhì)工程與測繪學(xué)院, 西安 710054)
隨著我國工業(yè)化、城鎮(zhèn)化進(jìn)程的不斷加快,霧霾天氣的頻發(fā)愈演愈烈,引起了國家和人們的高度重視。各級政府都在不斷出臺“鐵腕治霾”,“保護(hù)藍(lán)天”等一系列措施。PM2.5作為霧霾的主要成分不僅對人民的生活健康帶來嚴(yán)重的威脅,還影響著社會經(jīng)濟(jì)的發(fā)展。PM2.5因其自身的粒徑較小能夠長時間停留在大氣中,并吸附一些其他的有害物質(zhì),被吸入到人體中,很容易誘發(fā)呼吸道感染和心血管疾病[1]。PM2.5濃度變化進(jìn)行有效地監(jiān)測成為了一個急需解決的問題。因此對PM2.5的準(zhǔn)確預(yù)測對城市的建設(shè)和發(fā)展有著重要的意義[2]。
目前,對于PM2.5濃度的預(yù)測準(zhǔn)確度不高的問題,國內(nèi)外的學(xué)者提出各種來解決這一問題。比較常用的模型有:灰色理論模型[3]、BP神經(jīng)網(wǎng)絡(luò)模型[4~6]、SVM[7-8]、隨機(jī)森林回歸分析[9-10]等。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)容易出現(xiàn)過度擬合、陷入局部最優(yōu)等缺點。當(dāng)原始數(shù)據(jù)存在噪聲,灰色模型的預(yù)測精度會大大降低。由于不同的模型有著不一樣的適用范圍和優(yōu)缺點,如果采用單一模型可能會導(dǎo)致信息的缺失,不能全面反映實際的情況,會造成預(yù)測準(zhǔn)確度的下降[11]。因此將SVM和WNN的進(jìn)行組合,結(jié)合兩個模型優(yōu)點建立SVM-WNN模型對PM2.5濃度進(jìn)行預(yù)測。
SVM是Vapnik等人在1995年開發(fā)的基于統(tǒng)計學(xué)習(xí)理論的機(jī)器學(xué)習(xí)方法。該方法以結(jié)構(gòu)風(fēng)險最小化為基礎(chǔ),能夠較好的解決小樣本、非線性、高維數(shù)等問題,在分類、回歸等領(lǐng)域已經(jīng)得到了很好的應(yīng)用[12]。
在給定的樣本數(shù)據(jù){(x1,y1),(x2,y2),…,(xl,yl)}中,xi是輸入向量,yi是輸出向量。支持向量機(jī)回歸的基本思想是將樣本數(shù)據(jù)中的輸入向量通過一個非線性性變換映射到一個高維特征空間中,然后構(gòu)造一個最優(yōu)的線性回歸函數(shù):
f(x,α)=ω*x+b
(1)
(2)
約束條件為:
yi-f(xi)≤ξi+ε
(3)
式中:i=(1,2,3……l),c是懲罰因子。
在求解優(yōu)化方程時,引入Lagrange函數(shù),分別對式中的變量求導(dǎo)數(shù),令其等于零。可求得f(x)的表達(dá)式為:
(4)
引入核函數(shù)K(x,xi)=h(x)h(xi),并代入上式中可得:
(5)
式中:α,αi是朗格朗日乘子,g是核函數(shù)的參數(shù)。由于RBF核函數(shù)在實際應(yīng)用中最為廣泛,無論是在小樣本、大樣本、低維、高維等情況下,RBF核函數(shù)都能適用,而且RBF需要確定的參數(shù)要少,故核函數(shù)K(x,xi)采用徑向基函數(shù)(RBF)。
交叉驗證是檢驗?zāi)P头诸愋Ч囊环N統(tǒng)計方法,其基本理論是訓(xùn)練的數(shù)據(jù)劃分成K個子集,在訓(xùn)練時每次選取一個子集作為期望輸出,其余的K-1個子集作為輸入值,一共進(jìn)行K次,計算 k 組測試結(jié)果的平均值作為模型性能指標(biāo)。該方法不僅可以有效地避免過度擬合的情況,而且提高選取最優(yōu)參數(shù)的效率。
網(wǎng)格搜索算法基本思想是通過設(shè)定的懲罰因子c和g來建立起一個二維的網(wǎng)格,通過遍歷每一個網(wǎng)格內(nèi)的點,利用該點對應(yīng)的值對SVM進(jìn)行訓(xùn)練,最后得到最優(yōu)的參數(shù)c和g。
基于網(wǎng)格搜索優(yōu)化SVM預(yù)測模型建立過程如下。
(1)由于樣本數(shù)據(jù)量綱之間存在差異性,采用MATLAB中mapminmax函數(shù)對數(shù)據(jù)進(jìn)行歸一化處理,其公式為:
(6)
(2)利用網(wǎng)格搜索算法選取SVM最優(yōu)參數(shù)c和g。
(3)將最優(yōu)參數(shù)代入到SVM中對訓(xùn)練集進(jìn)行訓(xùn)練。
(4)利用訓(xùn)練好的SVM模型對測試集數(shù)據(jù)進(jìn)行預(yù)測評估。
小波神經(jīng)網(wǎng)絡(luò)是以BP神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),由于小波變換具有較好的時頻局部化特點,通過尺度伸縮和平移對數(shù)據(jù)進(jìn)行多尺度分析,能夠有效提取出原始數(shù)據(jù)的局部信息,將小波基函數(shù)替代原有的隱含層節(jié)點Sigmoid傳遞函數(shù),信號向前傳播的同時誤差反向傳播。對于給定的輸入數(shù)據(jù)xi為(x=1,2,3…k)時,隱含層輸出公式為:
(7)
式中:k表示輸入層節(jié)點個數(shù);l表示隱含層節(jié)點個數(shù);H(j)表示隱含層第j個節(jié)點的輸出值;hj表示小波基函數(shù);ωij表示輸入層和隱含層之間的權(quán)值;aj表示小波基函數(shù)的的伸縮因子;bj表示小波基函數(shù)的的平移因子。小波基函數(shù)種類有很多,根據(jù)實際情況本文采用的morlet母小波基函數(shù),數(shù)學(xué)公式為:
(8)
網(wǎng)絡(luò)輸出層計算公式為
(9)
式中:l表示隱含層節(jié)點數(shù);m表示輸出層節(jié)點數(shù);y(s)表示輸出層第k個節(jié)點的輸出值;ωik是隱含層和輸出層之間的連接權(quán)值;H(j)是第j個隱含層節(jié)點的輸出值。
小波神經(jīng)網(wǎng)絡(luò)采用梯度修正法對權(quán)值參數(shù)進(jìn)行修正,進(jìn)而使輸出值不斷逼近實際值. 具體步驟如下:
(1)計算預(yù)測誤差e:
(10)
式中:yn(s)為歸一化后的實際值,y(s)為模型預(yù)測值。
(2)根據(jù)誤差e修正對小波基函數(shù)系數(shù)和網(wǎng)絡(luò)權(quán)值。
(11)
PM2.5濃度變化具有一定復(fù)雜性,而小波神經(jīng)網(wǎng)絡(luò)具有較強的學(xué)習(xí)能力和逼近能力,利用小波神經(jīng)網(wǎng)絡(luò)的優(yōu)點將SVM預(yù)測的殘差中的規(guī)律性成分進(jìn)一步提取出來,從而提高模型的預(yù)測精度,其流程圖如圖1所示。組合模型的建立和預(yù)測過程如下。
(1)將原始的樣本數(shù)據(jù)經(jīng)過歸一化處理后,利用SVM進(jìn)行訓(xùn)練并得出預(yù)測的結(jié)果。
(2)將樣本數(shù)據(jù)和預(yù)測值作差得到殘差序列。
(3)利用小波神經(jīng)網(wǎng)絡(luò)對殘差進(jìn)行修正,得到新的殘差序列。
(4)把SVM的預(yù)測值和新的殘差序列進(jìn)行補償運算,得到最終預(yù)測結(jié)果。
圖1 SVM-WNN預(yù)測流程Fig.1 SVM-WNN prediction process
本文采用石家莊市空氣質(zhì)量監(jiān)測站2018年1月2號到1月22號每小時采集的PM2.5、PM10、SO2、NO2、O3、CO等污染物濃度數(shù)據(jù)。由于原始樣本數(shù)據(jù)之間的往往具有各自的量綱和單位,這會造成預(yù)測的效果不理想。為了解決這一問題,對數(shù)據(jù)樣本進(jìn)行歸一化處理,使得各個指標(biāo)處于同一個數(shù)量級。本文采用的mapminmax函數(shù)進(jìn)行歸一化處理。
本文取前20天數(shù)據(jù)作為訓(xùn)練樣本,最后一天作為測試集進(jìn)行預(yù)測。按照圖1所示的流程圖進(jìn)行預(yù)測,將PM10、SO2、NO2、O3、CO作為輸入因素,PM2.5濃度作為輸出因素。在利用網(wǎng)格搜索算法優(yōu)化時懲罰參數(shù)c的范圍是[2-8,2-8],RBF參數(shù)g的范圍是[2-8,2-8],c和g的步進(jìn)大小為0.8.小波神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù)為5,隱含層節(jié)點為9,構(gòu)建一個5-9-1的網(wǎng)絡(luò)模型。利用建立的單一的模型和組合模型分別對測試集數(shù)據(jù)進(jìn)行預(yù)測,預(yù)測的結(jié)果和實際值的對比情況如圖2所示。
圖2 3種模型預(yù)測效果對比圖Fig.2 Prediction of the effect of the two models compared
計算模型預(yù)測的相對誤差,繪制如圖3所示。
圖3 三種模型預(yù)測相對誤差圖Fig.3 Relative error of prediction of three models
由圖2和圖3可知,SVM預(yù)測最大的相對誤差為28.7%,最小的相對誤差為2.2%,平均相對誤差為11.5%;小波神經(jīng)網(wǎng)絡(luò)預(yù)測最大的相對誤差為36.2%,最小的相對誤差為0.4%,平均相對誤差為12.0%;組合模型預(yù)測最大的相對誤差為21.0%,最小的相對誤差為0.2%,平均相對誤差為7.3%。相對誤差大于10% 3個模型分別占比62.5%、54.1%、33.3%。3種模型相比,組合模型預(yù)測的精度更高且穩(wěn)定性更好,預(yù)測的整體效果要優(yōu)于單一模型。
針對PM2.5濃度預(yù)測的復(fù)雜性,采用網(wǎng)格搜索算法對SVM模型進(jìn)行參數(shù)尋優(yōu),小波神經(jīng)網(wǎng)絡(luò)把神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)特點和小波的局域特性結(jié)合起來對SVM預(yù)測的殘差進(jìn)行修正,盡可能的提取殘差中的確定性因素,從而提高預(yù)測精度。此外,論文中未加入降水,風(fēng)速、濕度等氣象因子,在今后的研究中應(yīng)該考慮更多的影響因素來全面的反應(yīng)PM2.5濃度變化的規(guī)律,從而建立起更加精確的預(yù)測模型。