劉 英,裴莉莉,郝雪麗
(長安大學(xué) 信息工程學(xué)院,西安 710064)
伴隨著我國生態(tài)建設(shè)力度的加大,空氣質(zhì)量問題成為生態(tài)問題的重要組成部分,空氣質(zhì)量的好壞有關(guān)國家建設(shè)“綠水青山”的使命,有關(guān)社會環(huán)境治理問題,有關(guān)人民身體健康問題.我國每年因為大氣污染造成呼吸道疾病感染而死亡的人數(shù)高達數(shù)百萬,空氣中霧霾、浮塵等顆粒嚴重影響了空氣質(zhì)量,因此能夠很好地預(yù)測空氣質(zhì)量問題成為人們亟需解決的一大課題.順應(yīng)大數(shù)據(jù)時代的到來,很多研究人員已經(jīng)做了一些針對空氣質(zhì)量預(yù)測的相關(guān)工作[1,2].
早些年間,人們對于空氣質(zhì)量的預(yù)測多基于生活中的主觀經(jīng)驗,這顯然缺乏一定的科學(xué)性.后來,人們也基于數(shù)學(xué)方法來進行建模,從而對空氣質(zhì)量問題完成了很好的預(yù)估[3].例如,楊寧等人運用時間序列分析方法,借助SPSS 軟件對北京市未來2 周的空氣污染物變化情況進行了預(yù)測,通過Q 檢驗和擬合統(tǒng)計量R2驗證了ARIMA 模型預(yù)測效果較好,具有一定的推廣價值[4].
隨著機器學(xué)習(xí)技術(shù)的逐漸成熟,越來越多的研究者采用神經(jīng)網(wǎng)絡(luò)建模的方法很好地完成了空氣質(zhì)量的預(yù)測工作.很多國內(nèi)和國外的研究中,人們較多使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)方法來建立預(yù)測模型.例如,Samia 等人使用非線性的人工神經(jīng)網(wǎng)絡(luò)ANN 和移動平均模型ARIMA 的組合模型完成了對斯法克斯南郊等地區(qū)的氣象和顆粒數(shù)據(jù)的實驗,證明了該模型的有效性[5].Chauhan 等人使用卷積神經(jīng)網(wǎng)絡(luò)CNN 模型對印度不同城市的空氣質(zhì)量數(shù)據(jù)集進行了實驗,分析了空氣污染物對城市的影響,驗證了模型的準確性和適用性[6].Jiang等人提出了一種基于樣本自組織聚類的BP 神經(jīng)網(wǎng)絡(luò),利用自組織競爭神經(jīng)網(wǎng)絡(luò)的聚類特征對空氣質(zhì)量進行了預(yù)測,模型預(yù)測精度得到了提升[7].范彩云等人以北京市空氣質(zhì)量為例,采用小波降噪和LSTM 神經(jīng)網(wǎng)絡(luò)的方法,結(jié)合區(qū)域關(guān)聯(lián)性等對AQI 指數(shù)進行了預(yù)測,與ARIMA 模型等進行對比,證明了降噪后帶空間因素的LSTM 神經(jīng)網(wǎng)絡(luò)具有更好的預(yù)測結(jié)果[8].徐萬鏞等人選取蘭州市PM10等主要污染物濃度數(shù)據(jù)并進行標準化處理,搭建4 層的LSTM 神經(jīng)網(wǎng)絡(luò)對未來12 小時的AQI 指數(shù)進行預(yù)測,和傳統(tǒng)的3 層模型進行對比說明了該LSTM 模型具有較好的預(yù)測效果[9].Menares等人基于LSTM 和深度前饋神經(jīng)網(wǎng)絡(luò)DFFNN 對智利圣地亞哥市監(jiān)測站氣象數(shù)據(jù)進行了預(yù)測,最終證明了深度學(xué)習(xí)的LSTM 模型的表現(xiàn)一直優(yōu)于目前使用的確定性模型[10].
以上方法中,無論是基于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型還是數(shù)學(xué)模型,其模型的參數(shù)都是依據(jù)個人經(jīng)驗而定的,所以預(yù)測結(jié)果往往存在預(yù)測精度低,訓(xùn)練周期長,不夠可靠的問題.基于這些問題,本文引入鯨魚優(yōu)化算法,使用WOA 算法對BiLSTM 網(wǎng)絡(luò)的訓(xùn)練參數(shù)神經(jīng)元個數(shù)m和學(xué)習(xí)率l進行尋優(yōu),從而可以達到提升模型的擬合效果、訓(xùn)練過程和預(yù)測結(jié)果的目的.
本文數(shù)據(jù)源自于UCI (University of California Irvine)數(shù)據(jù)庫中陜西省空氣質(zhì)量數(shù)據(jù)集,選取2019年7月到2020年12月共13 000 條氣象數(shù)據(jù),主要包含date、CO、NO2、O3、PM10、AQI 等8 個屬性.
對2020年的AQI 數(shù)據(jù)按照一年12 個月的變化,進行可視化統(tǒng)計如圖1 所示.可以發(fā)現(xiàn),在1月AQI 最高(167.68),說明此時空氣質(zhì)量最差; 在8月AQI 最低(45.33),說明此時空氣質(zhì)量最優(yōu).
圖1 2020年AQI 變化趨勢圖
首先,在O3、CO、NO 等特征中,均存在不同數(shù)目的缺失值.通過計算每一列的平均值來對此列中存在的缺失值“NA”進行了填充,確保序列數(shù)據(jù)在進入網(wǎng)絡(luò)進行訓(xùn)練之前不存在缺失.
其次,在原始數(shù)據(jù)集中,各特征存在較大差異的數(shù)據(jù)量綱,容易導(dǎo)致模型精度降低,模型訓(xùn)練時間長,因此在將特征輸入到網(wǎng)絡(luò)之前,還需對特征因子進行歸一化操作[11].歸一化操作的原理如下:
其中,xmax即所在列的最大數(shù)據(jù),xmin是所在列的最小數(shù)據(jù),x是待標準化前的數(shù)值,x*是x標準化后的數(shù)值.
特征歸一化操作使得數(shù)據(jù)范圍均介于[-1,1]之間,樣本數(shù)據(jù)的均值接近于0,數(shù)據(jù)既保留了本身的正負屬性,而且可以提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度.
本文首先對陜西省的空氣質(zhì)量數(shù)據(jù)進行清洗,并對數(shù)據(jù)進行歸一化操作,然后先根據(jù)經(jīng)驗函數(shù)設(shè)定隨機參數(shù)后將特征輸入到BiLSTM 網(wǎng)絡(luò)中進行訓(xùn)練,再根據(jù)WOA 算法對網(wǎng)絡(luò)模型的神經(jīng)元個數(shù)和學(xué)習(xí)率進行尋優(yōu)[12],輸出最優(yōu)網(wǎng)絡(luò)超參數(shù),再根據(jù)最優(yōu)參數(shù),將特征輸入到建立好的WOA-BiLSTM 模型中,然后將測試集輸入到該模型中進行驗證,進行數(shù)據(jù)反歸一化得到數(shù)據(jù)預(yù)測結(jié)果,最終還將該模型和BiLSTM 以及LSTM 進行了對比分析,證明本文提出的WOA-BiLSTM模型具有更好的預(yù)測結(jié)果.本文的算法流程圖如圖2所示.
圖2 算法流程圖
LSTM 作為一種特殊的RNN 網(wǎng)絡(luò),以其可以學(xué)習(xí)到長時間依賴信息的能力,而被廣泛應(yīng)用于時間序列預(yù)測領(lǐng)域[13].LSTM 神經(jīng)網(wǎng)絡(luò)分別由輸入門it、輸出門ot、遺忘門ft三種存儲門部件構(gòu)成.
本文引入雙向的長短期記憶網(wǎng)絡(luò)BiLSTM,BiLSTM網(wǎng)絡(luò)基于前向和后向的雙向傳播原則,同時提取過去和未來的隱藏層信息,使得空氣質(zhì)量信息提取更加充分.BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示.
圖3 BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)
其中,α、β為常數(shù),α 和 β之和為1.
本文使用鯨魚優(yōu)化算法WOA 對BiLSTM 的訓(xùn)練參數(shù)隱藏神經(jīng)元個數(shù)和學(xué)習(xí)率進行尋優(yōu).WOA 的原理就是模擬座頭鯨圍捕獵物的行為,實現(xiàn)全局搜索的過程[14],主要包含了包圍、攻擊和搜索3 大過程.
(1)包圍.開始鯨魚會先選擇一個局部最優(yōu)的捕食方向,設(shè)定一個當(dāng)前最優(yōu)的獵物位置進行包圍.計算公式如下:
其中,X*代表獵物位置的向量,X代表鯨魚位置的向量,t為迭代輪數(shù),A和C為系數(shù)向量.計算時,會對A和C向量進行調(diào)試,用來尋找X在最優(yōu)解周圍的位置.A、C的計算公式如下:
其中,a從2 到0 線性變化;r是取自于[0,1]中的隨機向量.
(2)攻擊.一般鯨魚在進行攻擊的時候,主要有兩個機制,分別是收縮包圍獵物機制和螺旋更新位置機制.
收縮包圍機制: 新的個體位置可以定義在目前的鯨魚個體和最佳鯨魚個體間的任何一個位置[15],參見式(5).
螺旋更新位置機制: 首先計算出鯨魚和獵物之間的距離D′,構(gòu)建方程:
其中,b為常數(shù),l取[-1,1]之間的隨機數(shù).
本文設(shè)定0.5 為閾值,通過判斷產(chǎn)生的概率值p來決定鯨魚在攻擊時采取何種機制.若概率p<0.5 且|A|<1,則采取收縮包圍的機制; 若概率p>0.5 且|A|<1 時,則采取螺旋式機制來更新位置.
(3)搜索.若|A|>1,則隨機搜索并選取鯨魚來進行位置的更新,而非基于已有的最優(yōu)的鯨魚個體.如果算法的迭代輪次已經(jīng)達到最大,則算法終止.
選擇最優(yōu)的隱藏層神經(jīng)元個數(shù)m和學(xué)習(xí)率l值對于神經(jīng)網(wǎng)絡(luò)預(yù)測來說,是至關(guān)重要的,而依據(jù)經(jīng)驗選取參數(shù)的做法會降低BiLSTM 模型預(yù)測精度.因此,本文通過WOA 算法對BiLSTM 循環(huán)網(wǎng)絡(luò)的參數(shù)m和l做以優(yōu)化.
將鯨魚個體作為各個優(yōu)化策略,將鯨魚位置的維數(shù)對應(yīng)BiLSTM 模型待優(yōu)化參數(shù)的個數(shù),在鯨魚不斷更新自身位置的過程中獲得BiLSTM 循環(huán)網(wǎng)絡(luò)的最優(yōu)參數(shù)組合.
WOA-BiLSTM 組合模型如圖4 所示.WOA 算法將計算得到的初始化種群參數(shù)傳遞給已經(jīng)建立的BiLSTM 模型,輸入訓(xùn)練集到BiLSTM 模型進行訓(xùn)練,再對測試集進行預(yù)測,得到真實值和預(yù)測值之間的誤差,同時WOA 算法種群不斷更新,將更新得到的參數(shù)傳遞給模型進行再訓(xùn)練,直到WOA 算法輸出最優(yōu)的網(wǎng)絡(luò)超參數(shù),再將得到的全局最優(yōu)解傳遞給BiLSTM模型,模型根據(jù)最優(yōu)解組合對數(shù)據(jù)進行訓(xùn)練,之后再進行測試,最終輸出得到模型的最佳預(yù)測結(jié)果.
圖4 WOA-BiLSTM 組合模型
使用WOA 算法來對BiLSTM 網(wǎng)絡(luò)模型進行優(yōu)化,首先需要給定兩個參數(shù)的搜索區(qū)間,然后經(jīng)過第2.2 節(jié)描述的鯨魚優(yōu)化算法在給定的區(qū)間范圍內(nèi)進行隨機搜索,使得預(yù)測模型的損失函數(shù)Loss 不斷收斂,得到最高的預(yù)測精度,從而得到最優(yōu)的網(wǎng)絡(luò)參數(shù),將最優(yōu)網(wǎng)絡(luò)參數(shù)代入BiLSTM 模型進行預(yù)測.WOA 算法用于BiLSTM 模型來實現(xiàn)空氣質(zhì)量預(yù)測的算法流程圖如圖5 所示.
圖5 WOA-BiLSTM 算法流程圖
將WOA 用于BiLSTM 模型進行預(yù)測,其算法流程按照如下幾步進行:
步驟1.首先對空氣質(zhì)量數(shù)據(jù)進行清洗和歸一化等處理后,將數(shù)據(jù)輸入到BiLSTM 模型;
步驟2.對BiLSTM 模型參數(shù)學(xué)習(xí)率l和神經(jīng)元個數(shù)m進行初始化;
步驟3.對鯨魚優(yōu)化算法種群進行初始化.將變量組合(m,l)輸入到WOA 算法中,作為待優(yōu)化參數(shù),種群不斷更新;
步驟4.將初始化完成的參數(shù)值作為歷史最優(yōu)參數(shù)輸入到BiLSTM 模型進行訓(xùn)練;
步驟5.將傳統(tǒng)BiLSTM 模型進行訓(xùn)練后得到的損失函數(shù)值作為系統(tǒng)要求的終止條件,并同時計算得到基于鯨魚優(yōu)化算法的預(yù)測模型的損失值;
步驟6.如果基于鯨魚優(yōu)化算法的預(yù)測模型損失值比傳統(tǒng)的BiLSTM 模型的損失值小,則滿足判定條件,輸出最優(yōu)學(xué)習(xí)率l和神經(jīng)元個數(shù)m; 相反,如果基于鯨魚優(yōu)化算法的預(yù)測模型損失值大于或者等于傳統(tǒng)的BiLSTM 模型,則需要進一步更新參數(shù)并再次訓(xùn)練模型.
考慮到全局優(yōu)化算法有多個,本文對WOA 等多個優(yōu)化算法的適應(yīng)度值進行了分析,如圖6 所示,可以看出,當(dāng)?shù)螖?shù)達到65 代左右時,WOA 算法出現(xiàn)最佳適應(yīng)度值,GSA (gravitational search algorithm)引力搜索算法在第100 代時出現(xiàn)最佳適應(yīng)度值,而PSO(particle swarm optimization)粒子群優(yōu)化算法和BOA(Bayesian optimization algorithm)貝葉斯優(yōu)化算法則是在第200 代左右時出現(xiàn)最佳適應(yīng)度值.WOA 算法最佳適應(yīng)度值為0.000 193 2.由此可以說明,WOA 算法比其他優(yōu)化算法具有更快的收斂速度和更高的收斂精度.
圖6 各算法適應(yīng)度值收斂曲線圖
過往研究可以發(fā)現(xiàn),LSTM 網(wǎng)絡(luò)參數(shù)中,隱藏層神經(jīng)元個數(shù)m和學(xué)習(xí)率l對模型的訓(xùn)練結(jié)果影響最大.一般神經(jīng)網(wǎng)絡(luò)中的隱藏層神經(jīng)元個數(shù)都是由經(jīng)驗公式,見式(10),而得到一個大致的取值范圍,然后在這個取值范圍中,進行屢次的實驗來設(shè)定該參數(shù)的取值,并且還要對模型性能進行橫向的對比,最終選取一個最優(yōu)的參數(shù).
其中,α 和 β分別為輸出層和輸入層的節(jié)點數(shù),n取介于[0,10]之間的常數(shù).
學(xué)習(xí)率l對于BiLSTM 網(wǎng)絡(luò)來說,關(guān)乎網(wǎng)絡(luò)訓(xùn)練時損失曲線的振幅以及模型收斂的快慢.學(xué)習(xí)率如果設(shè)置的較小,Loss 曲線就會振幅變小,學(xué)習(xí)速度也變得緩慢; 而學(xué)習(xí)率如果設(shè)置的過大,Loss 曲線就會振幅變大,下降速度變快.所以需要選擇合適的學(xué)習(xí)率參數(shù),實現(xiàn)模型訓(xùn)練“穩(wěn)中求進”的原則[16].
WOA-BiLSTM 模型具有雙向的循環(huán)神經(jīng)網(wǎng)絡(luò),模型具有輸入層,輸出層和一個隱藏層結(jié)構(gòu),選取Adam優(yōu)化器來更新模型參數(shù).本文中隱藏層神經(jīng)元個數(shù)m的值范圍為[10,50],學(xué)習(xí)率l的取值范圍為[0.001,0.01],WOA 算法對鯨魚種群進行初始化后,將參數(shù)傳遞給BiLSTM 模型,初始的隱層神經(jīng)元個數(shù)m為30,學(xué)習(xí)率l為0.001.為避免過擬合問題,迭代次數(shù)設(shè)為200,時間步長設(shè)為5.基于WOA 算法的不斷更新迭代,最后將最優(yōu)的網(wǎng)絡(luò)超參數(shù)進行輸出,最終獲得最優(yōu)參數(shù)組合如表1 所示.
表1 BiLSTM 模型的最優(yōu)參數(shù)組合
根據(jù)模型在訓(xùn)練過程中,隨著迭代輪次的遞增,訓(xùn)練集上損失值不斷下降的過程,得到模型訓(xùn)練的Loss曲線圖,如圖7 所示.可以看出,在前100 次迭代時,損失曲線大幅下降,而當(dāng)?shù)喆蔚竭_140 左右時,Loss已經(jīng)近乎為0.
圖7 Loss 曲線圖
將提升后的數(shù)據(jù)輸入本文模型,訓(xùn)練集取4 000 條樣本,測試集取400 條樣本,訓(xùn)練WOA-BiLSTM 模型如圖8 所示.可以看出在訓(xùn)練集和測試集上,AQI 的預(yù)測值和真實值非常貼近,曲線波動走向近乎一致,說明預(yù)測誤差小,模型精確度高,可以實現(xiàn)對AQI 的高精度預(yù)測.
圖8 WOA-BiLSTM 模型預(yù)測效果圖
為驗證WOA-BiLSTM 模型對比其他現(xiàn)有預(yù)測模型間所具有的優(yōu)勢,采用BiLSTM 和LSTM 模型進行對比試驗,隱藏層中的激活函數(shù)均使用tanh 函數(shù),并采用十折交叉驗證法對模型進行訓(xùn)練.圖9 和圖10 分別為BiLSTM 和LSTM 對AQI 進行預(yù)測的結(jié)果,可以看出,兩個模型的訓(xùn)練精度均低于WOA-BiLSTM 模型.尤其從測試集可以發(fā)現(xiàn),真實值和預(yù)測值在很多峰值處無法達到高度擬合狀態(tài).
圖9 BiLSTM 模型預(yù)測效果圖
圖10 LSTM 模型預(yù)測效果圖
為了量化表示不同模型的預(yù)測值與真實值之間的誤差大小,本文采用絕對均值誤差(MAE)、均方根誤差(RMSE)以及線性相關(guān)系數(shù)(R2)作為評價指標[17].評價指標的計算見式(19)-式(21).
其中,n指測量值的總個數(shù),yi指AQI 預(yù)測的實測值,指AQI 預(yù)測的預(yù)測值,指yi的平均值.
本文分別將WOA-BiLSTM、BiLSTM、LSTM 模型在測試集上的預(yù)測評價指標進行了記錄,如表2 所示.
表2 不同模型的評價指標
為了更形象化的對比驗證本文模型的合理性,對模型的評價指標進行可視化展示,如圖11 所示.
圖11 模型預(yù)測指標對比
可以看出,本文提出的WOA-BiLSTM 模型MAE、RMSE值為最低,分別為6.543 3 和7.334 6.其中MAE值較BiLSTM 模型和LSTM 模型分別降低了1.876 5和3.913 6.RMSE較BiLSTM 模型和LSTM 模型分別降低了3.186 9 和5.325 1; 同時,本文模型的R2值亦為最高,較BiLSTM 模型和LSTM 模型分別提高了0.26%和1.98%.這也說明了基于WOA 算法的BiLSTM 模型對于空氣質(zhì)量具有更好的預(yù)測效果,其中WOA 算法幫助BiLSTM 模型尋找最優(yōu)網(wǎng)絡(luò)參數(shù),雙向的長短期記憶網(wǎng)絡(luò)幫助模型能夠從前向和后向一并提取充足的數(shù)據(jù)特征,達到更為精準的AQI 預(yù)測效果.
針對一般的長短期記憶網(wǎng)絡(luò)在預(yù)測過程中,網(wǎng)絡(luò)參數(shù)需要依據(jù)經(jīng)驗而得,訓(xùn)練周期長,模型精度不夠高的問題,本文提出的WOA-BiLSTM 模型,以陜西省空氣質(zhì)量數(shù)據(jù)作為數(shù)據(jù)集,驗證了本文模型的有效性.
(1)本文WOA-BiLSTM 模型中提出的WOA 算法作為一種啟發(fā)式的參數(shù)尋優(yōu)算法,可以高效的得到網(wǎng)絡(luò)的最佳訓(xùn)練參數(shù),能夠有效避免模型訓(xùn)練時調(diào)參所帶來的對預(yù)測精度的影響,而且采用了雙向的長短期記憶網(wǎng)絡(luò),能夠使得模型在提取數(shù)據(jù)信息時,盡可能地關(guān)注單向長短期記憶網(wǎng)絡(luò)所忽略的信息,從而能夠保證空氣質(zhì)量預(yù)測結(jié)果的優(yōu)越性.
(2)本文還將WOA-BiLSTM 模型和BiLSTM 以及LSTM 模型進行了預(yù)測效果的對比,發(fā)現(xiàn)了本文提出模型的MAE、RMSE、R2值均是最佳的.這也說明了本文提出的模型能夠更為準確的預(yù)測空氣質(zhì)量問題,能夠為我省氣象局開展空氣質(zhì)量預(yù)測工作提供理論支撐和實踐依據(jù).