張 立,王騰軍,劉帥令,方 珂
(長安大學(xué)地質(zhì)工程與測繪學(xué)院,陜西 西安 710054)
近年來,由于我國工業(yè)化程度不斷的提高,導(dǎo)致空氣中顆粒污染物的濃度不斷加大,尤其是空氣動(dòng)力學(xué)直徑<2.5 μm的顆粒物PM2.5。PM2.5進(jìn)入人的呼吸系統(tǒng)后,容易引發(fā)哮喘、支氣管炎和心血管病等方面的疾病,并且已經(jīng)引起了政府以及研究人員的高度重視。因此如何對(duì)PM2.5濃度做出準(zhǔn)確以及高效的預(yù)測對(duì)人類的生產(chǎn)、生活及出行具有重要的實(shí)踐意義。
付倩嬈[1]采用散點(diǎn)圖篩選出主要影響因子,建立了多元線性回歸模型預(yù)測北京市PM2.5日均濃度,但由于多元線性回歸模型難以顧及各影響因素之間的非線性關(guān)系,故預(yù)測精度較低。李祥等[2]采用自回歸移動(dòng)平均模型(ARMA,auto re-ressive and moving average)用于短期內(nèi)空氣污染物濃度的預(yù)測,但該模型很難對(duì)特定的數(shù)據(jù)構(gòu)造合適的模型,對(duì)模型的應(yīng)用受到一定的限制。蘇筱倩等[3]采用支持向量機(jī)(SVMR,support vector machine regression)分別預(yù)報(bào)了南京工業(yè)區(qū)03的小時(shí)值、日最大值和最大8小時(shí)滑動(dòng)平均值,但是該模型很難對(duì)大規(guī)模樣本進(jìn)行實(shí)施。李朝陽等[4]采用GM(1,1)模型,對(duì)烏魯木齊未來4 a的環(huán)境空氣質(zhì)量進(jìn)行了預(yù)測分析,但該模型對(duì)原始數(shù)據(jù)的要求較高,當(dāng)原始數(shù)據(jù)波動(dòng)較大時(shí)預(yù)測精度往往較低。
BP神經(jīng)網(wǎng)絡(luò)是一種機(jī)器學(xué)習(xí)方法,由于它具有實(shí)現(xiàn)復(fù)雜非線性映射的功能,這使它特別適合去解決內(nèi)部機(jī)理問題,因此利用BP神經(jīng)網(wǎng)絡(luò)去預(yù)測PM2.5濃度相比于其他方法有一定的優(yōu)勢。例如王敏等[5]針對(duì)PM2.5日均濃度采用BP神經(jīng)網(wǎng)絡(luò)預(yù)測了研究區(qū)域空氣中PM2.5濃度的空間變異,較常規(guī)方法相比取得了不錯(cuò)的預(yù)測結(jié)果。但是傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)是一個(gè)弱預(yù)測器,往往會(huì)陷入局部最優(yōu)解的問題,因此模型預(yù)測精度有待提高。
為此研究采用混沌粒子群(CPSO,chaos particle swarm optimization)算法對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化,可以有效避免神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu)解的問題,以達(dá)到提高PM2.5濃度預(yù)測精度的目的。
平均影響值(MIV,mean impact value)算法是目前在神經(jīng)網(wǎng)絡(luò)應(yīng)用中評(píng)價(jià)變量相關(guān)性最好的指標(biāo)之一[6]。該算法可用于確定輸入變量對(duì)輸出變量的影響大小,其符號(hào)代表相關(guān)的方向,絕對(duì)值代表影響的大小,其算法流程如圖1所示。
圖1 MIV算法流程Fig.1 MIV algorithm process
具體的訓(xùn)練過程[7]如下:
(1) 在原值的基礎(chǔ)上加/減10%,構(gòu)成2個(gè)新的樣本A1和A2。
(2) A1和A2分別作為仿真樣本,并且利用原始樣本訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行仿真,得到2個(gè)仿真結(jié)果B1和B2。
(3) 求出B1和B2的差值,得到該變量對(duì)輸出結(jié)果產(chǎn)生的影響變化值(IV,impacet value),最后將IV按照樣本個(gè)數(shù)求取平均值,即MIV。
BP神經(jīng)網(wǎng)絡(luò)是一種前饋傳遞的網(wǎng)絡(luò)模型,其特點(diǎn)是網(wǎng)絡(luò)中的正常信號(hào)正向傳播,誤差信號(hào)反向傳播。在正向傳播過程中,輸入信息經(jīng)過輸入層、隱含層處理并傳向輸出層;如果輸出層得不到期望的輸出,則進(jìn)入誤差反向傳播過程,將誤差信號(hào)沿原來的路徑返回,通過反復(fù)修改權(quán)值和閾值,使其達(dá)到期望的輸出[8]。它的拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.2 BP neural network topology structure diagram
在圖2中X1,X2,…,Xn為輸入變量;Y1,…Ym為輸出變量;wij和wjk分別為輸入層與隱含層和隱含層與輸出層的連接權(quán)值。由此可以看到輸入層和輸出層是一個(gè)非線性的映射關(guān)系。
(1) 粒子群算法概述 粒子群(PSO,particle swarm optimization)算法是Kennedy和Eberhart根據(jù)鳥類的覓食過程提出的[9]。作為一個(gè)新興的智能優(yōu)化算法,它最大的特點(diǎn)是收斂速度快、魯棒性高、具有較好的全局搜索能力[10]。
在PSO算法中,每個(gè)粒子代表了一個(gè)問題的潛在解,并且在迭代過程中不斷更新個(gè)體最優(yōu)解和全局最優(yōu)解直至找到滿足要求的解。
設(shè)粒子群中粒子的總數(shù)為N,問題解的維數(shù)為M,因此粒子種群X=(X1,X2,…,XN),第i個(gè)粒子Xi=(Xi1,Xi2,…,XiM),第i個(gè)粒子經(jīng)歷的最優(yōu)位置Pi=(Pi1,Pi2,…,PiM),種群全局最優(yōu)位置Pg=(Pg1,Pg2,…,PgM),第i個(gè)粒子的速度Vi=(Vi1,Vi2,…,ViM)。則每個(gè)粒子的位置以及速度的變化公式為
(1)
(2)
其中:i=1,2,…,N;d=1,2,…,M;K為迭代次數(shù);C1和C2為學(xué)習(xí)因子;r1和r2為[0,1]之間的隨機(jī)數(shù)。
(2) 混沌粒子群算法 混沌粒子群(CPSO)算法是近年來提出來的一種混合優(yōu)化算法,它將混沌理論和粒子群算法相結(jié)合以達(dá)到尋優(yōu)目的。目前混沌粒子學(xué)主要分為3類:第1類采用混沌序列替換基本粒子群算法的一個(gè)或者多個(gè)參數(shù);第2類采用混沌序列初始化粒子群算法的粒子;第3類采用混沌序列對(duì)粒子群算法搜索到的解進(jìn)行混沌迭代,且第3類有3種方法:對(duì)粒子群中所有粒子進(jìn)行混沌迭代;對(duì)粒子群中部分粒子進(jìn)行混沌迭代;對(duì)粒子群中最優(yōu)粒子進(jìn)行迭代。
研究采用第3類的第3種情況,即對(duì)粒子群中最優(yōu)粒子進(jìn)行混沌迭代。該算法的具體步驟[11]如下:
(1) 對(duì)種群進(jìn)行初始化。確定種群數(shù)量N,問題解維數(shù)D,最大迭代次數(shù)Kmax,混沌最大迭代次數(shù)M,慣性權(quán)重W,學(xué)習(xí)因子C1和C2,速度和位置范圍[Vmin,Vmax]、[Pmin,Pmax]。
(2) 計(jì)算每個(gè)粒子的適應(yīng)度,并更新每個(gè)粒子的最優(yōu)位置Pbest和全局最優(yōu)位gbest。
(5) 將得到的新解進(jìn)行適應(yīng)度計(jì)算,若得到的新解優(yōu)于舊解時(shí),輸出新解。
(6) 判斷是否達(dá)到混沌迭代最大迭代次數(shù),如不滿足,返回步驟(2)。
由于BP神經(jīng)網(wǎng)絡(luò)易出現(xiàn)陷入局部最優(yōu)解的問題,從而導(dǎo)致對(duì)PM2.5濃度預(yù)測達(dá)不到要求?;煦缌W尤核惴梢院芎玫亟鉀QBP神經(jīng)網(wǎng)絡(luò)的問題,因此可以將混沌粒子群算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,具體算法步驟如下[12]:
(1) 確定BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。主要問題是確定隱含層的節(jié)點(diǎn)個(gè)數(shù)。為了提高BP神經(jīng)網(wǎng)絡(luò)的預(yù)測精度,一般隱含層節(jié)點(diǎn)個(gè)數(shù)用經(jīng)驗(yàn)公式確定[13],即
(3)