張學(xué)坤
(云南省水文水資源局西雙版納分局,云南 景洪 666100)
溶解氧(DO)是反映水質(zhì)狀況及自凈能力的重要指標(biāo)。提高溶解氧預(yù)測精度對于保護水資源、水環(huán)境、水生態(tài)以及保障飲用水安全具有重要意義。目前,用于溶解氧預(yù)測的方法有BP神經(jīng)網(wǎng)絡(luò)[1]、GRNN[1]、Elman[1-2]、RBF[3]、NARX神經(jīng)網(wǎng)絡(luò)[4]、回歸支持向量機(SVR)[5]、極限學(xué)習(xí)機(ELM)[6]、組合預(yù)測法等[7],均具有較好的預(yù)測效果。為進一步提高溶解氧預(yù)測精度,拓展現(xiàn)有預(yù)測模型及方法,本文研究提出一種基于海鷗優(yōu)化算法(Seagull Optimization Algorithm,SOA)與支持向量機(Support Vector Machines,SVM)及BP神經(jīng)網(wǎng)絡(luò)相融合的溶解氧預(yù)測模型,分別利用SOA對SVM懲罰因子、核函數(shù)參數(shù)、不敏感系數(shù)以及BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值進行優(yōu)化,建立SOA-SVM、SOA-BP溶解氧預(yù)測模型;基于云南省西雙版納州國家重要供水水源地景洪電站2009年1月至2020年9月共141組逐月溶解氧監(jiān)測數(shù)據(jù),通過自相關(guān)函數(shù)法(autocorrelation function method,AFM)、虛假最鄰近法(false nearest neighbor,F(xiàn)NN)設(shè)置4 種方案,利用SOA-SVM、SOA-BP模型對實例4種方案溶解氧進行預(yù)測,預(yù)測結(jié)果與SVM和BP模型進行對比,旨在驗證SOA-SVM、SOA-BP模型用于溶解氧預(yù)測的可行性。本文研究意義和價值在于:介紹了新穎的海鷗優(yōu)化算法(SOA),利用SOA分別優(yōu)化SVM懲罰因子等關(guān)鍵參數(shù)和BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值,構(gòu)建SOA-SVM、SOA-BP模型,并將模型用于溶解氧實例預(yù)測,不但拓展了SVM、BP模型的優(yōu)化方法,而且為溶解氧等相關(guān)預(yù)測研究提供借鑒。
海鷗優(yōu)化算法(SOA)是Gaurav Dhiman等[8]于2019年提出的一種新型元啟發(fā)式優(yōu)化算法,其靈感來源于自然界海鷗遷徙和攻擊行為。與其他算法相比,SOA收斂速度快、尋優(yōu)精度高、調(diào)節(jié)參數(shù)少,具有較好的尋優(yōu)精度和全局搜索能力。
SOA主要基于以下優(yōu)化策略:①海鷗成群遷徙,為避免彼此碰撞,海鷗初始位置不同;②海鷗向最適合生存的海鷗方向行進,即向具有最佳適應(yīng)度值的海鷗方向行進;③依據(jù)最佳海鷗適應(yīng)度值更新其他海鷗位置。參考文獻[8],SOA數(shù)學(xué)描述簡述如下。
a)初始化。與大多數(shù)元啟發(fā)式算法類似,SOA通過初始化海鷗種群來啟動優(yōu)化過程,即在搜索空間范圍初始化海鷗位置:
(1)
b)海鷗遷徙策略。SOA通過3個階段完成海鷗遷徙過程,即避免沖突階段、向最佳海鷗飛行階段和保持靠近最佳海鷗階段。
避免沖突階段。海鷗在遷徙過程中為避免與其他海鷗發(fā)生碰撞,通過附加變量A來計算新海鷗位置,數(shù)學(xué)描述如下:
(2)
向最佳海鷗飛行階段。在避免海鷗群體間碰撞后,當(dāng)前海鷗向著具有最佳適應(yīng)度值的海鷗方向飛行,數(shù)學(xué)描述如下:
(3)
保持靠近最佳海鷗階段。遷徙過程中,當(dāng)前海鷗依據(jù)最佳海鷗適應(yīng)度值更新其位置,數(shù)學(xué)描述如下:
(4)
c)海鷗攻擊策略。海鷗在遷徙過程中不斷改變攻擊角度和速度,并通過螺旋飛行方式攻擊獵物,位置更新數(shù)學(xué)描述如下:
(5)
式中x、y、z——平面坐標(biāo),其中x=r×cos(k),y=r×sin(k),z=r×k,r=u×ekv;r——螺旋線旋轉(zhuǎn)半徑;k——[0,2π]內(nèi)的隨機數(shù);u、v——螺旋形狀常數(shù);e——自然對數(shù)底數(shù)。
設(shè)含有l(wèi)個訓(xùn)練樣本的集合為{(xi,yi),i=1,2,…,l},xi(xi∈Rd)為第i個訓(xùn)練樣本輸入列向量,yi∈R為對應(yīng)輸出值[9-12]。則SVM在高維特征空間中建立的線性回歸函數(shù)為:
f(x)=wΦ(x)+b
(6)
式中Φ(x)——非線性映射函數(shù);w——超平面的法向量;b——超平面的偏移量。
最終回歸函數(shù)為:
(7)
選擇徑向基核函數(shù)作為SVM核函數(shù),徑向基核函數(shù)表達式為:
(8)
式中g(shù)>0。
設(shè)典型3層BP神經(jīng)網(wǎng)絡(luò)輸入維數(shù)為m、隱層為l、輸出維數(shù)為1,參考相關(guān)文獻[13-16],BP神經(jīng)網(wǎng)絡(luò)完成映射的數(shù)學(xué)表達式可表示如下:
(9)
式中l(wèi)j——隱層到輸出層的連接權(quán)值;bj——隱層節(jié)點的輸出;ε——隱出層的閾值。
采用Sigmoid函數(shù)的隱層節(jié)點輸出表示如下:
(10)
式中ωij——輸入層至隱層的連接權(quán)值;θj——隱層節(jié)點的閾值。
步驟一利用SOA優(yōu)化SVM懲罰因子、核函數(shù)參數(shù)、不敏感系數(shù)以及BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值,建立SOA-SVM、SOA-BP預(yù)測模型;采用自相關(guān)函數(shù)法(AFM)、虛假最鄰近法(FNN)構(gòu)建4 種方案的輸入輸出向量,劃分訓(xùn)練樣本和預(yù)測樣本,利用處理后的訓(xùn)練樣本對SOA-SVM、SOA-BP模型進行訓(xùn)練。
步驟二確定待優(yōu)化適應(yīng)度函數(shù)。本文選用訓(xùn)練樣本與實測值均方誤差構(gòu)建適應(yīng)度函數(shù),描述如下:
(11)
步驟三參數(shù)設(shè)置。設(shè)置海鷗群體規(guī)模N、最大迭代次數(shù)T、算法終止條件、頻率系數(shù)fc=1和SVM關(guān)鍵參數(shù)和BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值搜索范圍,利用式(1)隨機初始化海鷗位置,令當(dāng)前迭代次數(shù)m=0。
景洪電站位于云南省瀾滄江下游河段,西雙版納州景洪市境內(nèi),為國家重要供水水源地和景洪市城區(qū)主要供水水源。電站壩址以上集水面積14.91萬km2,州內(nèi)集水面積3 071 km2,多年平均徑流量571億m3,州內(nèi)庫區(qū)水面面積21.75 km2,河長65.5 km,正常蓄水位為602 m,相應(yīng)庫容8.7億m3,設(shè)計供水人口19.6萬人,現(xiàn)狀年供水量約2 000萬m3。景洪電站為云南省重點湖庫水生態(tài)監(jiān)測站,西雙版納州水環(huán)境監(jiān)測分中心于2009年1月起對景洪電站水質(zhì)進行取樣檢測,年監(jiān)測 12次,為每月監(jiān)測。
數(shù)據(jù)來源于景洪電站2009年1月至2020年9月共141組逐月溶解氧監(jiān)測成果,利用自相關(guān)函數(shù)法(AFM)、虛假最鄰近法(FNN)設(shè)置4 種方案進行溶解氧預(yù)測,具體如下。
a)方案一至方案三。利用AFM法計算該實例延遲時間為1~10的自相關(guān)系數(shù)分別為0.465、0.435、0.319、0.173、0.154、0.123、0.116、0.180、0.190、0.295。可見,當(dāng)延遲時間為1~3時自相關(guān)系數(shù)最大,分別為0.465、0.435、0.319。因此,方案一采用前1 個月的溶解氧預(yù)測下1個月的溶解氧;方案二采用前2個月的溶解氧預(yù)測下1個月的溶解氧;方案三采用前3個月的溶解氧預(yù)測下1個月的溶解氧。
b)方案四。采用AFM和FNN法確定方案四延遲時間為1、嵌入維數(shù)為6,即采用前6個月的溶解氧預(yù)測下一個月的溶解氧。
對于上述方案一至方案四,本文利用實例2009年1月至2018年12月溶解氧監(jiān)測數(shù)據(jù)作為訓(xùn)練樣本,2019年1月至2020年9月溶解氧監(jiān)測數(shù)據(jù)作為預(yù)測樣本。
a)SOA-SVM模型。設(shè)置SOA最大迭代次數(shù)T=100,種群規(guī)模N=50,頻率系數(shù)fc=1,其他采用SOA默認值;選擇徑向基核函數(shù)為RBF,懲罰因子σ、核函數(shù)參數(shù)γ、不敏感系數(shù)ε搜索范圍分別為[0.01,100],[0.1,100],[0.001,0.1],交叉驗證折數(shù)V=5,采用[-1,1]對原始數(shù)據(jù)進行歸一化處理。
b)SOA-BP模型。設(shè)置SOA最大迭代次數(shù)T=100,種群規(guī)模N=50,頻率系數(shù)fc=1,其他采用SOA默認值;設(shè)置方案一至方案四的BP神經(jīng)網(wǎng)絡(luò)隱層數(shù)分別為4、6、8、11,隱含層和輸出層傳遞函數(shù)分別采用logsig和purelin,訓(xùn)練函數(shù)采用traingdx,設(shè)定期望誤差0.01,最大訓(xùn)練輪回1 000,采用[-1,1]對原始數(shù)據(jù)進行歸一化處理。
c)SVM和BP模型。通過試湊法確定SVM模型的懲罰因子σ、核函數(shù)參數(shù)γ、不敏感系數(shù)ε;BP模型的網(wǎng)絡(luò)結(jié)構(gòu)、隱含層數(shù)、傳遞函數(shù)、訓(xùn)練函數(shù)、期望誤差、最大訓(xùn)練輪回次數(shù)均與SOA-BP模型相同;SVM、BP模型均采用[-1,1]對原始數(shù)據(jù)進行歸一化處理。
建立SOA-SVM、SOA-BP、SVM、BP模型對實例方案一至方案四的溶解氧進行訓(xùn)練及預(yù)測,并選取平均相對誤差絕對值MRE(%)、平均絕對誤差絕對值MAE(mg/L)、最大相對誤差MaxRE(%)作為評價指標(biāo)。4種模型不同方案的預(yù)測結(jié)果見表1;4種方案的溶解氧預(yù)測相對誤差效果見圖1—4。
表1 方案一至方案四不同模型溶解氧預(yù)測結(jié)果及其對比
續(xù)表1 方案一至方案四不同模型溶解氧預(yù)測結(jié)果及其對比
圖1 方案一預(yù)測結(jié)果相對誤差
圖2 方案二預(yù)測結(jié)果相對誤差
圖3 方案三預(yù)測結(jié)果相對誤差
圖4 方案四預(yù)測結(jié)果相對誤差
依據(jù)表1及圖1—4可以得出以下結(jié)論。
a)SOA-SVM、SOA-BP模型對方案一至方案四溶解氧預(yù)測的平均相對誤差絕對值分別在4.07%~4.98%、3.85%~4.83%之間,平均絕對誤差絕對值分別在0.309~0.374、0.294~0.371 mg/L之間,預(yù)測精度均優(yōu)于SVM、BP模型,具有較好的預(yù)測效果,表明SOA能有效優(yōu)化SVM懲罰因子、核函數(shù)參數(shù)、不敏感系數(shù)以及BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值,SOA-SVM、SOA-BP模型用于溶解氧預(yù)測是可行的。SOA-BP模型的預(yù)測精度要優(yōu)于SOA-SVM模型。
b)對于SOA-SVM和SVM模型,SOA-SVM模型對方案一至方案四溶解氧預(yù)測的平均相對誤差絕對值分別為4.07%、4.62%、4.46%、4.98%,預(yù)測精度分別較對應(yīng)方案的SVM模型提高18.9%、16.3%、19.8%、17.1%,表明采用SOA尋優(yōu)SVM懲罰因子、核函數(shù)參數(shù)、不敏感系數(shù),不但省去人工試湊的繁瑣,而且大大提高溶解氧的預(yù)測精度。
c)對于BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、隱含層數(shù)等完全相同的SOA-BP和BP模型,SOA-BP模型對方案一至方案四溶解氧預(yù)測的平均相對誤差絕對值分別為3.85%、4.20%、4.22%、4.83%,預(yù)測精度分別較對應(yīng)方案的BP模型提高21.6%、14.8%、17.4%、13.9%,表明采用SOA尋優(yōu)BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值能有效提高溶解氧的預(yù)測精度。
d)不同方案的預(yù)測精度為:方案一>方案二>方案三>方案四。對于方案一至方案三,其自相關(guān)系數(shù)越大,預(yù)測精度越高;通過AFM、FNN法確定延遲時間和嵌入維數(shù)構(gòu)建的方案四未能獲得理想的預(yù)測效果。
本文將SOA與SVM、BP 神經(jīng)網(wǎng)絡(luò)方法相結(jié)合,構(gòu)建SOA-SVM、SOA-BP溶解氧預(yù)測模型。利用云南省西雙版納州國家重要供水水源地景洪電站2009年1月至2020年9月逐月溶解氧監(jiān)測數(shù)據(jù)進行模型構(gòu)建與驗證,并分別采用4種方案對逐月溶解氧進行預(yù)測,得出以下結(jié)論。
a)SOA-SVM、SOA-BP模型對實例方案一至方案四的溶解氧預(yù)測精度均優(yōu)于SVM、BP模型,具有較好的預(yù)測效果和精度;SOA能有效優(yōu)化SVM關(guān)鍵參數(shù)和BP神經(jīng)網(wǎng)絡(luò)權(quán)閾值,SOA-SVM、SOA-BP模型用于溶解氧預(yù)測是可行的。SOA-BP模型預(yù)測精度要優(yōu)于SOA-SVM模型。
b)對于SVM、BP模型,分別采用SOA尋優(yōu)懲罰因子、核函數(shù)參數(shù)、不敏感系數(shù)以及網(wǎng)絡(luò)權(quán)閾值,不但省去人工試湊或調(diào)試的繁瑣,而且大大提高溶解氧的預(yù)測精度,具有一定的實際應(yīng)用價值。
c)不同方案的預(yù)測精度為方案一>方案二>方案三>方案四。