尤 游, 王 蒙
(安徽機(jī)電職業(yè)技術(shù)學(xué)院1.公共基礎(chǔ)教學(xué)部;2.互聯(lián)網(wǎng)與通信學(xué)院,安徽 蕪湖 241000)
隨著社會經(jīng)濟(jì)的發(fā)展和居住環(huán)境的改善,空氣質(zhì)量問題越來越受到人們的關(guān)注。及時做好空氣質(zhì)量的精確預(yù)測對環(huán)境管理、污染控制都有重要的參考意義[1]。空氣質(zhì)量主要通過空氣質(zhì)量指數(shù)(AQI)的大小來衡量,影響指標(biāo)包括六種污染物(PM2.5、PM10、CO、NO2、SO2、O3)的日常監(jiān)測濃度。數(shù)據(jù)以國家控制站點(diǎn)(國控點(diǎn))監(jiān)測數(shù)據(jù)為準(zhǔn),但由于國控點(diǎn)的布控較少,發(fā)布時間滯后,無法給出實(shí)時監(jiān)測和預(yù)報,所以大多城市監(jiān)測到的數(shù)據(jù)為自建點(diǎn)數(shù)據(jù),由于監(jiān)測設(shè)備以及環(huán)境因素的影響,自建點(diǎn)數(shù)據(jù)與國控點(diǎn)數(shù)據(jù)存在一定的差異,所以需要借助國控點(diǎn)數(shù)據(jù)對自建點(diǎn)數(shù)據(jù)進(jìn)行校準(zhǔn),減少預(yù)報誤差[2]。
這里PM2.5指的是空氣中動力學(xué)當(dāng)量直徑小于等于2.5μm的顆粒物[3],是影響空氣質(zhì)量的重要因素,所以文中以PM2.5為例進(jìn)行校準(zhǔn),其他污染物同理。自建點(diǎn)PM2.5濃度產(chǎn)生偏差有很多原因,包括污染物以及環(huán)境因素,而這些指標(biāo)間存在著較復(fù)雜的非線性映射關(guān)系,所以引入BP神經(jīng)網(wǎng)絡(luò)來構(gòu)建校準(zhǔn)模型,由于BP算法存在一定的缺陷,如權(quán)值和閾值的隨機(jī)性等,進(jìn)一步利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),構(gòu)建GA-BP神經(jīng)網(wǎng)絡(luò)校準(zhǔn)模型,并通過測試樣本的校準(zhǔn)誤差來比較兩種模型的優(yōu)劣性。
研究以2019年“高教社杯”全國大學(xué)生數(shù)學(xué)建模競賽D題為參考對象,原始數(shù)據(jù)來源于該題附件[2]。首先對數(shù)據(jù)進(jìn)行預(yù)處理和時間匹配,得到自建點(diǎn)6種污染物濃度、5個環(huán)境影響因素(風(fēng)速、壓強(qiáng)、降水量、溫度、濕度)濃度以及對應(yīng)的國控點(diǎn)PM2.5濃度。神經(jīng)網(wǎng)絡(luò)模型中,以自建點(diǎn)PM2.5濃度、其他5種污染物(PM10、CO、NO2、SO2、O3)濃度以及5個環(huán)境影響指標(biāo)為輸入變量,國控點(diǎn)PM2.5濃度為輸出變量組成訓(xùn)練樣本,訓(xùn)練結(jié)束后再對測試樣本進(jìn)行預(yù)測,獲得自建點(diǎn)PM2.5濃度校準(zhǔn)值,即為輸出層。
模型校準(zhǔn)效果通過平均絕對百分比誤差(MAPE)和均方誤差(MSE)來衡量,公式如下:
(1)
(2)
這里xi和yi分別指國控點(diǎn)PM2.5濃度和自建點(diǎn)PM2.5濃度的校準(zhǔn)值,N為測試樣本數(shù)。
BP算法的基本學(xué)習(xí)過程包括信號的正向傳播與誤差的反向傳播兩個階段。它由輸入層、隱含層和輸出層構(gòu)成。訓(xùn)練樣本在正向傳播過程中,從輸入層經(jīng)過隱含層再到輸出層,如果輸出結(jié)果達(dá)不到期望輸出,則轉(zhuǎn)入反向傳播階段,根據(jù)設(shè)置的預(yù)測誤差不斷調(diào)整各神經(jīng)元的權(quán)值和閾值,反復(fù)循環(huán),直到滿足期望輸出[4]。設(shè)計的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。在構(gòu)建神經(jīng)網(wǎng)絡(luò)之前需要確定各層的節(jié)點(diǎn)數(shù),這里輸入、輸出層節(jié)點(diǎn)數(shù)由原始訓(xùn)練樣本決定,而隱含層節(jié)點(diǎn)數(shù)一直都未有確定的算法,一般通過試錯法來確定,即通過不斷的調(diào)試降低預(yù)測誤差來確定最優(yōu)節(jié)點(diǎn)數(shù)。常用的隱含層節(jié)點(diǎn)數(shù)經(jīng)驗(yàn)公式如下:
(3)
其中,l為隱含層節(jié)點(diǎn)數(shù),μ,ν分別表示輸入、輸出層神經(jīng)元節(jié)點(diǎn)數(shù),ω取0-10中的任意整數(shù)。
圖1 自建點(diǎn)PM2.5濃度校準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
設(shè)X為輸入變量矩陣,W、V分別為輸入層到隱含層、隱含層到輸出層的權(quán)值矩陣,?、β分別為隱含層和輸出層的閾值矩陣,這樣得到隱含層的輸入變量為XW+α,輸出變量為P=f(XW+α),同理輸出層的輸入變量為PV+β,輸出變量即最終輸出為
Y=g(PV+β)=g(f(XW+α)V+β)
(4)
遺傳算法(Genetic Algorithm,簡稱GA)是由美國J.Holland教授于1975年提出來的一種優(yōu)化算法,是通過模擬生物界適者生存進(jìn)化規(guī)律而演化出來的。算法的核心是將問題的可行解通過染色體編碼隨機(jī)生成初始種群,通過適應(yīng)度函數(shù)計算個體適應(yīng)度值,按照適者生存的原則保留能適應(yīng)環(huán)境的個體,淘汰其余個體,然后通過遺傳操作(選擇、交叉、變異)得到子代種群,反復(fù)迭代最終進(jìn)化得到最適應(yīng)環(huán)境的個體[5,6]。
BP神經(jīng)網(wǎng)絡(luò)運(yùn)用范圍廣,能較好的模擬出非線性映射關(guān)系,但在訓(xùn)練過程中其梯度下降算法由于權(quán)閾值的隨機(jī)性,易出現(xiàn)局部最優(yōu)、迭代時間過長、過渡擬合等問題,而遺傳算法利用群體搜索技術(shù),通過解碼操作能得到最優(yōu)的權(quán)值和閾值,所以利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),可以克服以上弊端,具體步驟如下[5,6]:
(1)建立初始BP神經(jīng)網(wǎng)絡(luò)。確定隱含層節(jié)點(diǎn)數(shù),學(xué)習(xí)率,預(yù)測誤差等參數(shù);
(2)初始化種群。個體的染色體編碼長度為:long=μ·l+l·v+l+v,這里μ、l、ν分別表示輸入層、隱含層和輸出層的神經(jīng)元節(jié)點(diǎn)數(shù)。
(3)GA函數(shù)和適應(yīng)度函數(shù)設(shè)計。GA函數(shù)通過調(diào)用GAOT工具箱,適應(yīng)度函數(shù)以自建點(diǎn)PM2.5濃度校準(zhǔn)值與國控點(diǎn)PM2.5濃度的誤差函數(shù)的倒數(shù)為準(zhǔn)。
(4)遺傳操作循環(huán)。通過選擇、變異、交叉等遺傳操作確定新的子代種群,計算個體適應(yīng)度,如果達(dá)到循環(huán)條件(滿足進(jìn)化代數(shù)),則遺傳算法結(jié)束,否則循環(huán)繼續(xù)。最終將適應(yīng)度最大的個體通過解碼操作輸出為最優(yōu)權(quán)值和閾值。
(5)GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練。將得到的最優(yōu)權(quán)閾值賦給BP神經(jīng)網(wǎng)絡(luò),對樣本重新進(jìn)行仿真預(yù)測。
樣本數(shù)據(jù)中,將通過分層抽樣得到的80個樣本作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本,剩下隨機(jī)抽樣的30個樣本組成測試樣本。這里,神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點(diǎn)數(shù)為11維,若直接輸入可能會導(dǎo)致收斂速度過慢,且變量數(shù)目較多不能排除多重共線性,所以在構(gòu)建神經(jīng)網(wǎng)絡(luò)之前,先對輸入變量進(jìn)行PCA降維處理,即先進(jìn)行主成分分析。
主成分分析通過計算相關(guān)矩陣的順序特征值和對應(yīng)的特征向量,得到自變量的主成分相互獨(dú)立,克服了多重共線性,然后根據(jù)累積貢獻(xiàn)率選擇保留原始信息。通過MATLAB運(yùn)行得到前四個主成分的累積貢獻(xiàn)率為97.67%,所以選擇前四個主成分作為輸入樣本,測試樣本同理。設(shè)前四個主成分依次為F1,F2,F3,F4,得到
F1=0.0951x1+0.1848x2+0.0008x3+0.0653x4+
0.0164x5+0.0837x6+0.0006x7+0.9627x8+
0.1121x9+0.0105x10+0.0764x11
(5)
F2=0.4332x1+0.8649x2+0.0010x3+0.0346x4+
0.0113x5+0.0767x6-0.0012x7-0.2278x8+
0.0648x9-0.0073x10+0.0292x11
(6)
F3=0.0320x1-0.1053x2+0.0025x3+0.0504x4+
0.0054x5+0.9044x6-0.0003x7-0.0478x8+
0.1080x9+0.0690x10-0.3856x11
(7)
F4=-0.0998x1-0.0572x2-0.0011x3+0.5811x4+
0.0382x5+0.2736x6-0.0118x7-0.1081x8+
0.0660x9-0.1067x10+0.7384x11
(8)
圖2 國控點(diǎn)與BP輸出值的曲線比較圖
圖3 國控點(diǎn)與GA-BP輸出值的曲線比較圖
接下來利用新的主成分向量作為訓(xùn)練樣本,并對其進(jìn)行歸一化處理,此時最小誤差設(shè)為0.0001,學(xué)習(xí)率為0.01,迭代次數(shù)為1000,隱含層神經(jīng)元個數(shù)由公式(3)得到選取范圍為[3,10],根據(jù)試錯法原則確定最佳隱層神經(jīng)元個數(shù)為6,于是建立4-6-1結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)模型,再對測試樣本進(jìn)行預(yù)測,通過反歸一化最后得到自建點(diǎn)PM2.5濃度校準(zhǔn)值。
為了衡量模型效果,將校準(zhǔn)值與國控點(diǎn)PM2.5濃度對比,分別得到其平均絕對百分比誤差為21.87%,均方誤差為0.0599。觀察具體數(shù)據(jù)發(fā)現(xiàn)部分自建點(diǎn)校準(zhǔn)效果較差,說明BP神經(jīng)網(wǎng)絡(luò)模型有待改進(jìn)。
下面利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),構(gòu)建GA-BP神經(jīng)網(wǎng)絡(luò)模型,這里染色體長度為S=4×6+6×1+6+1=37,種群規(guī)模設(shè)為50,遺傳代數(shù)為100次,變異概率為0.09,交叉概率為0.95,通過調(diào)用GAOT工具箱,同理得到GA-BP神經(jīng)網(wǎng)絡(luò)的平均絕對百分比誤差為12.56%,大大降低了預(yù)測誤差,均方誤差為0.0197,也優(yōu)于BP神經(jīng)網(wǎng)絡(luò),說明GA-BP神經(jīng)網(wǎng)絡(luò)模型的校準(zhǔn)效果更好。具體對照見表1。另外從圖2、圖3全部測試樣本的的國控點(diǎn)(期望輸出)與神經(jīng)網(wǎng)絡(luò)實(shí)際輸出數(shù)據(jù)對比,也能得出GA-BP神經(jīng)網(wǎng)絡(luò)擬合效果更優(yōu)的結(jié)論。
表1 模型校準(zhǔn)效果對照表
通過分析自建點(diǎn)PM2.5濃度與其影響因素之間存在非線性映射關(guān)系,所以選用BP神經(jīng)網(wǎng)絡(luò)對自建點(diǎn)數(shù)據(jù)進(jìn)行校準(zhǔn)。但單一的BP神經(jīng)網(wǎng)絡(luò)算法容易陷入局部最優(yōu)、收斂速度慢和過擬合的困境[7],所以引用遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),通過遺傳操作確定最優(yōu)的權(quán)值和閾值,構(gòu)建GA-BP神經(jīng)網(wǎng)絡(luò)模型,通過案例仿真能看出GA-BP神經(jīng)網(wǎng)絡(luò)校準(zhǔn)效果符合預(yù)期,同時對其他污染物濃度的校準(zhǔn)也具有借鑒價值。模型可以明顯提高空氣質(zhì)量預(yù)報的準(zhǔn)確度,推動環(huán)境監(jiān)測工作的進(jìn)展,具有一定的應(yīng)用前景。