胡 青,龔世才**,胡 珍
(1.浙江科技學院理學院,浙江杭州 310000;2.湖北工業(yè)大學理學院,湖北武漢 430068)
近年來,隨著我國工業(yè)化進程不斷加快,經(jīng)濟迅猛發(fā)展,人口不斷增長,空氣污染問題已經(jīng)引起全社會的關注[1]。建立空氣質量預測模型對城市環(huán)境治理工作有著重要作用,不僅有助于減輕大氣污染對人體的傷害,還能為環(huán)保部門準確預測空氣質量提供科學的方法[2]。
空氣質量指數(shù)(Air Quality Index,AQI)的傳統(tǒng)預測方法有時間序列模型、數(shù)理統(tǒng)計模型、線性回歸模型、灰色預測方法等[3,4]。天氣、大氣污染物等因素對空氣質量具有較大影響,導致空氣質量具有明顯的非線性、不確定性等特征。因此,傳統(tǒng)的預測方法很難得到精確的預測結果[5]。由于神經(jīng)網(wǎng)絡具有較強的非線性擬合能力,可以較好地完成對AQI的預測。王國勝等[6]采用BP神經(jīng)網(wǎng)絡模型對AQI進行預測,結果相較于傳統(tǒng)統(tǒng)計方法,雖然得到了更高的預測精度,但是單一BP神經(jīng)網(wǎng)絡收斂速度慢且易陷入局部最優(yōu)解。為了進一步提高預測精度,有學者利用智能優(yōu)化算法對其進行優(yōu)化,如張旭等[7]利用粒子群算法(Particle Swarm Optimization,PSO)優(yōu)化BP神經(jīng)網(wǎng)絡,提升了模型的泛化能力,在空氣質量指數(shù)預測中取得較好效果。楊云等[8]利用遺傳算法(Genetic Algorithm,GA)對BP神經(jīng)網(wǎng)絡進行改進,建立空氣質量指數(shù)預測模型,提升了BP神經(jīng)網(wǎng)絡的性能,預測結果有更高的精度。綜上所述,傳統(tǒng)的單一BP神經(jīng)網(wǎng)絡模型的AQI預測效果較差,盡管有些學者利用傳統(tǒng)優(yōu)化算法優(yōu)化模型,在一定程度上解決了預測精度的問題,但在算法迭代后期仍存在易陷入局部最優(yōu)、收斂速度慢的缺點。
為解決上述問題,本研究利用改進麻雀搜索算法(Improved Sparrow Search Algorithm,ISSA),對BP神經(jīng)網(wǎng)絡進行訓練,以期得到預測精度高、全局搜索能力強的ISSA-BP模型。該模型的主要思路是利用麻雀搜索算法(Sparrow Search Algorithm,SSA)相較于傳統(tǒng)優(yōu)化算法具有收斂速度快、尋優(yōu)精度高的優(yōu)點[9],對BP神經(jīng)網(wǎng)絡的權值及閾值進行優(yōu)化,同時考慮到SSA在迭代后期,存在種群多樣性減少、收斂速度慢以及全局搜索能力弱的缺陷[10],通過引入立方映射提高初始解的質量,增加初始化麻雀種群的多樣性,從而提升算法的收斂能力,同時結合優(yōu)化策略增強算法的全局搜索能力。使用ISSA-BP模型對杭州市空氣質量指數(shù)值進行預測,檢驗該模型的實際應用效果。
麻雀搜索算法是模擬麻雀搜索食物過程的一種新型智能算法[11],通過比較適應度值,不斷更新種群中麻雀個體的位置。
在SSA中,發(fā)現(xiàn)者搜索范圍廣,負責引導種群搜索和覓食,發(fā)現(xiàn)者的位置更新公式如下:
(1)
跟隨者會跟隨發(fā)現(xiàn)者進行覓食以獲得更好的適應度,其位置更新公式如下:
(2)
在麻雀覓食的同時會在種群中隨機選取一定比例的個體作為警戒者進行偵查預警,其位置更新公式如下:
(3)
麻雀搜索算法對種群進行初始化時,采用的是隨機生成的方式,這種方式會使得麻雀種群分布不均勻,影響后期的迭代尋優(yōu)。為提高算法全局搜索能力,避免迭代后期種群多樣性降低,同時考慮到混沌映射具有隨機性、遍歷性和規(guī)律性等特點[12,13],利用混沌序列對種群進行初始化。湯安迪等[14]證明了立方映射的均勻性及遍歷性優(yōu)于經(jīng)典的Logistic映射,故本研究采用立方映射完成種群的初始化。立方映射公式如下:
y(n+1)=4y(n)3-3y(n),
(4)
式(4)中,n為映射次數(shù),y(n)∈(-1,0)∪(0,1),
y(n)為第n次映射值。
為防止通過立方映射產(chǎn)生的值超過BP神經(jīng)網(wǎng)絡的權值及閾值優(yōu)化范圍,利用式(5)將映射值調整到統(tǒng)一區(qū)間:
Xi=Xlb+0.5(Xlb-Xub)(yi+1),
(5)
式(5)中,Xlb、Xub分別為麻雀種群中個體所處維度的上、下邊界;Xi為麻雀個體實際位置值。
立方映射初始化麻雀種群的步驟如下:
步驟1 設置種群規(guī)模N、維數(shù)d、初始值y0。
步驟2 根據(jù)式(4)進行迭代計算,產(chǎn)生序列y,序列y中每個d維向量作為一個麻雀個體。
步驟3 根據(jù)式(5)對越界值進行處理,使得每個d維向量的值變化區(qū)間是[-1,1]。
假設種群規(guī)模為30,在二維搜索空間中產(chǎn)生的初始化種群分布如圖1和圖2所示,從圖中可以看出,相比隨機初始化的種群序列,通過立方映射產(chǎn)生的初始種群分布更加均勻,遍歷性更好。
圖1 隨機初始化種群
圖2 立方映射初始化種群
蝴蝶優(yōu)化算法(Butterfly Optimization Algorithm,BOA)是受到蝴蝶覓食和求偶過程所啟發(fā)的群智能算法[15]。在迭代時,蝴蝶將朝著氣味最濃的方向移動,該階段被稱為全局搜索階段。其位置更新方式如下:
(6)
由式(1)可知,當R (7) 對改進前后的公式分別進行迭代,得到麻雀種群中個體的分布如圖3和圖4所示。從圖中可以看出,改進后的策略在迭代后期保證了麻雀種群個體分布的多樣性,在提高收斂速度的同時,在一定程度上擴大了搜索空間,提升了算法的全局尋優(yōu)能力。 圖3 改進前發(fā)現(xiàn)者搜索策略 圖4 改進后發(fā)現(xiàn)者搜索策略 根據(jù)式(2)可知,跟隨者在向發(fā)現(xiàn)者最優(yōu)位置靠近時,會導致種群個體短時間聚集,雖然提高了算法的收斂速度,但是易出現(xiàn)算法陷入局部最優(yōu)。正余弦函數(shù)不僅易于實現(xiàn),而且有著良好的收斂性。利用其振蕩特性進行尋優(yōu)可以降低算法易陷入局部最優(yōu)解的風險。改進后跟隨者的位置更新公式如下: (8) (9) 式(8)(9)中:a為大于1的常數(shù),本研究中的a取2;S1、S2、S3、S4均為服從均勻分布的隨機數(shù);S2∈(0,2π)、S3∈(0,2)、S4∈(0,1);tmax為最大迭代次數(shù)。 高斯分布在局部空間搜索性能好,對全局最優(yōu)個體使用高斯擾動有利于算法跳出局部極值點,同時也增強了算法全局搜索性能。使用高斯擾動策略生成新個體的公式如下: (10) 2.5.1 算法初始化參數(shù)設置 為了驗證ISSA的尋優(yōu)效果與穩(wěn)定性,本研究選取遺傳算法(Genetic Algorithm,GA)[16]、粒子群算法(Particle Swarm Optimization,PSO)[17]、SSA以及ISSA進行尋優(yōu)結果的對比,同時為了保持所有初始種群分布的均勻性與多樣性,隨機產(chǎn)生的每維取值范圍均是[-1,1]的30維向量y0,作為種群的第一個個體,后續(xù)種群個體利用上述立方映射公式進行種群初始化。設置種群中的邊界范圍為[-3,3],通過上述立方映射的邊界值處理公式將種群中所有個體的取值范圍統(tǒng)一為[-1,1],其中所有算法的種群數(shù)量設置為30,最大迭代次數(shù)為1 000。 2.5.2 測試函數(shù)選取 為了進一步驗證ISSA的尋優(yōu)性能,采用8個具有不同特征的基準測試函數(shù)進行測試。其中,F(xiàn)1-F5是單峰函數(shù),F(xiàn)6-F8是多峰函數(shù),測試函數(shù)維度為30,尋優(yōu)的最優(yōu)值為0,8個基準測試函數(shù)及其具體信息如表1所示。 表1 基準測試函數(shù) 2.5.3 算法尋優(yōu)能力分析 為了去除偶然性帶來的誤差,分別利用上述4種算法對8個測試函數(shù)進行30次獨立試驗,以0.01為取值間隔,通過參數(shù)值在對應取值范圍內的不斷遍歷,選取30次最優(yōu)值的平均值作為算法的尋優(yōu)結果,選取歷史最優(yōu)值對應的算法參數(shù)值作為算法參數(shù)的最佳取值。算法的最佳參數(shù)值及測試函數(shù)的尋優(yōu)結果分別如表2和表3所示。 表2 算法最佳參數(shù)值 表3 測試函數(shù)尋優(yōu)結果 由表3可知,ISSA對于單峰函數(shù)F1-F3的優(yōu)化效果非常明顯,其尋優(yōu)的指標值遠超其他算法,而對于單峰測試函數(shù)F4-F5,雖然ISSA的改進效果略優(yōu)于SSA,但其改進效果要明顯優(yōu)于GA與PSO,對于多峰函數(shù)F8,ISSA的尋優(yōu)效果與SSA差別不大,但尋優(yōu)效果優(yōu)于GA與PSO十幾個數(shù)量級。不論是單峰函數(shù)還是多峰函數(shù),ISSA在多次尋優(yōu)的過程中,平均值和標準差均比其他算法更小,表明ISSA擁有更好的全局搜索能力。 2.5.4 算法收斂能力分析 通過繪制基準測試函數(shù)迭代進化曲線,可進一步對比分析各個算法的收斂能力,從而更加精準地評判其預測性能,圖5-12為所有算法迭代1 000次后的進化曲線圖。 由圖5-12可知,相比于其他幾種算法,一方面,ISSA迭代更少次數(shù)進入相同精度,表明了引入的立方映射提高了初始解的質量,使得種群分布更加均勻;另一方面,當算法的尋優(yōu)值存在不同程度的停滯時,ISSA的尋優(yōu)值呈現(xiàn)出波動下降,表明優(yōu)化策略對算法的改進使得算法有能力跳出局部極值,在全局空間內搜索最優(yōu)解。以上改進均有效提高了ISSA的收斂速度,使得ISSA相較于其他的算法擁有更強的收斂能力。 圖5 F1進化曲線 圖6 F2進化曲線 圖8 F4進化曲線 圖9 F5進化曲線 圖10 F6進化曲線 圖11 F7進化曲線 圖12 F8進化曲線 BP神經(jīng)網(wǎng)絡是一種采用誤差反向傳播算法進行學習的多層前饋網(wǎng)絡[18,19],其結構包括輸入層、隱含層、輸出層。BP神經(jīng)網(wǎng)絡的拓撲結構如圖13所示。 圖13 BP神經(jīng)網(wǎng)絡拓撲結構 ISSA-BP模型的主要思想是利用改進后的麻雀搜索算法取代梯度下降法在全局范圍內對BP神經(jīng)網(wǎng)絡中的權值和閾值進行大范圍搜索,通過適應度值的更新不斷調整訓練誤差。本模型將測試集中的均方誤差作為適應度函數(shù)值。迭代完成后通過解碼形成最優(yōu)權值及閾值,同時結合改進后算法收斂速度快、泛化能力強的特點對BP神經(jīng)網(wǎng)絡進行訓練,最后得到預測性能更好的神經(jīng)網(wǎng)絡模型。ISSA-BP模型的流程圖如圖14所示。 圖14 ISSA-BP模型流程圖 本研究數(shù)據(jù)是從中華人民共和國生態(tài)環(huán)境部網(wǎng)站(https://www.mee.gov.cn)實時監(jiān)測的杭州市空氣質量數(shù)據(jù)中獲取的,采樣時間為2020年9月1日至2022年1月13日,共計500組樣本數(shù)據(jù)。訓練集為隨機選取的450組數(shù)據(jù),測試集為剩余的50組數(shù)據(jù)。將PM2.5、PM10、SO2、CO、NO2、O3納入預測體系中,作為輸入變量對AQI進行預測。 由于數(shù)據(jù)的單位或數(shù)量級的不同,可能導致收斂速度變慢、訓練時間變長等問題。因此,要對樣本數(shù)據(jù)進行歸一化處理,歸一化公式如下: (11) BP神經(jīng)網(wǎng)絡結構的確定是數(shù)據(jù)輸入以及網(wǎng)絡訓練的關鍵,BP神經(jīng)網(wǎng)絡結構包括輸入層、輸出層以及隱含層3個部分。其中,輸入層為6個節(jié)點,輸出層為1個節(jié)點,隱含層節(jié)點數(shù)是決定BP神經(jīng)網(wǎng)絡預測精度的重要因素[20],神經(jīng)網(wǎng)絡中確定隱含層的神經(jīng)元數(shù)量通常使用經(jīng)驗公式(12)進行計算。 (12) 式(12)中,q為隱含層的節(jié)點個數(shù),m為輸入層的節(jié)點個數(shù),n為輸出層的節(jié)點個數(shù),a的取值為1-10的常數(shù)。 通過不斷改變隱含層神經(jīng)元數(shù)目,并代入神經(jīng)網(wǎng)絡訓練,得到的均方誤差見表4。由表4可知,當隱含層節(jié)點數(shù)為9時,均方誤差最小,因此,本研究選擇的隱含層節(jié)點數(shù)為9。由此可得訓練的網(wǎng)絡結構為6-9-1。 表4 隱含層節(jié)點個數(shù)對應的均方誤差 為檢驗ISSA-BP模型的性能,分別用BP神經(jīng)網(wǎng)絡、遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(GA-BP)、粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(PSO-BP)、麻雀搜索算法優(yōu)化的BP神經(jīng)網(wǎng)絡(SSA-BP)作為對照模型進行仿真實驗。本研究利用MATLAB進行預測仿真,5種模型的仿真預測結果如圖15所示。 圖15 模型仿真預測結果 由仿真結果可知,ISSA-BP模型的預測曲線的擬合程度高于其他4種模型,預測值更加接近真實值,因此,ISSA-BP模型對AQI的預測更加精準。為了對所建立的空氣預測模型的性能進行全面而系統(tǒng)的分析,本研究選取均方根誤差(Root Mean Square Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)、平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、擬合優(yōu)度(R2)作為模型優(yōu)越性的衡量指標。計算公式如下: (13) (14) (15) (16) 利用訓練好的模型測試AQI,得到5種預測模型性能的評價結果如表5所示。由表5可知,經(jīng)過相關算法優(yōu)化后的組合模型的預測效果明顯優(yōu)于單一的BP神經(jīng)網(wǎng)絡模型。其中,在組合模型中,ISSA-BP模型的RMSE、MAE、MAPE數(shù)值最小。相比于BP、GA-BP、PSO-BP、SSA-BP模型,ISSA-BP模型的RMSE分別降低了70.8%、50.2%、45.2%、34.6%,MAE分別降低了74.6%、57.9%、54.2%、43.3%,MAPE分別降低了68.2%、53.1%、49.1%、25.2%。決定系數(shù)R2為0.99,最接近1,擬合程度最優(yōu)。因此,本研究提出的ISSA-BP模型的預測精度最好,預測誤差最小,能夠有效地應用于空氣質量指數(shù)的預測中。 表5 預測模型性能評價結果 本研究提出了一種改進的麻雀搜索算法(ISSA),并基于BP神經(jīng)網(wǎng)絡構建了AQI預測模型(ISSA-BP)。通過改進后的麻雀搜索算法來優(yōu)化BP神經(jīng)網(wǎng)絡權值及閾值,與未優(yōu)化的BP神經(jīng)網(wǎng)絡相比,顯著提升了其預測精度,可有效預測AQI。所建立的ISSA-BP模型不僅解決了傳統(tǒng)BP神經(jīng)網(wǎng)絡在預測AQI方面的不足,更彌補了利用麻雀搜索算法在優(yōu)化模型時的缺陷。下一步研究重點是將ISSA-BP模型應用到實際工程領域中,以進一步驗證其性能。2.3 正余弦搜索策略
2.4 高斯擾動策略
2.5 算法性能測試
3 ISSA-BP模型
3.1 BP神經(jīng)網(wǎng)絡原理
3.2 ISSA-BP模型原理
4 基于ISSA-BP模型的AQI預測
4.1 數(shù)據(jù)采集與預處理
4.2 BP神經(jīng)網(wǎng)絡結構
4.3 仿真實驗及結果分析
5 結束語