胡 青,龔世才**,胡 珍
(1.浙江科技學院理學院,浙江杭州 310000;2.湖北工業大學理學院,湖北武漢 430068)
近年來,隨著我國工業化進程不斷加快,經濟迅猛發展,人口不斷增長,空氣污染問題已經引起全社會的關注[1]。建立空氣質量預測模型對城市環境治理工作有著重要作用,不僅有助于減輕大氣污染對人體的傷害,還能為環保部門準確預測空氣質量提供科學的方法[2]。
空氣質量指數(Air Quality Index,AQI)的傳統預測方法有時間序列模型、數理統計模型、線性回歸模型、灰色預測方法等[3,4]。天氣、大氣污染物等因素對空氣質量具有較大影響,導致空氣質量具有明顯的非線性、不確定性等特征。因此,傳統的預測方法很難得到精確的預測結果[5]。由于神經網絡具有較強的非線性擬合能力,可以較好地完成對AQI的預測。王國勝等[6]采用BP神經網絡模型對AQI進行預測,結果相較于傳統統計方法,雖然得到了更高的預測精度,但是單一BP神經網絡收斂速度慢且易陷入局部最優解。為了進一步提高預測精度,有學者利用智能優化算法對其進行優化,如張旭等[7]利用粒子群算法(Particle Swarm Optimization,PSO)優化BP神經網絡,提升了模型的泛化能力,在空氣質量指數預測中取得較好效果。楊云等[8]利用遺傳算法(Genetic Algorithm,GA)對BP神經網絡進行改進,建立空氣質量指數預測模型,提升了BP神經網絡的性能,預測結果有更高的精度。綜上所述,傳統的單一BP神經網絡模型的AQI預測效果較差,盡管有些學者利用傳統優化算法優化模型,在一定程度上解決了預測精度的問題,但在算法迭代后期仍存在易陷入局部最優、收斂速度慢的缺點。
為解決上述問題,本研究利用改進麻雀搜索算法(Improved Sparrow Search Algorithm,ISSA),對BP神經網絡進行訓練,以期得到預測精度高、全局搜索能力強的ISSA-BP模型。該模型的主要思路是利用麻雀搜索算法(Sparrow Search Algorithm,SSA)相較于傳統優化算法具有收斂速度快、尋優精度高的優點[9],對BP神經網絡的權值及閾值進行優化,同時考慮到SSA在迭代后期,存在種群多樣性減少、收斂速度慢以及全局搜索能力弱的缺陷[10],通過引入立方映射提高初始解的質量,增加初始化麻雀種群的多樣性,從而提升算法的收斂能力,同時結合優化策略增強算法的全局搜索能力。使用ISSA-BP模型對杭州市空氣質量指數值進行預測,檢驗該模型的實際應用效果。
麻雀搜索算法是模擬麻雀搜索食物過程的一種新型智能算法[11],通過比較適應度值,不斷更新種群中麻雀個體的位置。
在SSA中,發現者搜索范圍廣,負責引導種群搜索和覓食,發現者的位置更新公式如下:

(1)

跟隨者會跟隨發現者進行覓食以獲得更好的適應度,其位置更新公式如下:
(2)
在麻雀覓食的同時會在種群中隨機選取一定比例的個體作為警戒者進行偵查預警,其位置更新公式如下:
(3)
麻雀搜索算法對種群進行初始化時,采用的是隨機生成的方式,這種方式會使得麻雀種群分布不均勻,影響后期的迭代尋優。為提高算法全局搜索能力,避免迭代后期種群多樣性降低,同時考慮到混沌映射具有隨機性、遍歷性和規律性等特點[12,13],利用混沌序列對種群進行初始化。湯安迪等[14]證明了立方映射的均勻性及遍歷性優于經典的Logistic映射,故本研究采用立方映射完成種群的初始化。立方映射公式如下:
y(n+1)=4y(n)3-3y(n),
(4)
式(4)中,n為映射次數,y(n)∈(-1,0)∪(0,1),
y(n)為第n次映射值。
為防止通過立方映射產生的值超過BP神經網絡的權值及閾值優化范圍,利用式(5)將映射值調整到統一區間:
Xi=Xlb+0.5(Xlb-Xub)(yi+1),
(5)
式(5)中,Xlb、Xub分別為麻雀種群中個體所處維度的上、下邊界;Xi為麻雀個體實際位置值。
立方映射初始化麻雀種群的步驟如下:
步驟1 設置種群規模N、維數d、初始值y0。
步驟2 根據式(4)進行迭代計算,產生序列y,序列y中每個d維向量作為一個麻雀個體。
步驟3 根據式(5)對越界值進行處理,使得每個d維向量的值變化區間是[-1,1]。
假設種群規模為30,在二維搜索空間中產生的初始化種群分布如圖1和圖2所示,從圖中可以看出,相比隨機初始化的種群序列,通過立方映射產生的初始種群分布更加均勻,遍歷性更好。

