胡進才, 張 菁, 王大龍, 呂 偉, 歐陽文安
(上海工程技術大學 電子電氣工程學院,上海 201620)
霧霾天氣的出現對身體健康、農作物生長以及國家長遠發展都有嚴重影響[1]。因此,監測空氣質量十分有必要。根據國家的規定,一般選取NO2,O3,CO,PM 2.5,PM 10,SO2六項檢測指標,再用空氣質量指數(air quality index,AQI)直觀地反映空氣質量[2,3]。
在對AQI預測模型中,最小二乘支持向量機(least square support vector machine,LSSVM)模型應用最為廣泛,但LSSVM不能準確選擇參數。對此,文獻[4]選擇在每次迭代中全部個體的均方誤差的最小值作為適應度函數,再利用粒子群優化(particle swarm optimization,PSO)算法對LSSVM的兩個參數優化,從而能夠精準預測;文獻[5]通過鯨魚優化算法(whale optimization algorithm,WOA)對LSSVM模型的兩個參數優化,得到鍋爐NOx排放量的預測模型;文獻[6]通過樽海鞘群優化算法(SSA)進行尋優,再通過K均值聚類和SSA-LSSVM共同建立預測模型,對短期負荷進行預測;文獻[7]通過利用自適應位置更新和高斯變異來對灰狼優化(GWO)算法進行改進,然后優化LSSVM的參數,最終能夠對磨礦粒度進行預測;文獻[8]通過利用非線性慣性權重來改進螢火蟲算法(FA),再把改進的算法用來優化LSSVM的參數,最終實現對糧食產量的預測。
上述文獻中,雖然各模型都能實現預測,但精度不高,并且優化算法中初始群體是隨機產生的,容易擴大尋優范圍使迭代次數增加,不利于尋找最優解。為解決上述問題,本文提出一種基于改進的適應度相關優化器(improved fitness dependent optimizer LSSVM,IFDO-LSSVM)的預測方法。
LSSVM[9,10]是一種機器學習方法[11]。其具體內容如下:
在給定的數據訓練集{(xi,yi)|i=1,2,…,m},其中,m為訓練樣本數,LSSVM的優化模型可以表示為
(1)
s.t.yi=wTφ(xi)+b+ei,i=1,2,…,m
(2)
式中w為權重,C為懲罰參數,ei為松弛變量,b為誤差;φ(xi)為一種映射關系。
利用Lagrange法求式(1)、式(2)的優化問題,構造成函數為
L(w,b,e,α)=J(w,b,e)-
(3)
式中α為Lagrange乘子,即α=[α1,α2,…,αm],并且每個元素都大于零。
再利用KKT條件,對式(3)中w,b,ei,αi求偏導,得
(4)
(5)
(6)
(7)
然后根據式(4)消除式(7)中的w,用式(6)消除式(7)中的ei,可以把式(5)、式(7)最終整理為
(8)
其中,i=1,2,…,m;j=1,2,…,m;令:K(xi,xj)=φ(xi)Tφ(xj),其中K(xi,xj)代表核函數。然后對式(8)進行求解,可得LSSVM的回歸方程
(9)
由于徑向基函數結構簡單,參數少[12],因此,選擇徑向基函數作為核函數,即表示為
(10)
式中σ為核函數的參數。
適應度相關優化器(fitness dependent optimizer,FDO)算法[13]是由Abdullah J M和Rashid T A在2019年提出的一種新啟發式算法。算法通過蜜蜂在繁殖時的行為和蜂群決策而受到啟發。在這個過程中主要包括兩個階段,即是搜索過程和移動過程。
算法中,先設置迭代次數max_iteration、群體數目u、優化問題的維數v、優化對象的范圍、初始群體的位置、初始速度的大小、適應度函數。其中,初始群體為
X(u,v)=(g(1,v)-h(1,v))×
rand(u,v)+h(1,v)
(11)
式中g(1,v)為優化對象最大值;h(1,v)為優化對象最小值;v為優化對象維數;u為群體數目;u,v取正整數。
搜索過程:通過式(11)在規定范圍內產生初始蜂群(偵查蜜蜂數目),每個偵查蜜蜂的位置代表一個解。每個偵查蜜蜂通過隨機機制搜索更多蜂巢(解),每發現一個更好的解,先前的解將被忽略。如果目前搜索的解沒有先前效果好,則下次搜索方向將按照先前方向搜索,但搜索出的解還是沒有先前效果好,則下次搜索將繼續使用先前的解。
移動過程:每個偵查蜜蜂通過增加速度來更新此時的位置,以此得到更好的解。偵查蜜蜂移動位置的更新公式如下
Xi,t+1=Xi,t+pace
(12)
式中i為當前群體中第i個偵查蜜蜂;t為當前第t次迭代;X為每個偵查蜜蜂的位置;pace為偵查蜜蜂移動的速度和方向;pace主要由適應度權重wf決定,pace的方向只有隨機機制決定。適應度權重wf的計算公式如下
(13)
(14)

