徐 廈, 李水艷
(河海大學(xué)理學(xué)院,南京 211100)
伴隨城市化與工業(yè)化進(jìn)程,有關(guān)空氣質(zhì)量問(wèn)題愈加受到關(guān)注,對(duì)于空氣質(zhì)量時(shí)間序列問(wèn)題的預(yù)測(cè)模型,國(guó)外,Boznar[1]對(duì)空氣質(zhì)量用神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè);Kolehmainen等[2]對(duì)比多種模型,使用MLP模型來(lái)預(yù)測(cè)NO2效果最優(yōu),還有利用大量空氣質(zhì)量數(shù)據(jù)的天氣研究與預(yù)報(bào)(WRF)模型[3];Patricio等[4]使用線性回歸模型和多層神經(jīng)網(wǎng)絡(luò)對(duì)智利某地空氣質(zhì)量預(yù)測(cè);Perez等[5]通過(guò)線性算法與聚類算法,再結(jié)合多層神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)PM2.5的濃度水平;Dong等[6]利用隱半馬爾可夫模型(HSMMs)來(lái)預(yù)測(cè)芝加哥的空氣質(zhì)量水平;Dimitris 等[7]采用PCA與線性回歸和人工神經(jīng)網(wǎng)絡(luò)模型結(jié)合對(duì)希臘和芬蘭的城市空氣質(zhì)量預(yù)測(cè);Opera等[8]利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)與人工神經(jīng)網(wǎng)絡(luò)對(duì)某地的PM2.5預(yù)測(cè);Giuseppe等[9]對(duì)BP神經(jīng)網(wǎng)絡(luò)的不足進(jìn)行改進(jìn),通過(guò)所得誤差代價(jià)函數(shù)優(yōu)化結(jié)果. 國(guó)內(nèi),則有王娟等[10]等通過(guò)短期預(yù)測(cè)模型GM(1,1)模型對(duì)高密空氣濃度進(jìn)行預(yù)測(cè);謝永華等[11]采用SVM和HSMM方法對(duì)城市PM2.5濃度分析;袁章帥等[12]利用ARMA(1,2)模型預(yù)測(cè)北京市空氣質(zhì)量,為改善空氣質(zhì)量提出建議;彭斯俊等[13]分別用灰色系統(tǒng)預(yù)測(cè)模型結(jié)合差分自回歸移動(dòng)平均(ARIMA)模型對(duì)空氣濃度進(jìn)行預(yù)測(cè);Lv等[14]采用非線性回歸模型對(duì)內(nèi)地三個(gè)城市的PM2.5等空氣質(zhì)量進(jìn)行預(yù)測(cè).
空氣質(zhì)量數(shù)據(jù)由于受到季節(jié)變動(dòng)和周期等影響,因而具有波動(dòng)性. 針對(duì)這些問(wèn)題,本文利用基于奇異譜分析對(duì)空氣質(zhì)量數(shù)據(jù)去噪,再通過(guò)非慣性權(quán)重和變步長(zhǎng)來(lái)改進(jìn)螢火蟲算法,優(yōu)化BP網(wǎng)絡(luò)來(lái)建立混合預(yù)測(cè)模型.
奇異譜分析(SSA)是分解原始序列包含的信號(hào)與噪聲,用前幾個(gè)特征值對(duì)應(yīng)分量重構(gòu)出新的序列來(lái)作為預(yù)測(cè)模型的輸入序列.
步驟1:嵌入. 給定一維時(shí)間序列X=(x1,x2,…,xN),選擇一合適的嵌入維數(shù)即窗口長(zhǎng)度L(2 ≤L≤N2),且K=N-L+1,按照下列方式構(gòu)造軌跡矩陣:
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為輸入層、隱藏層以及輸出層[16-18]. 因隱藏層節(jié)點(diǎn)的確定對(duì)網(wǎng)絡(luò)有影響[19],文中通過(guò)一般最佳隱含層節(jié)點(diǎn)的確定方法[20],經(jīng)過(guò)多次實(shí)驗(yàn)后,采取節(jié)點(diǎn)個(gè)數(shù)為15的隱藏層BP結(jié)構(gòu)設(shè)計(jì)為60-15-1,結(jié)構(gòu)見圖1.
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 BP neural network structure
螢火蟲算法(FA)依據(jù)亮度大螢火蟲吸引亮度小螢火蟲來(lái)尋優(yōu),實(shí)現(xiàn)位置不斷迭代[21-22],過(guò)程如下.
1)初始化參數(shù),如迭代次數(shù)和螢火蟲位置等.
2)得到螢火蟲的吸引度β和相對(duì)熒光度I,公式如下:
其中:β0為r=0 時(shí)吸引值;I0為最大螢光亮度;γ為光吸收系數(shù);rij為螢火蟲i與j之間的距離.
3)更新螢火蟲位置,螢火蟲i被螢火蟲j吸引位置的更新如下,式中xi,xj為螢火蟲i與j所處位置,α∈[0,1]為步長(zhǎng)因子.
4)由更新后位置來(lái)計(jì)算螢火蟲的亮度.
5)滿足條件即得到全局的極值點(diǎn),否則轉(zhuǎn)2)步再次運(yùn)行.
由于BP神經(jīng)網(wǎng)絡(luò)具有收斂速度緩慢[23]等不足. 本節(jié)通過(guò)將變步長(zhǎng)和非線性權(quán)值結(jié)合得到的改進(jìn)螢火蟲算法(AWFA)來(lái)優(yōu)化網(wǎng)絡(luò)權(quán)重等參數(shù)[24],再次代入BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),達(dá)到彌補(bǔ)BP神經(jīng)網(wǎng)絡(luò)的缺點(diǎn)的目標(biāo),并且兼具兩者的優(yōu)點(diǎn),從而具有更優(yōu)的準(zhǔn)確度和收斂速度.
1.4.1 變步長(zhǎng) 在FA算法中,對(duì)環(huán)境中一切螢火蟲個(gè)體采用同一個(gè)固定的步長(zhǎng),存在求解精度與求解速度不高等缺陷. 因而,要采用變步長(zhǎng)[25]的方法,即為每個(gè)螢火蟲個(gè)性化地設(shè)置步長(zhǎng)參數(shù),能提高螢火蟲優(yōu)化算法的搜索能力和性能. 該算法(AFA)的改進(jìn)思想為:在算法迭代期間,每進(jìn)行一次就為每個(gè)螢火蟲個(gè)體動(dòng)態(tài)設(shè)置一個(gè)步長(zhǎng). 設(shè)置的考慮因素為每個(gè)螢火蟲直到目前搜索到的最優(yōu)位置和搜索到目前為止的全局最優(yōu)位置. 具體的步長(zhǎng)設(shè)置公式為
1.4.2 非線性慣性權(quán)重 為改善FA算法的收斂精度與在全局最優(yōu)解附近產(chǎn)生震蕩的不足,采用慣性權(quán)重w,位置迭代公式如下:
w值大會(huì)對(duì)全局搜索能力產(chǎn)生影響,w較小則影響公式的局部搜索能力[26]. 為了提高全局搜索能力,文獻(xiàn)[27]采用tanh 函數(shù)作為構(gòu)造非線性慣性權(quán)重的基函數(shù),函數(shù)公式為
本文選擇a=5 來(lái)進(jìn)行對(duì)w構(gòu)造得到的算法(WFA),w則將定義為
式中:t為當(dāng)前迭代次數(shù);T為最大迭代次數(shù);wmax,wmin分別為w的最大值與最小值.
1.5.1 測(cè)試函數(shù) 為了驗(yàn)證算法的性能,本節(jié)選取兩個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)改進(jìn)算法進(jìn)行實(shí)驗(yàn)驗(yàn)證,測(cè)試函數(shù)如下:
1)Sphere:?jiǎn)畏宥魏瘮?shù)
2)Rastrigin:有大量局部極值點(diǎn)的多峰函數(shù)
1.5.2 仿真結(jié)果與分析 本節(jié)采用改進(jìn)螢火蟲算法AFA、WFA、AWFA 以及遺傳算法GA,對(duì)兩個(gè)測(cè)試函數(shù)畫出尋優(yōu)曲線(圖2),由圖結(jié)果看出,對(duì)于測(cè)試函數(shù)Rastrigin和Sphere,AWFA算法可以通過(guò)更少的迭代次數(shù)更加逼近理論最優(yōu)值,因而AWFA算法的求解質(zhì)量具有一定優(yōu)勢(shì).
圖2 多種算法在測(cè)試函數(shù)f1(上)和f2(下)結(jié)果對(duì)比Fig.2 Comparison of the results of various algorithms in the test function f1(top)and f2(bottom)
本文選取北京某地空氣質(zhì)量2013年10月28日至2019年12月31日的日均PM2.5濃度數(shù)據(jù)見圖3.
圖3 原始序列Fig.3 Original sequence
在奇異譜分析中,窗口長(zhǎng)度的選取不宜超過(guò)時(shí)間序列的三分之一,本節(jié)選取窗口長(zhǎng)度為700來(lái)構(gòu)造軌跡矩陣,根據(jù)方差貢獻(xiàn)結(jié)果,選取前3個(gè)重構(gòu)后時(shí)間序列數(shù)據(jù)見圖4.
圖4 重構(gòu)序列(上)、方差貢獻(xiàn)(下)Fig.4 Reconstructed sequence(top)and variance contribution(bottom)
本節(jié)采用平均絕對(duì)誤差MAE,均方根誤差RMSE和平均絕對(duì)百分比誤差MAPE作為評(píng)價(jià)指標(biāo)如下.
平均絕對(duì)誤差:
均方根誤差:
平均絕對(duì)百分比誤差:
式中:n為預(yù)測(cè)樣本數(shù);Yˉ(t)為預(yù)測(cè)值;Y(t)為實(shí)際值.
對(duì)去噪后數(shù)據(jù)用多種預(yù)測(cè)模型,幾種算法橫向比較見表1,其中SSA-AWFA-BP 在處理此數(shù)據(jù)的預(yù)測(cè)指標(biāo)效果更佳,性能更為優(yōu)越,從而驗(yàn)證了模型的合理性與有效性.
表1 基于時(shí)間序列數(shù)據(jù)的預(yù)測(cè)模型選擇Tab.1 Selection of prediction models based on time series data
奇異譜分析能夠有效改善時(shí)間序列數(shù)據(jù)中噪聲對(duì)模型的影響,并且提取數(shù)據(jù)中趨勢(shì)項(xiàng)和周期成分,與單一的BP神經(jīng)網(wǎng)絡(luò)相比,去噪后預(yù)測(cè)精度更優(yōu). 再利用改進(jìn)FA算法來(lái)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),效果優(yōu)于文中使用的其他模型,該模型是有一定意義的且是可行的,具有一定的使用推廣價(jià)值.
1)本文建立的混合模型對(duì)最大預(yù)測(cè)長(zhǎng)度以及改進(jìn)的螢火蟲優(yōu)化算法中的步長(zhǎng)和權(quán)重等參數(shù)、確定SSA方法的窗口嵌入以及重構(gòu)階次等確定最優(yōu)參數(shù)方面還需進(jìn)一步分析以提高去噪效果. 文中只選取了奇異譜分析去噪,可以比較其他去噪算法,從而進(jìn)一步改善預(yù)測(cè)效果. 可以結(jié)合概率選擇[28]和精英反向?qū)W習(xí)[29]等其他改進(jìn)螢火蟲的優(yōu)化算法.
2)為了改善預(yù)測(cè)精度,可考慮溫度與風(fēng)速等多種影響因素的時(shí)間序列數(shù)據(jù),往后還要進(jìn)一步研究多通道的SSA來(lái)應(yīng)用于時(shí)間序列.