楊婳妍,吳育聯(lián),朱婧巍,易凡茹,吳小濤
( 黃岡師范學(xué)院 數(shù)學(xué)與統(tǒng)計學(xué)院,湖北 黃岡 438000)
細(xì)顆粒物(Fine Particulate Matter, PM2.5)是指直徑不大于2.5微米的顆粒物,具有直徑小、活動能力和吸附有毒物質(zhì)能力強(qiáng)、總面積大的特征,隨著空氣流動四處擴(kuò)散,對人類健康構(gòu)成威脅[1]。通過對PM2.5日均濃度的預(yù)測研究,人們可以及時地獲得某個區(qū)域的PM2.5濃度,在一定程度上避免去濃度超標(biāo)的區(qū)域活動,保護(hù)身體健康,或者提前做好防護(hù)工作,消除空氣質(zhì)量的不良影響;政府相關(guān)部門也可以進(jìn)行合理的安排規(guī)劃,根據(jù)具體情況做出正確的決策,為社會公眾更好地服務(wù)[2];環(huán)保部門更加準(zhǔn)確的掌握PM2.5濃度的變化規(guī)律,預(yù)測結(jié)果可以為環(huán)保部門治理PM2.5時提供分析依據(jù)。綜上所述,預(yù)測PM2.5日均濃度具有十分重要的現(xiàn)實意義。
近年來,國內(nèi)外學(xué)者對PM2.5濃度預(yù)測進(jìn)行了大量的研究。如馮樷、姚達(dá)文等[3-4]采用神經(jīng)網(wǎng)絡(luò)模型對PM2.5進(jìn)行了預(yù)測,并與多元統(tǒng)計預(yù)測模型比較,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度更高,但是模型結(jié)構(gòu)的參數(shù)需要經(jīng)過多次調(diào)整,準(zhǔn)確率才能有效提高,因此其計算復(fù)雜度較大。Zhou等[5]利用集合經(jīng)驗?zāi)B(tài)分解(EEMD)和廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)混合模型對PM2.5濃度進(jìn)行了預(yù)測,雖然預(yù)測精度較神經(jīng)網(wǎng)絡(luò)模型高,但是在對原始序列進(jìn)行EEMD后得到的子序列較多,分別建立預(yù)測模型使得計算復(fù)雜度較大。謝申汝等[6]利用LIBSVM模型對PM2.5濃度進(jìn)行預(yù)測,最大的特點是由于SVM模型只含有兩個參數(shù),調(diào)整起來很方便,但是并沒有給出這兩個參數(shù)的優(yōu)化算法。
本文提出了一種基于集合經(jīng)驗?zāi)B(tài)分解(EEMD)和樣本熵(SE)、粒子群優(yōu)化最小二乘支持向量機(jī)(PSO-LSSVM)的PM2.5組合預(yù)測模型,來對PM2.5日均濃度進(jìn)行短期預(yù)測。通過EEMD,原始序列被分解為多個分量序列,可降低原始數(shù)據(jù)的復(fù)雜度和不穩(wěn)定性;樣本熵對EEMD得到的分量進(jìn)行重組可以簡化計算,提高運(yùn)算效率;對重組后的新分量分建立LSSVM預(yù)測模型進(jìn)行預(yù)測,PSO算法對LSSVM預(yù)測模型的參數(shù)優(yōu)化,提高模型的預(yù)測精度;最后將各個LSSVM預(yù)測模型的預(yù)測結(jié)果疊加得到最終的預(yù)測值。
EEMD算法[7]是在經(jīng)驗?zāi)B(tài)分解(EMD)算法上改進(jìn)得到的,EMD的基本思想是對于某個非平穩(wěn)的序列,分析序列的局部特征尺度(極值點),把尺度不相等的波動逐步地篩選,從而得到若干個不同的分量。由于EMD屬于遞歸模式分解算法,包絡(luò)線估計誤差在分解過程中不斷累積,所以存在模態(tài)混疊現(xiàn)象。EEMD則是通過加上一些高斯分布的白噪聲在原始信號序列上,解決原始EMD模式中存在的混疊問題。EEMD的具體分解步驟如下:
步驟1:將若干個隨機(jī)高斯白噪聲序列ωm(t)加入到原始信號序列x(t)中,組成信噪混合序列:
Xm(t)=x(t)+ωm(t)
(1)
步驟2:對Xm(t)進(jìn)行EMD分解,得到n個IMF分量ci,m(t),i=1,2,…,n,以及一個剩余分量ωn,m(t),即
(2)
步驟3:將不同的高斯白噪聲序列加到原始信號序列x(t)上,重復(fù)之前的兩個步驟,得到IMF分量和剩余分量,一共記錄下M組不同的數(shù)據(jù);
步驟4:對上述M組IMF分量及剩余分量組合,分別計算均值,作為EEMD的分解結(jié)果,表示為:
(3)
(4)
序列采用EEMD分解得到的分量個數(shù)往往隨著序列規(guī)模的增加而增加,為了降低預(yù)測的時間復(fù)雜度,本文基于樣本熵理論,對EEMD分解得到的分量進(jìn)行重組。
樣本熵(SampEn)是由Richman等于2000 年基于近似熵(ApEn)提出的一種時間序列復(fù)雜性測度方法。序列的復(fù)雜度越低,樣本熵值就越??;反之,樣本熵值就越大[7]。對于EEMD 得到的分量,如果直接對每個分量分別建立預(yù)測模型進(jìn)行預(yù)測,不僅會增加計算的規(guī)模,而且還忽略了分量之間的相關(guān)性,因此將具有相關(guān)性的分量序列利用樣本熵進(jìn)行重組,這樣不僅能夠減少運(yùn)算時間,還能突顯同類分量序列的特性。
樣本熵可用SampEn(Num,m,r)來表示,其中Num表示序列的長度,m表示序列的維數(shù),r表示序列的相似容限。給定序列樣本熵的計算步驟如下:
步驟1:將Num個數(shù)據(jù)點的時間序列依照數(shù)據(jù)點的排序,以m個數(shù)據(jù)點為一個子片段進(jìn)行劃分,總共可以得到Num-m+1個子序列片段,記為X(i);
步驟2:計算和當(dāng)前第i個子片段序列相似的其他序列所占的比例以及與其他(Num-m)個子序列片段之間對應(yīng)數(shù)據(jù)點之間的最大距離d[X(i),X(j)],總共需要計算Num-m次;
步驟3:將這Num-m個距離分別和給定的閾值r進(jìn)行比較,當(dāng)計算所得的距離小于閾值r時,被認(rèn)為當(dāng)前距離對應(yīng)的兩個子序列之間是相似的。對相似性序列個數(shù)進(jìn)行計數(shù),除以子片段序列總數(shù)Num-m,得到當(dāng)前序列相抵的子序列的比例;
步驟4:上述結(jié)果是對一個子片段序列X(i)的相似性比例進(jìn)行度量得到,對整個時間序列對應(yīng)的所有子片段作分析得到該m個數(shù)據(jù)點規(guī)模下的子片段序列的平均相似率Bm(r);
步驟5:同理取子序列片段的長度為m+1,重復(fù)上述操作得到Bm+1(r);
步驟6:取兩個平均相似率值的對數(shù)作差,得到原始序列信號的樣本熵:
SampEn=lnBm(r)-lnBm+1(r)
(5)
SampEn的值受到m和r的值的影響,但因為樣本熵本身的一致性比較好,因此其值不會由于m和r的影響,而變化較大。常常將嵌入維數(shù)m的值取1或2,相似度閾值r的值取原始序列標(biāo)準(zhǔn)差(SD)的0.2倍左右。本文取m=2,r=0.15SD。
粒子群優(yōu)化算法(PSO)是一種基于群體智能的優(yōu)化算法,其基本思想是通過群體中個體之間的信息傳遞和共享來尋找最優(yōu)解。最小二乘支持向量機(jī)(LSSVM)是通過改進(jìn)支持向量機(jī)(SVM)得到的,它不僅繼承了支持向量機(jī)泛化能力強(qiáng)、全局最優(yōu)等優(yōu)點,而且克服了支持向量機(jī)計算復(fù)雜度高、運(yùn)算速度慢的缺點。LSSVM預(yù)測時,懲罰參數(shù)c和高斯核函數(shù)中的參數(shù)σ對預(yù)測效果的影響顯著。一般憑個人經(jīng)驗、實驗對比、網(wǎng)格搜索法或者交叉驗證等方法進(jìn)行尋優(yōu),這些方法不僅效率低而且效果不佳。本文采用PSO來優(yōu)化這兩個參數(shù),從而建立最優(yōu)的LSSVM預(yù)測模型[8]。
由于要預(yù)測的原始序列往往表現(xiàn)出非穩(wěn)定性,直接采用PSO優(yōu)化的LSSVM預(yù)測模型進(jìn)行預(yù)測,預(yù)測精度往往不高。如果對原始序列先采用EEMD分解,可以有效的降低原始序列的非平穩(wěn)性。隨著原始序列數(shù)據(jù)量的增大,EEMD往往會得到多個分量,預(yù)測的時間復(fù)雜度變大。采用樣本熵可以整合這些分量,從而降低預(yù)測的時間復(fù)雜度。綜上分析,本文提出基于EEMD-SE和PSO-LSSVM的PM2.5日均濃度組合預(yù)測模型,來對未來三天的PM2.5日均濃度進(jìn)行預(yù)測。具體步驟如下:
步驟1:根據(jù)原始PM2.5日均濃度序列V={x1,x2,…xi,…,xn},其中xi表示在時刻i(i=1,2,…,n)的PM2.5日均濃度。選擇一部分作為訓(xùn)練數(shù)據(jù)Vtrain={x1,x2,…,xn-s},另一部分作為測試數(shù)據(jù)Vtest={xn-s+1,xn-s+2,…,xn};
步驟2:對序列V進(jìn)行EEMD,得到d個分量和一個剩余分量;
步驟3:利用樣本熵對d個分量和剩余分量采用SE進(jìn)行復(fù)雜度分析,并將復(fù)雜度相近的分量進(jìn)行重組,得到d'個新序列;
步驟4:對d'個新序列分別建立LSSVM預(yù)測模型,利用訓(xùn)練樣本的輸入輸出數(shù)據(jù)對模型進(jìn)行訓(xùn)練,并利用PSO算法對LSSVM預(yù)測模型的懲罰參數(shù)c和核函數(shù)參數(shù)σ進(jìn)行優(yōu)化,得到d'個最優(yōu)的LSSVM預(yù)測模型。分別對測試樣本的輸入數(shù)據(jù)進(jìn)行預(yù)測,得到d'個預(yù)測結(jié)果;
步驟5:將d'個預(yù)測值疊加得到最終的預(yù)測值。
基于EEMD-SE和PSO-LSSVM的PM2.5日均濃度組合預(yù)測模型的預(yù)測流程如圖1所示。
圖1 EEMD-SE和PSO-LSSVM 組合預(yù)測模型流程圖
本文采用上海某空氣質(zhì)量監(jiān)測機(jī)構(gòu)提供的2016年3月1日-2016年10月31日上海市PM2.5日均濃度數(shù)據(jù),共233個數(shù)據(jù)。選取前230個數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),其PM2.5日均濃度時序圖如圖2所示,后3個數(shù)據(jù)作為測試數(shù)據(jù)。
從圖2可以看出,該時間段上海市的PM2.5日均濃度整體上呈下降趨勢,波動非常明顯,相鄰兩個時間點的濃度值有些相差很大,呈現(xiàn)出不穩(wěn)定性。特別是圖2中虛線框所示的時間段,PM2.5日均濃度剛開始處于高水平,然后突然降低到低水平,之后又突然升高到高水平,這說明PM2.5日均濃度變化比較突然,這是可能是由于氣候因素和人為因素(工業(yè)污染、汽車尾氣排放)等引起的。綜上所述,PM2.5日均濃度序列表現(xiàn)出不穩(wěn)定性,這也給預(yù)測精度帶來影響。
圖2 上海市PM2.5日均濃度時序圖
為了提高預(yù)測精度,使用EEMD對原始序列進(jìn)行分解,產(chǎn)生多個相對穩(wěn)定的子序列。利用MATLAB軟件實現(xiàn)EEMD,共得到6個IMF分量IMF1~I(xiàn)MF6和一個剩余分量,如圖3所示。
從圖3可以看出,EEMD得到的7個分量的變化范圍明顯小于原始序列的變化范圍。其中,剩余分量是趨勢分量,呈現(xiàn)出單調(diào)遞減的趨勢,與PM2.5日均濃度整體呈下降趨勢相同;其余6個分量是隨機(jī)分量,IMF1、IMF2、IMF3的波動頻率較大,IMF4和IMF5的波動頻率一般,IMF6的波動頻率較小。盡管這些分量的波動頻率不同,但是可以看出,除了IMF6和剩余分量,其余分量的數(shù)據(jù)點幾乎分布在數(shù)值零的上下兩側(cè),表現(xiàn)出一定的均勻性。為了提高預(yù)測的效率,采用SE對上述7個分量進(jìn)行重組。
圖3 PM2.5濃度序列EEMD結(jié)果
利用樣本熵理論,計算圖3中的7個分量的樣本熵值,對分量進(jìn)行復(fù)雜度評估,結(jié)果如圖4所示。從圖4可以看出,原始序列的樣本熵值明顯大于EEMD得到的7個分量的值,同時,IMF2和IMF3、IMF4和IMF5、IMF6和剩余分量的樣本熵值非常接近。根據(jù)分量樣本熵的分布情況,可以將IMF2和IMF3疊加得到一個新的序列,將IMF4和IMF5疊加得到一個新的序列,將IMF6和剩余分量疊加得到一個新的序列,如表1所示。
圖4 序列及分量的樣本熵
表1 各EEMD分量重組為新分量的結(jié)果
經(jīng)過重組后的新序列在保留原分量特性的同時降低了計算復(fù)雜度,其變化趨勢如圖5所示。從圖5可以看出,新分量SEIMF4反映了原始序列在整體上的變化趨勢,是趨勢分量;SEIMF1的波動頻率與原始序列接近,但是變化范圍小,反映了原始序列在細(xì)節(jié)上的變化趨勢,是細(xì)節(jié)分量;SEIMF2和SEIMF3反映原始序列由于不可知的原因(如氣候和人為因素)造成的波動,是隨機(jī)分量。新分量較原始序列穩(wěn)定,較EEMD得到的分量個數(shù)少。
圖5 重組后新分量濃度時序圖
對重組后得到的四個新分量,分別建立PSO-LSSVM預(yù)測模型,其中,懲罰參數(shù)和核函數(shù)參數(shù)由PSO來優(yōu)化,優(yōu)化結(jié)果如表2所示。
表2 懲罰參數(shù)和核函數(shù)參數(shù)優(yōu)化結(jié)果
為了檢驗預(yù)測模型的適用性,利用均方根誤差(RMSE)、平均相對誤差(MRE)和平均絕對誤差(MAPE),來對點預(yù)測結(jié)果進(jìn)行評價分析。
(6)
(7)
(8)
式中:yi和y'i分別表示第i天的實測值和預(yù)測值;n表示樣本總個數(shù);M表示預(yù)測樣本總個數(shù);ymax表示測試樣本實測值的最大值。RMSE反映了預(yù)測值的偏差,MRE反映了預(yù)測值接近實測值的程度,MAPE反映了預(yù)測值的整體誤差。這三個指標(biāo)的值越小,表明預(yù)測精度越高。
為了驗證本文所提出模型,分別采用了PSO-LSSVM模型和時間序列常用的差分自回歸移動平均模型(ARIMA(p,d,q))[9]進(jìn)行預(yù)測來比較其效果。其中ARIMA(p,d,q)模型中,分別取不同的(p,d,q)值進(jìn)行試驗,以平均絕對誤差作為評價指標(biāo),發(fā)現(xiàn)當(dāng)自回歸項p=1,移動平均項數(shù)q=1,差分次數(shù)d=1時模型預(yù)測效果最好。上述預(yù)測模型的預(yù)測結(jié)果如表3所示。
表3 三種預(yù)測模型的預(yù)測結(jié)果 (單位:μg/m3)
根據(jù)表3的預(yù)測結(jié)果,繪制預(yù)測曲線如圖6所示。從表3和圖6可以看出,本文提出的組合預(yù)測模型的預(yù)測結(jié)果的變化趨勢與實測值相同,而且預(yù)測曲線與實測值曲線最接近。
圖6 三種預(yù)測模型的預(yù)測曲線
進(jìn)一步,計算三種預(yù)測模型的三個誤差指標(biāo),如表4所示。表4顯示了EEMD-SE和PSO-LSSVM模型的三個性能指標(biāo)RMSE、MRE和MAPE的值分別為1.32 μg/m3、5.1%和5.7%,均低于其他兩種模型的結(jié)果,說明本文提出的模型預(yù)測精度更高。同時,MRE和MAPE的值均低于6%,相關(guān)環(huán)保部門可以通過此模型來預(yù)測未來三天的PM2.5日均濃度,以便對可能發(fā)生的重度污染提前預(yù)警,進(jìn)而調(diào)控社會活動。
表4 三種預(yù)測模型的預(yù)測誤差對比
PM2.5嚴(yán)重影響了城市空氣環(huán)境質(zhì)量,為了準(zhǔn)確的預(yù)測PM2.5日均濃度,本文提出了一種基于EEMD-SE 和PSOA-LSSVM的組合預(yù)測模型,來預(yù)測未來3天的PM2.5日均濃度。采用EEMD結(jié)合SE對數(shù)據(jù)進(jìn)行預(yù)處理,EEMD降低了原始序列的不穩(wěn)定性,SE減少了分量個數(shù),整體上提高了運(yùn)算效率;經(jīng)過PSO優(yōu)化的LSSVM預(yù)測模型能更加準(zhǔn)確的對PM2.5日均濃度進(jìn)行預(yù)測。實例證明了本文提出模型的有效性。