圖1 隨機初始化種群

圖2 立方映射初始化種群
蝴蝶優化算法(Butterfly Optimization Algorithm,BOA)是受到蝴蝶覓食和求偶過程所啟發的群智能算法[15]。在迭代時,蝴蝶將朝著氣味最濃的方向移動,該階段被稱為全局搜索階段。其位置更新方式如下:
(6)
由式(1)可知,當R (7) 對改進前后的公式分別進行迭代,得到麻雀種群中個體的分布如圖3和圖4所示。從圖中可以看出,改進后的策略在迭代后期保證了麻雀種群個體分布的多樣性,在提高收斂速度的同時,在一定程度上擴大了搜索空間,提升了算法的全局尋優能力。 圖3 改進前發現者搜索策略 圖4 改進后發現者搜索策略 根據式(2)可知,跟隨者在向發現者最優位置靠近時,會導致種群個體短時間聚集,雖然提高了算法的收斂速度,但是易出現算法陷入局部最優。正余弦函數不僅易于實現,而且有著良好的收斂性。利用其振蕩特性進行尋優可以降低算法易陷入局部最優解的風險。改進后跟隨者的位置更新公式如下: (8) (9) 式(8)(9)中:a為大于1的常數,本研究中的a取2;S1、S2、S3、S4均為服從均勻分布的隨機數;S2∈(0,2π)、S3∈(0,2)、S4∈(0,1);tmax為最大迭代次數。 高斯分布在局部空間搜索性能好,對全局最優個體使用高斯擾動有利于算法跳出局部極值點,同時也增強了算法全局搜索性能。使用高斯擾動策略生成新個體的公式如下: (10) 2.5.1 算法初始化參數設置 為了驗證ISSA的尋優效果與穩定性,本研究選取遺傳算法(Genetic Algorithm,GA)[16]、粒子群算法(Particle Swarm Optimization,PSO)[17]、SSA以及ISSA進行尋優結果的對比,同時為了保持所有初始種群分布的均勻性與多樣性,隨機產生的每維取值范圍均是[-1,1]的30維向量y0,作為種群的第一個個體,后續種群個體利用上述立方映射公式進行種群初始化。設置種群中的邊界范圍為[-3,3],通過上述立方映射的邊界值處理公式將種群中所有個體的取值范圍統一為[-1,1],其中所有算法的種群數量設置為30,最大迭代次數為1 000。 2.5.2 測試函數選取 為了進一步驗證ISSA的尋優性能,采用8個具有不同特征的基準測試函數進行測試。其中,F1-F5是單峰函數,F6-F8是多峰函數,測試函數維度為30,尋優的最優值為0,8個基準測試函數及其具體信息如表1所示。 表1 基準測試函數 2.5.3 算法尋優能力分析 為了去除偶然性帶來的誤差,分別利用上述4種算法對8個測試函數進行30次獨立試驗,以0.01為取值間隔,通過參數值在對應取值范圍內的不斷遍歷,選取30次最優值的平均值作為算法的尋優結果,選取歷史最優值對應的算法參數值作為算法參數的最佳取值。算法的最佳參數值及測試函數的尋優結果分別如表2和表3所示。 表2 算法最佳參數值 表3 測試函數尋優結果 由表3可知,ISSA對于單峰函數F1-F3的優化效果非常明顯,其尋優的指標值遠超其他算法,而對于單峰測試函數F4-F5,雖然ISSA的改進效果略優于SSA,但其改進效果要明顯優于GA與PSO,對于多峰函數F8,ISSA的尋優效果與SSA差別不大,但尋優效果優于GA與PSO十幾個數量級。不論是單峰函數還是多峰函數,ISSA在多次尋優的過程中,平均值和標準差均比其他算法更小,表明ISSA擁有更好的全局搜索能力。 2.5.4 算法收斂能力分析 通過繪制基準測試函數迭代進化曲線,可進一步對比分析各個算法的收斂能力,從而更加精準地評判其預測性能,圖5-12為所有算法迭代1 000次后的進化曲線圖。 由圖5-12可知,相比于其他幾種算法,一方面,ISSA迭代更少次數進入相同精度,表明了引入的立方映射提高了初始解的質量,使得種群分布更加均勻;另一方面,當算法的尋優值存在不同程度的停滯時,ISSA的尋優值呈現出波動下降,表明優化策略對算法的改進使得算法有能力跳出局部極值,在全局空間內搜索最優解。以上改進均有效提高了ISSA的收斂速度,使得ISSA相較于其他的算法擁有更強的收斂能力。 圖5 F1進化曲線 圖6 F2進化曲線 圖8 F4進化曲線 圖9 F5進化曲線 圖10 F6進化曲線 圖11 F7進化曲線 圖12 F8進化曲線 BP神經網絡是一種采用誤差反向傳播算法進行學習的多層前饋網絡[18,19],其結構包括輸入層、隱含層、輸出層。BP神經網絡的拓撲結構如圖13所示。 圖13 BP神經網絡拓撲結構 ISSA-BP模型的主要思想是利用改進后的麻雀搜索算法取代梯度下降法在全局范圍內對BP神經網絡中的權值和閾值進行大范圍搜索,通過適應度值的更新不斷調整訓練誤差。本模型將測試集中的均方誤差作為適應度函數值。迭代完成后通過解碼形成最優權值及閾值,同時結合改進后算法收斂速度快、泛化能力強的特點對BP神經網絡進行訓練,最后得到預測性能更好的神經網絡模型。ISSA-BP模型的流程圖如圖14所示。 圖14 ISSA-BP模型流程圖 本研究數據是從中華人民共和國生態環境部網站(https://www.mee.gov.cn)實時監測的杭州市空氣質量數據中獲取的,采樣時間為2020年9月1日至2022年1月13日,共計500組樣本數據。訓練集為隨機選取的450組數據,測試集為剩余的50組數據。將PM2.5、PM10、SO2、CO、NO2、O3納入預測體系中,作為輸入變量對AQI進行預測。 由于數據的單位或數量級的不同,可能導致收斂速度變慢、訓練時間變長等問題。因此,要對樣本數據進行歸一化處理,歸一化公式如下: (11) BP神經網絡結構的確定是數據輸入以及網絡訓練的關鍵,BP神經網絡結構包括輸入層、輸出層以及隱含層3個部分。其中,輸入層為6個節點,輸出層為1個節點,隱含層節點數是決定BP神經網絡預測精度的重要因素[20],神經網絡中確定隱含層的神經元數量通常使用經驗公式(12)進行計算。 (12) 式(12)中,q為隱含層的節點個數,m為輸入層的節點個數,n為輸出層的節點個數,a的取值為1-10的常數。 通過不斷改變隱含層神經元數目,并代入神經網絡訓練,得到的均方誤差見表4。由表4可知,當隱含層節點數為9時,均方誤差最小,因此,本研究選擇的隱含層節點數為9。由此可得訓練的網絡結構為6-9-1。 表4 隱含層節點個數對應的均方誤差 為檢驗ISSA-BP模型的性能,分別用BP神經網絡、遺傳算法優化的BP神經網絡(GA-BP)、粒子群算法優化的BP神經網絡(PSO-BP)、麻雀搜索算法優化的BP神經網絡(SSA-BP)作為對照模型進行仿真實驗。本研究利用MATLAB進行預測仿真,5種模型的仿真預測結果如圖15所示。 圖15 模型仿真預測結果 由仿真結果可知,ISSA-BP模型的預測曲線的擬合程度高于其他4種模型,預測值更加接近真實值,因此,ISSA-BP模型對AQI的預測更加精準。為了對所建立的空氣預測模型的性能進行全面而系統的分析,本研究選取均方根誤差(Root Mean Square Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)、平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、擬合優度(R2)作為模型優越性的衡量指標。計算公式如下: (13) (14) (15) (16) 利用訓練好的模型測試AQI,得到5種預測模型性能的評價結果如表5所示。由表5可知,經過相關算法優化后的組合模型的預測效果明顯優于單一的BP神經網絡模型。其中,在組合模型中,ISSA-BP模型的RMSE、MAE、MAPE數值最小。相比于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%。決定系數R2為0.99,最接近1,擬合程度最優。因此,本研究提出的ISSA-BP模型的預測精度最好,預測誤差最小,能夠有效地應用于空氣質量指數的預測中。 表5 預測模型性能評價結果 本研究提出了一種改進的麻雀搜索算法(ISSA),并基于BP神經網絡構建了AQI預測模型(ISSA-BP)。通過改進后的麻雀搜索算法來優化BP神經網絡權值及閾值,與未優化的BP神經網絡相比,顯著提升了其預測精度,可有效預測AQI。所建立的ISSA-BP模型不僅解決了傳統BP神經網絡在預測AQI方面的不足,更彌補了利用麻雀搜索算法在優化模型時的缺陷。下一步研究重點是將ISSA-BP模型應用到實際工程領域中,以進一步驗證其性能。

2.3 正余弦搜索策略
2.4 高斯擾動策略
2.5 算法性能測試










3 ISSA-BP模型
3.1 BP神經網絡原理

3.2 ISSA-BP模型原理

4 基于ISSA-BP模型的AQI預測
4.1 數據采集與預處理

4.2 BP神經網絡結構

4.3 仿真實驗及結果分析


5 結束語