胡 青,胡 珍,曲 潤,龔世才
(1.浙江科技學(xué)院 理學(xué)院,杭州 310000;2.湖北工業(yè)大學(xué) 理學(xué)院,武漢 430068)
隨著我國經(jīng)濟(jì)的快速發(fā)展以及城市化進(jìn)程的不斷加快,空氣污染問題變得愈發(fā)嚴(yán)峻.對人體健康也產(chǎn)生了極大危害[1].空氣質(zhì)量指數(shù)(AQI)作為衡量空氣質(zhì)量的重要指標(biāo),其大小反映了空氣污染的水平.因此,利用科學(xué)的方法預(yù)測AQI,對居民健康出行及城市環(huán)境治理有著重要的指導(dǎo)意義.
針對空氣污染方面的預(yù)測,傳統(tǒng)的AQI預(yù)測模型有時(shí)間序列模型、線性回歸模型、灰色預(yù)測模型等[2].但在空氣質(zhì)量預(yù)測體系中,各影響因素間有著較強(qiáng)的非線性關(guān)系,利用傳統(tǒng)統(tǒng)計(jì)預(yù)測模型預(yù)測AQI得到的精度較低.由于神經(jīng)網(wǎng)絡(luò)模型具有較強(qiáng)的非線性擬合能力,可以較好地完成對AQI的預(yù)測.艾洪福等[3]利用BP神經(jīng)網(wǎng)絡(luò)對空氣質(zhì)量進(jìn)行預(yù)測,相較于傳統(tǒng)預(yù)測方法提升了預(yù)測精度.但是單一BP神經(jīng)網(wǎng)絡(luò)收斂速度慢且易陷入局部最優(yōu)解.為了進(jìn)一步提高預(yù)測精度,相關(guān)學(xué)者利用優(yōu)化算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)并應(yīng)用到AQI預(yù)測中.蔣奇峰等[4]利用量子粒子群算法(QPSO)對徑向基神經(jīng)網(wǎng)絡(luò)(RBF)進(jìn)行改進(jìn),提升了神經(jīng)網(wǎng)絡(luò)的收斂速度及穩(wěn)定性,并在AQI預(yù)測中取得較好效果.
綜上所述,傳統(tǒng)的單一BP神經(jīng)網(wǎng)絡(luò)AQI預(yù)測效果較差,盡管有些學(xué)者利用優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),在一定程度上提高了模型的預(yù)測精度,但在迭代后期算法仍存在易陷入局部最優(yōu)、收斂速度慢的缺陷,影響了預(yù)測效率.
為解決上述問題,本文利用改進(jìn)的粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,得到預(yù)測精度高、全局搜索能力強(qiáng)的IPSO-BP模型.使用改進(jìn)后的模型對杭州市空氣質(zhì)量指數(shù)值進(jìn)行預(yù)測,實(shí)驗(yàn)結(jié)果表明,該模型在預(yù)測精度及擬合優(yōu)度方面相較于其他模型顯著提升,能夠很好地應(yīng)用于實(shí)際的AQI預(yù)測中.
BP神經(jīng)網(wǎng)絡(luò)是一種采用誤差反向傳播算法進(jìn)行學(xué)習(xí)的多層前饋網(wǎng)絡(luò)[5],其結(jié)構(gòu)包括輸入層、隱含層、輸出層.BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示.
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
粒子群優(yōu)化算法是一種受到生物種群行為特征啟發(fā)的算法[6],算法的粒子通過迭代進(jìn)行尋優(yōu)求解.其中每個(gè)粒子都有速度V和位置X兩個(gè)屬性,X代表粒子移動(dòng)的快慢,V代表粒子移動(dòng)的方向.位置和速度的迭代更新公式如下:
(1)
(2)
粒子群算法對種群進(jìn)行初始化時(shí),采用的是隨機(jī)生成的方式,這種方式會使得種群分布不均勻,影響后期的迭代尋優(yōu).為了提高算法全局搜索能力,避免迭代后期種群多樣性降低,同時(shí)考慮到混沌映射具有隨機(jī)性、遍歷性和規(guī)律性等特點(diǎn)[7],利用混沌序列對種群進(jìn)行初始化.湯安迪等[8]證明了Tent映射的均勻性及遍歷性優(yōu)于經(jīng)典的Logistic映射,故本文采用Tent映射完成種群的初始化.Tent映射公式如下:
(3)
其中:k為映射次數(shù),xk為第k次映射函數(shù)值.
Tent映射初始化種群的步驟如下:
步驟1:設(shè)置種群規(guī)模N、維數(shù)d,初始值x0
步驟2:按照式(3)將粒子所在位置xi的每一維xik(k=1,…,n)映射到[0,1]區(qū)間上
(4)
其中:xlb、xub為粒子位置所處維度的上下邊界.
(5)
步驟4:按照式(5)將混沌序列中的點(diǎn)映射回原空間
步驟5:xi經(jīng)過Tent映射后的產(chǎn)生的混沌序列:
假設(shè)種群規(guī)模為100,在二維搜索空間中產(chǎn)生的初始化種群分布圖見圖2.從圖中可以看出,相比隨機(jī)初始化的種群序列,通過Tent映射混沌序列產(chǎn)生的初始種群分布更加均勻,遍歷性更好.
圖2 初始化種群分布圖
慣性權(quán)重因子ω具有影響算法尋優(yōu)能力的作用,即當(dāng)ω取值偏小時(shí),全局搜索能力隨之降低,算法易形成局部最優(yōu)解;當(dāng)ω取值較大時(shí),收斂能力隨之變差,導(dǎo)致算法無法形成最優(yōu)解而陷入無限尋優(yōu)的情況.為解決參數(shù)ω的尋優(yōu)能力局限性問題,引入了自適應(yīng)慣性權(quán)重法.該方法可以自行調(diào)整ω迭代時(shí)的變化速率,以提高其尋優(yōu)效率,公式表示如下:
(6)
其中:ωi為第i個(gè)粒子慣性權(quán)重,ωmin和ωmax是預(yù)設(shè)的最小與最大慣性系數(shù),本文中ωmin取0.4,wmax取0.9,fi為第i個(gè)粒子的當(dāng)前迭代適應(yīng)度值,favg為粒子的平均適應(yīng)度值.
高斯分布在局部空間搜索性能好,對全局最優(yōu)個(gè)體使用高斯擾動(dòng)策略[9]有利于算法跳出局部極值點(diǎn),同時(shí)也增強(qiáng)了算法全局搜索性能.使用高斯擾動(dòng)策略生成新個(gè)體的公式如下:
(7)
2.4.1 算法初始化參數(shù)設(shè)置
為了驗(yàn)證IPSO的尋優(yōu)效果與穩(wěn)定性,本文選取遺傳算法(Genetic Algorithm,GA)、粒子群算法(Particle Swarm Optimization,PSO)、IPSO進(jìn)行尋優(yōu)結(jié)果的對比,通過上述Tent映射的邊界值處理公式將種群中所有個(gè)體的取值范圍統(tǒng)一為[0,1].其中所有算法的種群數(shù)量設(shè)置為30,最大迭代次數(shù)為1 000.
2.4.2 測試函數(shù)選取
為了進(jìn)一步驗(yàn)證IPSO的尋優(yōu)性能,采用4個(gè)具有不同特征的基準(zhǔn)測試函數(shù)進(jìn)行測試.其中,F(xiàn)1、F2是單峰函數(shù),F(xiàn)3、F4是多峰函數(shù),測試函數(shù)維度為30,尋優(yōu)的最優(yōu)值為0,4個(gè)基準(zhǔn)測試函數(shù)及其具體信息如表1所示.
表1 基準(zhǔn)測試函數(shù)
2.4.3 算法尋優(yōu)能力分析
為了去除偶然性帶來的誤差,分別利用上述3種算法對4個(gè)測試函數(shù)進(jìn)行30次獨(dú)立試驗(yàn),測試函數(shù)的尋優(yōu)結(jié)果見表2.
表2 測試函數(shù)尋優(yōu)結(jié)果
由表2可知,IPSO對于單峰函數(shù)F1、F2的優(yōu)化效果非常明顯,其尋優(yōu)的指標(biāo)值遠(yuǎn)超其他算法;對于多峰函數(shù)F3、F4,IPSO最優(yōu)值均為0,尋優(yōu)效果優(yōu)于GA與PSO.不論是單峰函數(shù)還是多峰函數(shù),IPSO在多次尋優(yōu)的過程中,平均值和標(biāo)準(zhǔn)差均比其他算法更小.表明IPSO的穩(wěn)定性和魯棒性明顯優(yōu)于其他算法,IPSO擁有更好的全局尋優(yōu)及局部搜索能力.
2.4.4 算法收斂性分析
通過對基準(zhǔn)測試函數(shù)迭代進(jìn)化曲線的繪制,可進(jìn)一步對比分析各個(gè)算法的收斂性及其局部空間解的搜索能力,從而更加精準(zhǔn)地評判其預(yù)測性能,圖3-圖6為所有算法迭代1 000次后的進(jìn)化曲線圖.
圖3 F1進(jìn)化曲線
圖4 F2進(jìn)化曲線
圖5 F3進(jìn)化曲線
圖6 F4進(jìn)化曲線
由圖3—圖6可知,相比較其他幾種算法,IPSO迭代更少次數(shù)進(jìn)入相同精度,表明引入的Tent映射提高了初始解的質(zhì)量,使得種群分布更加均勻,從而提高了算法的收斂速度.當(dāng)算法的尋優(yōu)值存在不同程度的停滯時(shí),IPSO的尋優(yōu)值呈現(xiàn)出波動(dòng)下降.表明優(yōu)化策略對算法的改進(jìn)使得算法有能力跳出局部極值,提升了算法的全局搜索能力.
IPSO-BP模型主要思想是利用改進(jìn)后的粒子群算法取代梯度下降法在全局范圍內(nèi)對BP神經(jīng)網(wǎng)絡(luò)中的權(quán)值和閾值進(jìn)行大范圍搜索,通過適應(yīng)度值的更新不斷調(diào)整訓(xùn)練誤差,迭代完成后通過解碼形成最優(yōu)權(quán)值及閾值.同時(shí)結(jié)合改進(jìn)后算法收斂速度快、泛化能力強(qiáng)的特點(diǎn)對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后得到預(yù)測性能更好的神經(jīng)網(wǎng)絡(luò)模型.模型的流程圖見圖7.
圖7 基于IPSO-BP的空氣質(zhì)量預(yù)測模型流程圖
本文數(shù)據(jù)是從中國空氣質(zhì)量在線監(jiān)測分析平臺實(shí)時(shí)監(jiān)測的杭州市空氣質(zhì)量數(shù)據(jù)中獲取的,采樣時(shí)間為2020年10月1日至2021年9月15日,共計(jì)300組樣本數(shù)據(jù).訓(xùn)練集為隨機(jī)選取的270組數(shù)據(jù),測試集為剩余30組數(shù)據(jù).其中的6組變量分別為PM2.5、PM10、SO2、CO、NO2、O3.
由于數(shù)據(jù)的單位或數(shù)量級的不同,可能導(dǎo)致收斂速度變慢、訓(xùn)練時(shí)間變長等問題.因此,要對樣本數(shù)據(jù)進(jìn)行歸一化處理,歸一化公式如下:
(8)
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括輸入層、輸出層以及隱含層三個(gè)部分.其中,輸入層為6個(gè)節(jié)點(diǎn)(提取的4個(gè)主成分),輸出層為1個(gè)節(jié)點(diǎn)(AQI),隱含層節(jié)點(diǎn)數(shù)是決定BP神經(jīng)網(wǎng)絡(luò)預(yù)測精度的重要因素[10],通常神經(jīng)網(wǎng)絡(luò)中確定隱含層中神經(jīng)元數(shù)量可以使用經(jīng)驗(yàn)公式(9)進(jìn)行計(jì)算.
(9)
其中:q為隱含層的節(jié)點(diǎn)個(gè)數(shù),m為輸入層的節(jié)點(diǎn)個(gè)數(shù),n為輸出層的節(jié)點(diǎn)個(gè)數(shù),a為1至10之間的常數(shù).
通過不斷改變隱含層神經(jīng)元數(shù)目,并代入神經(jīng)網(wǎng)絡(luò)訓(xùn)練,得到在不同隱含層神經(jīng)元個(gè)數(shù)下的均方誤差(表3).
表3 隱含層節(jié)點(diǎn)個(gè)數(shù)對應(yīng)的均方誤差
由表3可知,當(dāng)均方誤差最小時(shí),隱含層對應(yīng)的節(jié)點(diǎn)數(shù)為8.因此,本文隱含層節(jié)點(diǎn)個(gè)數(shù)為8.由此可得訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)為6-8-1.
將數(shù)據(jù)分別帶入各自模型中進(jìn)行訓(xùn)練,得到的仿真預(yù)測結(jié)果如圖8所示.
由仿真結(jié)果可知,IPSO-BP模型的預(yù)測曲線的擬合程度高于GA-BP、PSO-BP以及BP模型,預(yù)測值更加接近真實(shí)值.因此,IPSO-BP模型對AQI的預(yù)測更加精準(zhǔn).
為了對所建立的空氣預(yù)測模型的性能進(jìn)行全面而系統(tǒng)的分析,本文選取均方根誤差(RMSE)、均值絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、擬合優(yōu)度(R2)作為模型優(yōu)越性的衡量指標(biāo).計(jì)算公式如下:
(10)
(11)
(12)
(13)
利用訓(xùn)練好的模型測試AQI,得到4種模型的性能評價(jià)結(jié)果見表4.
表4 預(yù)測模型性能評價(jià)結(jié)果
由表4可以得出,經(jīng)過相關(guān)算法優(yōu)化后的組合模型的預(yù)測效果明顯優(yōu)于單一的BP神經(jīng)網(wǎng)絡(luò)模型.其中,在組合模型中,相比較GA-BP、PSO-BP模型,IPSO-BP模型的RMSE、MAE、MAPE數(shù)值最小,決定系數(shù)R2為0.984,最接近1,擬合程度最優(yōu).因此,本文提出的IPSO-BP模型的預(yù)測精度最好,預(yù)測誤差最小.能夠有效地應(yīng)用于空氣質(zhì)量指數(shù)的預(yù)測中.
本文提出了一種改進(jìn)的粒子群算法(IPSO),并基于BP神經(jīng)網(wǎng)絡(luò)構(gòu)建了AQI預(yù)測模型(IPSO-BP).通過改進(jìn)后的粒子群算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值及閾值,與未優(yōu)化BP神經(jīng)網(wǎng)絡(luò)相比,顯著提升了其預(yù)測精度及擬合優(yōu)度,可有效預(yù)測AQI.下一步研究重點(diǎn)是將IPSO-BP模型應(yīng)用到實(shí)際工程領(lǐng)域中,以進(jìn)一步驗(yàn)證其性能.