陳 肖,張 強(qiáng),姚年春
(江蘇財經(jīng)職業(yè)技術(shù)學(xué)院智能工程技術(shù)學(xué)院,淮安 223300)
淮安市二河位于洪澤湖東側(cè),其水量主要來自于洪澤湖的補(bǔ)給。作為淮安市重要的河流型水源地,已經(jīng)被納入了水利部公布的第二批《全國重要飲用水水源地名錄》[1]。二河支撐著淮安市城南區(qū)域灌溉、養(yǎng)殖、供水等活動,近年來,洪澤湖透明度降低,湖體富營養(yǎng)化嚴(yán)重,因二河主要由洪澤湖通過二河閘供水,二河水質(zhì)也不斷惡化[2]。溶氧量(dissolved oxygen, DO)作為一項(xiàng)重要的水質(zhì)參數(shù),隨著季節(jié)的變化有規(guī)律的波動。DO 可以指示河流的受污染程度,也能從中分析得出魚、蝦等水生生物的生存條件[3]。因此,對于DO 發(fā)展趨勢的精確預(yù)測,對水源地的水質(zhì)管理以及淮安市的經(jīng)濟(jì)及社會可持續(xù)發(fā)展具有重要意義,同時也能為二河的飲用水源地保護(hù)提供一種新的思路。
基于上述分析,本文將集合經(jīng)驗(yàn)?zāi)B(tài)分解(ensemble empirical mode decomposition, EEMD)與核極限學(xué)習(xí)機(jī)(kernel extreme learning machine, KELM)組合,運(yùn)用在淮安市二河溶氧量的預(yù)測中。將EEMD 分解得出每個分量的KELM預(yù)測結(jié)果疊加,作為整個組合模型的最終預(yù)測結(jié)果。與其他預(yù)測模型相比,本文提出的模型預(yù)測精度高、泛化性強(qiáng),可以實(shí)現(xiàn)對二河水質(zhì)的高精度預(yù)測。
EEMD 基于經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition, EMD),在EMD 的基礎(chǔ)上將數(shù)個高斯白噪聲加入到待分解的信號中,再將所有的分解結(jié)果相加取均值以得出最終的本征模態(tài)函數(shù)(intrinsic mode function, IMF),以此優(yōu)化EMD 中的模態(tài)混疊問題,具有良好的分解效果[4]。IMF 分量利用三次樣條插值法,可以實(shí)現(xiàn)對原始序列的篩分,第一個被篩分出來的IMF分量通常頻率最高,之后的IMF 分量頻率依次降低。當(dāng)分解達(dá)到終止條件時,剩余未被篩分的序列稱之為殘差。EEMD的分解步驟如下:
(1)將數(shù)個高斯白噪聲信號εi(t)加入到原始信號序列x(t)中,得到加噪信號xi(t):
式中:i表示加入的高斯白噪聲的個數(shù)。
(2)將加噪信號xi(t)按照EMD 分解的步驟分解,分解過程參照文獻(xiàn)[5],得到i個加噪信號的IMF 分量cn,i(t),然后對cn,i(t)進(jìn)行整體平均,得出的第n個IMF分量可表示為
式中,n為IMF 分量的個數(shù)。對殘差的處理同樣參照上式,此處不再贅述。
對于白噪聲的添加,根據(jù)EEMD 算法提出者的要求,應(yīng)滿足:
式中,εn為IMF 重構(gòu)信號與初始信號的誤差,經(jīng)過查閱其他文獻(xiàn)與實(shí)驗(yàn)驗(yàn)證,本文將i的取值設(shè)置為100,ε的取值為0.1 時有較好的分解效果,可以有效避免模態(tài)混疊的發(fā)生。
1.2.1 極限學(xué)習(xí)機(jī)
ELM算法是Huang等[5]提出的一種單隱層前饋神經(jīng)網(wǎng)絡(luò)算法,其輸入層與隱含層的權(quán)值閾值隨機(jī)產(chǎn)生,只需要設(shè)置好隱含層節(jié)點(diǎn)數(shù)即可直接得到隱含層到輸出層的權(quán)值,其數(shù)學(xué)模型為
式中:H為隱含層輸出矩陣;Y為輸出矩陣;β為隱含到輸出層的連接權(quán)值矩陣。求解式(4)的最小二乘解:
解出β=H+Y。H+為隱含層輸出矩陣的摩爾彭羅斯廣義逆矩陣。
1.2.2 核極限學(xué)習(xí)機(jī)
KELM 是基于ELM 發(fā)展而來,傳統(tǒng)的ELM算法為了實(shí)現(xiàn)高效快速的訓(xùn)練效果犧牲了一定的穩(wěn)定性與泛化性。因此,Huang 等[5]提出采用核函數(shù)h(x)來代替隨機(jī)映射H,由此將樣本從復(fù)雜的低維度空間問題映射到高維空間轉(zhuǎn)化為內(nèi)積問題[6]。在此基礎(chǔ)上,引入正則化系數(shù)C以提高模型的穩(wěn)定性與泛化性,解決模型的系統(tǒng)性風(fēng)險,進(jìn)一步提升了模型的預(yù)測能力[7]。引入正則化系數(shù)C后,ELM 學(xué)習(xí)過程由最小二乘最優(yōu)解轉(zhuǎn)變?yōu)榍蠼舛我?guī)劃問題,利用拉格朗日乘數(shù)法求解得出:
式中,C為正則化系數(shù),根據(jù)Mercer’s 條件[8],將核矩陣定義為
式中,K(*) 為核函數(shù),本文選擇高斯核函數(shù),因此:
式中,g為核參數(shù),KELM的預(yù)測輸出為可以看出,核參數(shù)g以及正則化系數(shù)C的選取十分重要,可以決定KELM的預(yù)測性能。
EEMD-KELM 二河水質(zhì)DO 值組合預(yù)測模型的整體預(yù)測流程如圖1所示。
圖1 EEMD-KELM預(yù)測模型整體流程
數(shù)據(jù)集使用淮安市環(huán)境局提供的2010 年第1 周至2020 年第50 周共537 周的水質(zhì)DO 數(shù)據(jù)。利用箱線圖法對水質(zhì)DO 值數(shù)據(jù)集中的異常值進(jìn)行剔除。利用均值平滑法對異常值和缺省值進(jìn)行修復(fù),如果需要修復(fù)的數(shù)據(jù)連續(xù)分布,則基于相似日的方法,通過查詢?nèi)笔?shù)據(jù)所在周的氣象信息與水文信息,尋找相似周數(shù)的水質(zhì)數(shù)據(jù)的均值作為最終的修復(fù)值[9]。
利用EEMD 算法對二河的DO 序列進(jìn)行分解,利用1.1 的數(shù)據(jù)設(shè)置好EEMD 的相關(guān)參數(shù),分解的結(jié)果如圖2所示。
圖2 二河DO序列EEMD分解結(jié)果
由圖2 可知,二河的DO 序列被分解成7 個IMF 分量和一個殘差,這些分量反映出了二河DO 值的變化情況,使得原來難以預(yù)測的DO 序列有規(guī)律可循。在這些分量中,IMF1與IMF2的頻率最高,表現(xiàn)出的特征類似噪聲,該分量反映出了二河DO 值的隨機(jī)變化,可以稱之為隨機(jī)分量。IMF3、IMF4 與IMF5 反映的是二河DO 序列有規(guī)律的變化細(xì)節(jié),易于擬合與掌握,統(tǒng)稱為細(xì)節(jié)分量。IMF6、IMF7 以及殘差Res 反映的是二河DO 序列的整體變化趨勢,稱之為趨勢分量。由于IMF6 與IMF7 的量綱較小,為了提升算法的運(yùn)行效率,本文選擇疊加趨勢分量,將疊加后的分量作為一個新的分量帶入模型預(yù)測,簡化模型預(yù)測過程。
這里以IMF1 為例,利用分布式取值法構(gòu)建數(shù)據(jù)集,即每10 個為一組,一組內(nèi)的前9 個作為輸入,第10 個作為輸出。因此,543 個數(shù)據(jù)可以創(chuàng)建534 組數(shù)據(jù),取前510 組作為訓(xùn)練集,剩下的24 組為測試集。剩余的其它分量都以此方式創(chuàng)建數(shù)據(jù)集并按統(tǒng)一的標(biāo)準(zhǔn)設(shè)定訓(xùn)練集和測試集。
依然以IMF1 為例,本文參照文獻(xiàn)[10],利用麻雀搜索算法對KELM 的g、C、以及隱含層節(jié)點(diǎn)數(shù)進(jìn)行尋優(yōu)。設(shè)定麻雀搜索算法的最大迭代次數(shù)是100,種群大小是30,其中隱含層節(jié)點(diǎn)數(shù)的尋優(yōu)范圍設(shè)定為[10,250],正則化系數(shù)C的范圍設(shè)定在[0.001,10],核參數(shù)g的范圍設(shè)定在[0.001,10]。最終將IMF1 分量的KELM 參數(shù)設(shè)定為:107 個隱含層節(jié)點(diǎn),核參數(shù)g設(shè)定為2.054,正則化系數(shù)C設(shè)定為1.685。其它分量的設(shè)置方法與IMF1 分量設(shè)置方法類似,此處不再贅述。使用KELM 對各分量進(jìn)行預(yù)測,為降低偶然性因數(shù)的影響,取預(yù)測結(jié)果30 次的平均值作為最終預(yù)測結(jié)果,將各分量預(yù)測結(jié)果疊加,作為最終的預(yù)測結(jié)果。
為驗(yàn)證EEMD-KELM 模型預(yù)測效果,將其與支持向量機(jī)(support vector machine, SVM)、KELM 以及長短時記憶網(wǎng)絡(luò)(long short time memory, LSTM)進(jìn)行對比。為了保證結(jié)果的客觀,在計算預(yù)測結(jié)果時同樣采用30 次實(shí)驗(yàn)的平均值作為最終結(jié)果。本次研究的評價指標(biāo)選擇均方根誤差(root mean square error, RMSE)與平均絕對百分誤差(mean absolute percentage error,MAPE)。EEMD-KELM 與其他模型的預(yù)測數(shù)據(jù)比較結(jié)果如圖3所示。為了直觀地比較和分析各模型的預(yù)測性能,各個預(yù)測模型的RMSE 及MAPE如表1所示。
表1 二河DO值預(yù)各測模型參數(shù)評價對比
圖3 二河DO值各預(yù)測模型預(yù)測值與真實(shí)值對比
從圖3可以看出,EEMD-KELM 模型預(yù)測性能良好,能夠以較高擬合度與精度對二河DO 值進(jìn)行預(yù)測。因此,“分解—預(yù)測—結(jié)合”的預(yù)測思路是十分有效的,EEMD 有效地解耦了二河的水質(zhì)DO 值數(shù)據(jù),使得KELM 能夠高效地實(shí)現(xiàn)對每個分量的預(yù)測,組合預(yù)測模型極大地提高了二河DO值的預(yù)測精度。
由表1可知,EEMD-KELM 模型具有最高的預(yù)測精度。在與其他模型的比較中,EEMDKELM 模型的RMSE 比SVM 降低了43.89%;比KELM 降低了37.94%;比LSTM 降低了39.28%。其MAPE 比SVM 降低了40.76%;比KELM 降低了33.62%;比LSTM 降低了29.23%。由此得出,EEMD-KELM模型預(yù)測精度高、泛化性強(qiáng)。能夠較為準(zhǔn)確地預(yù)測二河水質(zhì)DO 值的變化,可以為二河的水環(huán)境保護(hù)與治理等活動提供決策依據(jù)。
本文將核函數(shù)與正則化系數(shù)引入極限學(xué)習(xí)機(jī),提高了極限學(xué)習(xí)機(jī)的泛化性與預(yù)測穩(wěn)定性。利用EEMD 解耦二河水質(zhì)數(shù)據(jù),并將解耦所得分量分別代入KELM 模型進(jìn)行預(yù)測,將各分量預(yù)測結(jié)果疊加作為最終預(yù)測結(jié)果。結(jié)果表明,與其他預(yù)測模型相比,本文所提模型能夠?qū)Χ覦O值進(jìn)行準(zhǔn)確預(yù)測,泛化性強(qiáng)、預(yù)測精度高。
在水環(huán)境保護(hù)呼聲漸漲的當(dāng)下,如何實(shí)現(xiàn)對流域環(huán)境的高效治理與保護(hù)正逐漸成為一項(xiàng)重要的研究工作,而水質(zhì)預(yù)測作為上述工作的基礎(chǔ),應(yīng)具有較好的預(yù)測能力和穩(wěn)定性,以此為從業(yè)人員提供參考。本文提出的模型能夠?qū)崿F(xiàn)上述目標(biāo),因此具有一定的使用前景。
在后續(xù)的研究中,可以將其他的水質(zhì)參數(shù)與天氣因素考慮在內(nèi),實(shí)現(xiàn)多因素的預(yù)測方法。另外,還可對解耦算法進(jìn)行改進(jìn),提高隨機(jī)分量的預(yù)測能力,從而進(jìn)一步提高水質(zhì)預(yù)測模型的預(yù)測精度和穩(wěn)定性。