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