再由wf得到速度的值,r屬于[-1,1]中的隨機數。當wf=1,wf=0,xi,t fitness=0時,執行式(15);當0 wf=1 orwf=0 orxi,t fitness=0?pace=xi,t*r (15) (16) (17) X1(2u,v)=(g(1,v)-h(1,v))×rand(2u,v)+ h(1,v) (18) 基于IFDO-LSSVM的預測模型步驟如下: 步驟1 利用Mapminmax函數對數據進行預處理。 步驟2 設置FDO算法的參數:迭代次數max_iteration,群體數目u,優化問題的維數v,優化對象的范圍g(1,v)和h(1,v),初始速度pace,適應度權重系數αw=1。 步驟3 選擇合適的適應度函數,在此處選擇數據的標準誤差均方根誤差(root mean square error,RMSE)作為適應度函數,公式如下 (19) 式中m為訓練數據的個數;X″i為預測值,Xi為真實值。 步驟4 利用2.1節的方法產生初始群體,同時用式(19)得到適應度函數值。 步驟5 當t≤max_iteration時,更新wf,pace,X。 步驟7 更新r,然后當wf=1,wf=0,xi,t fitness=0時,執行式(15);當0 步驟8 如果通過步驟7更新xi,t fitness比之前效果好,那么保存pace,xi,t fitness和X;否則,利用之前X的和步驟7中的pace,通過式(20)更新X,利用式(19)更新xi,t fitness Xi,t+1=Xi,t+pace+pace* (20) 式中pace*為在第t-1次迭代時第i個位置對應的速度。 步驟9 如果通過步驟8更新xi,t fitness比之前效果好,那么保存pace,xi,t fitness和X;否則,在步驟8中X的基礎上隨機生成X,同時利用式(19)更新xi,t fitness。 步驟10 如果通過步驟9更新xi,t fitness比之前效果好,那么保存xi,t fitness和X;否則,X為本次迭代開始的X。 步驟11 執行t=t+1,循環步驟5~步驟10,當t大于 max_iteration時循環結束。輸出u個X,在u個X中找到全局最優解x*。 步驟12 步驟11中的x*為LSSVM中的兩個參數C和σ。將C和σ以及預測數據代入到LSSVM模型中,即可得到預測結果。 實驗中,通過天氣后報數據網站(http:∥www.tianqihoubao.com/)收集鄭州市在2017年~2019年750組天氣數據,如表1所示。 表1 部分實驗數據 其中,550組數據為訓練樣本,200組數據為測試樣本,AQI為預測對象。NO2,O3,CO,PM 2.5,PM 10,SO2這6個指標作為輸入對象,建立模型。由于6個指標量綱不同,對預測結果會產生影響。因此,用Mapminmax函數對數據預處理,得到的數據在區間[0,1]中,公式如下 (21) 式中ymax為指定預處理所到區間的最大值,ymin為指定預處理所到區間的最小值,x為樣本數據,x′為處理后的數據,xmax,xmin分別為樣本的最大值、最小值。 在Windows10操作系統中,利用MATLAB R2016b軟件進行實驗。對FDO算法設置參數:max_iteration為100,u為50,v為2,C取值范圍為[0.1,500],σ取值范圍為[0.1,100],對于此外的PSO算法、WOA中參數設置與FDO算法相同。選用式(19)作為適應度函數,式(19)、式(22)作為評價指標 (22) 用IFDO算法、FDO算法、PSO算法、WOA進行尋優,四種算法的適應度變化曲線對比圖,如圖1所示。 圖1 適應度曲線對比 從圖1可以看出,FDO算法、WOA、PSO算法和IFDO算法在尋優時適應度的起始點所在范圍分別為[9,10],[10,11],[7,8],[6,7]。FDO算法、WOA和PSO算法隨機產生初始群體,而IFDO算法利用改進的反向學習算法產生初始群體。因此,從圖中可以看出,IFDO算法的收斂精度更高,初始群體更加靠近全局最優解,從而尋優范圍變小,便于尋優。用IFDO算法尋優時在30~40代之間收斂,用FDO算法尋優時在40~50代之間收斂,用PSO算法尋優時在70~80代收斂,用WOA尋優時在80~90代收斂,因此,IFDO算法比FDO算法、PSO算法和WOA收斂快。 在通過上述算法尋優后,取得最優參數C和σ。用IFDO算法優化參數為C=496.031 7,σ=0.100 1,預測結果如圖2所示。 圖2 AQI的真實值與預測值 四種模型的預測精度如表2所示。 表2 四種算法預測誤差的對比 選擇MSE和RMSE作為評價指標,這兩個指標越小,說明預測精度越高,預測誤差越小。從表2中可以看出,通過WOA-LSSVM得到MSE和RMSE分別為15.655 5,3.956 7;通過PSO-LSSVM得到MSE和RMSE分別為14.438 6,3.799 8;通過FDO-LSSVM模型得到MSE和RMSE分別為12.713 5,3.565 6;通過IFDO-LSSVM得到的MSE和RMSE分別為12.108 9,3.479 8。因此,在四種模型中,IFDO-LSSVM的模型具有最高精度,最小誤差。 1)本文提出一種基于IFDO-LSSVM的AQI預測模型,模型中,IFDO算法收斂速度快,初始群體更靠近全局最優解,從而有利于搜索全局最優解。 2)通過三種模型對AQI預測發現IFDO-LSSVM預測模型精度最高,誤差最小。因此,該方法對AQI能夠實現有效預測。

2.2 基于IFDO-LSSVM的預測模型

3 實例分析
3.1 數據的來源與預處理

3.2 實驗參數的設置和結果分析



4 結束語