紀(jì)廣月
(廣東工商職業(yè)技術(shù)大學(xué)通識教育中心,肇慶 526020)
目前,水資源短缺和水資源污染已成為制約我國經(jīng)濟和社會發(fā)展的重要影響因素,因此為了提高水資源的利用效率、減少水資源的污染,對水資源進行綜合管理是當(dāng)前亟需解決的問題[1].準(zhǔn)確有效可靠地評價水質(zhì)以及預(yù)測水質(zhì)的變化趨勢對管理和維護水質(zhì)狀況具有重要意義.影響水質(zhì)的主要因素包括pH 值、化學(xué)需氧量、氨氮含量、高錳酸鹽含量、水質(zhì)溶解氧(Dissolved Oxygen, DO)含量等,其中水質(zhì)溶解氧含量是評價水體水質(zhì)和水體自凈能力的重要評價指標(biāo).DO 含量容易受到溫度、雨量、水生生物、風(fēng)速、風(fēng)向以及人類活動等諸多因素的影響,具有很強的非線性、非平穩(wěn)性以及大時滯性等特點[2].因此,研究水體溶解氧預(yù)測方法,對掌握溶解氧的變化趨勢、為水質(zhì)監(jiān)測部門管理和維護水體水質(zhì)提供科學(xué)決策的依據(jù).
為了提高水質(zhì)溶解氧預(yù)測的精度,國內(nèi)外學(xué)者對溶解氧預(yù)測方法進行了大量研究,研究方法主要有時間序列法、神經(jīng)網(wǎng)絡(luò)法、支持向量機、極限學(xué)習(xí)機和經(jīng)驗?zāi)B(tài)分解組合模型等,取得了一定效果.文獻[3]提出了一種基于季節(jié)性ARIMA 模型的水庫溶解氧預(yù)測模型,預(yù)測結(jié)果與實際數(shù)據(jù)較為符合,可以描述水庫溶解氧的變化趨勢,但是預(yù)測精度有待進一步提高.文獻[4]針對溶解氧非線性、難以準(zhǔn)確跟蹤預(yù)測的問題,提出了一種基于Levenberg-Marquardt 神經(jīng)網(wǎng)絡(luò)的溶解氧預(yù)測控制模型,研究結(jié)果表明該算法可以有效提高溶解氧的預(yù)測精度,改善傳統(tǒng)神經(jīng)網(wǎng)絡(luò)溶解氧預(yù)測模型收斂速度慢和局部最優(yōu)的問題,但其預(yù)測結(jié)果隨機性較大,模型穩(wěn)定性較差.文獻[5]針對最小二乘支持向量回歸機(Least Squares Support Vector Regression, LSSVR)模型性能受懲罰參數(shù)和核參數(shù)的影響,提出一種基于蟻群算法(Ant Colony Algorithm, ACA)優(yōu)化LSSVR 的溶解氧預(yù)測模型,與LSSVR 和BP 神經(jīng)網(wǎng)絡(luò)相比,ACA-LSSVR 具有更高的預(yù)測精度,且計算復(fù)雜度較低,然而ACA 存在收斂速度較慢和“早熟”問題,導(dǎo)致其容易陷入最優(yōu),需要改進ACA 算法從而提高其全局搜索能力.文獻[6]為解決不良樣本和預(yù)測精度低的問題,提出一種基于K-means 和極限學(xué)習(xí)機(Extreme Learning Machine, ELM)的水質(zhì)溶解氧預(yù)測模型,有效解決了常規(guī)天氣和異常天氣下的溶解氧預(yù)測問題,但是ELM 模型預(yù)測易受其初始權(quán)值和偏置選擇的影響,預(yù)測精度和模型穩(wěn)定性有待提高.文獻[7]針對溶解氧的非線性特性,提出一種基于集合經(jīng)驗?zāi)B(tài)分解(Ensemble Empirical Mode Decomposition, EEMD)和游程檢測法重構(gòu)的水質(zhì)溶解氧組合預(yù)測模型,實現(xiàn)溶解氧高精度預(yù)測,預(yù)測精度優(yōu)于PSO-LSSVR 和ELM 模型,然而EEMD 模型存在一定程度的模態(tài)混疊現(xiàn)象,其分解出來的高頻分量比較復(fù)雜且波動性大、中頻分量呈現(xiàn)出較強的周期性以及低頻分量近似呈現(xiàn)線性的特點,導(dǎo)致部分監(jiān)測點的預(yù)測誤差較大.文獻[8]針對深度神經(jīng)網(wǎng)絡(luò)預(yù)測精度高且進行水質(zhì)預(yù)測應(yīng)用研究較少,將主成分分析和長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)結(jié)合的養(yǎng)殖水質(zhì)溶解氧預(yù)測模型,與其他淺層神經(jīng)網(wǎng)絡(luò)相比,該模型預(yù)測能力和泛化能力更加優(yōu)越,然而LSTM 模型預(yù)測性能易受隱含層神經(jīng)元數(shù)量、分塊尺寸、最大訓(xùn)練周期數(shù)以及學(xué)習(xí)率等參數(shù)選擇的影響.
為提高水質(zhì)溶解氧預(yù)測的精度,改善EEMD 模型的模態(tài)混疊現(xiàn)象,本文提出一種基于添加自適應(yīng)白噪聲的完備集成經(jīng)驗?zāi)B(tài)分解法(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)和人工蜂群算法(Artificial Bee Colony, ABC)改進LSTM 的水質(zhì)溶解氧組合預(yù)測模型.首先,運用CEEMDAN 算法將溶解氧含量序列分成若干個不同信息分量和趨勢分量;之后,針對CEEMDAN 算法分解出來的高頻分量比較復(fù)雜且波動性大、中頻分量呈現(xiàn)出較強的周期性以及低頻分量近似呈現(xiàn)線性的特點,運用R/S 類分析法計算不同固有模態(tài)分量和趨勢分量的Hurst 指數(shù)H,并根據(jù)Hurst 指數(shù)H 的大小將不同固有模態(tài)分量和趨勢分量重構(gòu)成微尺度、中尺度和宏尺度分量,改善不同分量特點所帶來的預(yù)測誤差;再次,針對LSTM 網(wǎng)絡(luò)性能受隱含層神經(jīng)元數(shù)量、分塊尺寸、最大訓(xùn)練周期數(shù)以及學(xué)習(xí)率的影響[9],提出一種基于ABC-LSTM 預(yù)測模型,并運用ABC-LSTM 模型分別對微尺度、中尺度和宏尺度分量分別進行預(yù)測并線性加權(quán)重構(gòu)獲得溶解氧最終預(yù)測值.該模型以西江中山橫欄水質(zhì)監(jiān)測站點數(shù)據(jù)采集系統(tǒng)為研究對象,試驗結(jié)果表明,本文模型可以有效提高西江溶解氧預(yù)測精度,為西江水質(zhì)監(jiān)測管理和維護提供科學(xué)決策的依據(jù).
以西江中山橫欄水質(zhì)監(jiān)測站點數(shù)據(jù)采集系統(tǒng)為研究對象.該系統(tǒng)配備有溶解氧傳感器、pH 值傳感器、水溫傳感器、電導(dǎo)率傳感器以及濁度傳感器等,現(xiàn)場監(jiān)測中心將水質(zhì)監(jiān)測節(jié)點采集的各項水質(zhì)參數(shù)通過GPRS 傳輸?shù)椒?wù)器,用戶可通過Internet 用手機客戶端、電腦客戶端實時監(jiān)測各項水質(zhì)參數(shù)數(shù)據(jù).文中溶解氧數(shù)據(jù)來源于該系統(tǒng)所采集的數(shù)據(jù),采樣間隔為1 次/1h,以2018 年7 月10 日~2018 年7 月21 日共12 天288 組數(shù)據(jù)為試驗數(shù)據(jù),將2018 年7 月10 日~2018 年7 月19 日共10 天240 組數(shù)據(jù)作為訓(xùn)練集,2018 年7 月20 日~2018 年7 月21 日共2 天48 組數(shù)據(jù)作為測試集.
CEEMDAN 是在經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition, EMD)基礎(chǔ)上所發(fā)展出來的最新理論成果[10].在EMD 的基礎(chǔ)上通過添加自適應(yīng)的白噪聲有效地抑制EMD 的模態(tài)混疊現(xiàn)象,使信號的重構(gòu)誤差幾乎接近于0.該方法適合將非平穩(wěn)、非線性信號自適應(yīng)地分解成若干個不同尺度的固有模態(tài)分量(Intrinsic Mode Function,IMF),其實現(xiàn)步驟為[11]:
步驟1 設(shè)x(n)為原始信號序列,ε為自適應(yīng)系數(shù),wi(n)為每次分解加入的噪聲序列,xi(n)為第i次添加噪聲之后的信號序列.EMD 分解的N次實驗平均值則為第1 個固有模態(tài)分量IMF1,
步驟2 計算第1 階段的余量序列r1(n),獲得新的(n),進行N次實驗,直到EMD分解IMF 分量結(jié)束為止,
步驟3 在步驟2 的基礎(chǔ)上,計算第2 階段的第2 個固有模態(tài)分量IMF2,
步驟4 重復(fù)計算到第k+1 階段,獲得第k階段的余量序列rk(n)和第k+1 個固有模態(tài)分量IMFk+1,
步驟5 重復(fù)上述步驟,若余量序列的極值點個數(shù)≤2,則停止EMD 分解,得到最后的余量序列R(n)和固有模態(tài)分量IMFK,那么原始信號序列x(n)最終分解為
R/S 類分析法[12]是計算Hurst 指數(shù)H 較為常用的方法,其可以用來表征溶解氧序列的非線性程度,其可以描述為
其中R為重新標(biāo)度的極差;S為標(biāo)準(zhǔn)差;A為常數(shù),其中R=max(Xt,n-minXt,n), t=1,2,··· ,n.當(dāng)H=0.5 時,說明信號序列是隨機不相關(guān)的;當(dāng)0.5<H<1 時,則說明信號序列是非線性的,H 值越大,則表示序列的非線性程度越高.
LSTM 神經(jīng)網(wǎng)絡(luò)[13,14]由Hochreiter 和Schmidhuber 提出,克服了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks, RNN)難以訓(xùn)練和梯度消失問題,可以學(xué)習(xí)長期依賴關(guān)系并將這種長期依賴關(guān)系不斷完善,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示.
圖1 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖
圖1 中,在t時刻LSTM 模型的輸入為:t時刻LSTM 的輸入值xt;t-1 時刻LSTM的輸出值ht-1;t-1 時刻的門控單元狀態(tài)Ct-1;LSTM 模型的輸出為:t時刻LSTM 的輸出值ht;t時刻的門控單元狀態(tài)Ct.遺忘門、輸入門以及輸出門計算公式分別為
其中σ和tanh 為激活函數(shù);ft, it和ot分別為遺忘門、輸入門以及輸出門狀態(tài)計算結(jié)果.Wf, Wi和Wo為遺忘門、輸入門以及輸出門的權(quán)重矩陣;bf, bi和bo為遺忘門、輸入門以及輸出門的偏置項;Wc為輸入單元狀態(tài)的權(quán)重矩陣;bc為輸入單元狀態(tài)的偏置項;為t時刻輸入的單元狀態(tài).為實現(xiàn)回歸預(yù)測,則在LSTM 網(wǎng)絡(luò)的基礎(chǔ)上加上一個線性回歸層[15]
其中yt為預(yù)測結(jié)果;by為線性回歸層的閾值;Wyo為線性回歸層的權(quán)重.
ABC 算法[16]是受蜜蜂采蜜行為啟發(fā)而提出的仿生優(yōu)化算法,具有很強的全局尋優(yōu)能力,包括初始化階段、雇傭蜂階段、觀察蜂階段以及偵察蜂階段.
初始化階段:根據(jù)式(14)隨機產(chǎn)生SN個初始解,即食物源和采蜜蜂的數(shù)量,每一個解為D維向量,D為優(yōu)化問題的參數(shù)個數(shù)
其中i=1,2,··· ,SN, j=1,2,··· ,D.
雇傭蜂階段:雇傭蜂開采食物源xij,由于食物源(初始解)受到近鄰區(qū)域干擾,根據(jù)式(15)產(chǎn)生候選的食物源位置(候選解)
其中xij為第i個解的分量;vij為鄰域搜索值;φij為鄰域搜索系數(shù),處于[-1,1].
觀察蜂階段:計算各個食物源候選解的適應(yīng)度fitnessi,并根據(jù)式(16)計算每個食物源被觀察蜂選擇的概率大小[17]
偵察蜂階段:如果經(jīng)過limit 次循環(huán)之后,某一個解[-1,1]沒有得到改善,那么舍棄對應(yīng)的解,此時雇傭蜂轉(zhuǎn)變?yōu)閭刹旆洌匦麻_始尋找食物源.
ABC-LSTM 算法步驟具體描述如下:
步驟1 初始化參數(shù),設(shè)定雇傭蜂的數(shù)量SN,食物源最大循環(huán)次數(shù)limit,最大迭代次數(shù)MaxCycle,以及LSTM 模型的隱含層神經(jīng)元數(shù)量numHiddenUnits、分塊尺寸minBatchSize、最大訓(xùn)練周期數(shù)maxEpochs 以及學(xué)習(xí)率LR 的搜素范圍,并且隨機生成一個具有SN個個體的初始種群;
步驟2 采用均方根誤差(Root Mean Square Error, RMSE)作為適應(yīng)度函數(shù),如式(17)所示.計算訓(xùn)練集中前SN個食物源的適應(yīng)度
這里predk表示第k個預(yù)測值;
步驟3 執(zhí)行雇傭蜂和觀察蜂階段,限制參數(shù)尋優(yōu)范圍
其中LBj和LUj分別為LB和LU的第j個元素;
步驟4 偵察蜂階段,丟棄較差的食物源,同時產(chǎn)生新的食物源;
步驟5 判斷給定的結(jié)束條件.滿足算法終止條件,則輸出最優(yōu)的解(numHiddenUnits、minBatchSize、maxEpochs、LR);反之,返回步驟3;
步驟6 將最優(yōu)解(numHiddenUnits、minBatchSize、maxEpochs、LR)代入到LSTM模型中,并用優(yōu)化后LSTM 對訓(xùn)練集回歸建模,將測試集數(shù)據(jù)代入模型中,得到預(yù)測值.
圖2 ABC-LSTM 算法流程圖
在水質(zhì)溶解氧預(yù)測建模的過程中,首先運用CEEMDAN 將溶解氧序列分解成若干個不同尺度的IMF 分量和一個剩余分量,其次運用R/S 類分析法計算IMF 分量和剩余分量的Hurst 指數(shù)H,并根據(jù)H 值的大小將IMF 分量和剩余分量重構(gòu)成微尺度(H<0.5)、中尺度(0.5<H<1)和宏尺度(H>1),再次運用ABC-LSTM 對微尺度、中尺度和宏尺度3 種分量進行預(yù)測并進行線性加權(quán)重構(gòu)得到溶解氧最終預(yù)測結(jié)果,具體算法流程可詳細描述為:
步驟1 溶解氧序列的CEEMDAN 分解.針對溶解氧序列,運用CEEMDAN 將其分解成若干個不同的IMF 分量和一個剩余分量R;
步驟2 R/S 類分析法重構(gòu).計算不同的IMF 分量和一個剩余分量R 的Hurst 指數(shù)H,并根據(jù)H 值的大小將IMF 分量和剩余分量重構(gòu)成微尺度(H<0.5)、中尺度(0.5<H<1)和宏尺度(H>1)3 種分量;
步驟3 3 種分量的ABC-LSTM 預(yù)測.針對微尺度、中尺度和宏尺度3 種分量分別進行ABC-LSTM 訓(xùn)練和預(yù)測;
步驟4 3 種分量預(yù)測結(jié)果重構(gòu).針對微尺度、中尺度和宏尺度3 種分量的預(yù)測結(jié)果,運用線性加權(quán)求和重構(gòu)得到溶解氧最終預(yù)測結(jié)果;
步驟5 預(yù)測結(jié)果評價與分析.為了衡量溶解氧預(yù)測結(jié)果的好壞,選擇均方根誤差RMSE、平均絕對誤差(Mean Absolute Error, MAE)和平均相對誤差均值(Mean Absolute Percent Error, MAPE)作為評價指標(biāo)
這里yi(1≤i ≤N)表示i第個實際值.
本文溶解氧時間序列預(yù)測流程如圖3 所示.
圖3 溶解氧預(yù)測流程圖
本文考慮2018 年7 月10 日~2018 年7 月21 日共12 天288 組溶解氧時間序列數(shù)據(jù),如圖4 所示,由該圖可知,西江溶解氧含量時間序列具有很強的非線性和時變的特征,R/S 類分析法計算Hurst 指數(shù),如圖5 所示.由圖5 可知,西江溶解氧序列的Hurst 指數(shù)H = 0.9837,滿足0.5<H<1 的條件,驗證了西江溶解氧序列具有很強的非線性特征,從側(cè)面說明一般線性模型無法實現(xiàn)溶解氧序列的精確預(yù)測.
圖5 溶解氧序列的Hurst 指數(shù)
圖4 西江溶解氧序列圖
運用CEEMDAN 對非線性和時變的西江溶解氧序列進行分解,其中加入白噪聲幅值系數(shù)k= 0.2、集成次數(shù)M= 500、最大迭代次數(shù)MaxIter = 1000,CEEMDAN 分解出的不同尺度IMF 分量和剩余分量R,如圖6 所示.
由圖6 可知,IMF1—IMF7 主要反映溶解氧信號序列不同的波動信息,剩余分量R反映西江溶解氧的長期變化趨勢.
圖6 溶解氧預(yù)測流程圖
針對CEEMDAN 分解出來的分量過多的問題,運用R/S 類分析法分別計算不同IMF 分量和剩余分量R的Hurst 指數(shù),計算結(jié)果如表1 和圖7 示.
表1 不同IMF 分量和剩余分量R 的Hurst 指數(shù)
結(jié)合圖7 和表1 不同IMF 分量和剩余分量R的Hurst 指數(shù),將IMF 分量和剩余分量R重構(gòu)成微尺度(H<0.5)、中尺度(0.5<H<1)和宏尺度(H>1)3 種分量,即微尺度分量由IMF1—IMF3 重構(gòu)而成,中尺度由IMF4—IMF6 重構(gòu)而成,宏尺度則由IMF7 和剩余分量R重構(gòu)而成,微尺度、中尺度和宏尺度3 種分量重構(gòu)結(jié)果,如圖8 所示.
圖7 IMF 分量和剩余分量R 的Hurst 指數(shù)
圖8 不同尺度重構(gòu)圖
針對微尺度、中尺度和宏尺度3 種分量分別運用ABC-LSTM 模型進行預(yù)測.ABC 算法參數(shù)設(shè)定為:雇傭蜂的數(shù)量SN= 50,食物源最大循環(huán)次數(shù)limit = 100,最大迭代次數(shù)MaxCycle = 100;LSTM 模型的隱含層神經(jīng)元數(shù)量numHiddenUnits、分塊尺寸minBatchSize、最大訓(xùn)練周期數(shù)maxEpochs 以及學(xué)習(xí)率LR的搜素范圍分別為[1,100],[1,100],[100,500]和[0.001,1].不同尺度分量將2018 年7 月10 日~2018 年7月19 日共10 天240 組數(shù)據(jù)作為訓(xùn)練集,2018 年7 月20 日~2018 年7 月21 日共2 天48 組數(shù)據(jù)作為測試集,3 種分量的預(yù)測結(jié)果,如圖9 所示.
圖9 不同尺度分量預(yù)測結(jié)果與尋優(yōu)曲線
由圖9 不同尺度分量預(yù)測結(jié)果圖與尋優(yōu)曲線可知,ABC-LSTM 在微尺度、中尺度和宏尺度上的預(yù)測效果是逐漸上升的,主要誤差主要來源于微尺度預(yù)測上,也就是說ABC-LSTM 預(yù)測模型的誤差主要來源于重構(gòu)的微尺度分量.
為了驗證本文模型的有效性和可靠性,將其與ABC-SVM[18]、ABC-BP[19]、LSTM[20]和SVM[21]對比,SVM 模型參數(shù):懲罰參數(shù)C= 50、核參數(shù)g= 10;BP 模型參數(shù):輸入神經(jīng)神經(jīng)元數(shù)量N1= 3、根據(jù)Kolmogorov 定理,隱含層神經(jīng)元數(shù)量N2=2N1+1,則隱含層神經(jīng)元數(shù)量N2= 7 和輸出神經(jīng)元數(shù)量N3= 1;LSTM 模型參數(shù):輸入神經(jīng)元數(shù)量numInputUnits = 3、隱含層神經(jīng)元數(shù)量numHiddenUnits = 50、分塊尺寸minBatchSize = 64、最大訓(xùn)練周期數(shù)maxEpochs = 200 以及學(xué)習(xí)率LR=0.01;ABC-SVM 模型:懲罰參數(shù)C ∈[0.01,100]、核參數(shù)g ∈[0.01,100],不同模型預(yù)測結(jié)果,如表2 和圖10 所示.
表2 不同模型溶解氧預(yù)測結(jié)果對比
圖10 不同尺度重構(gòu)圖
由表2 和圖10 可知,西江溶解氧含量預(yù)測時,本文模型預(yù)測結(jié)果的評價指標(biāo)RMSE、MAE 和MAPE 分別為1.8613、12.8555 和1.6978%,優(yōu)于ABC-SVM 的3.7687、20.5952和3.0734%,ABC-BP 的4.6543、22.7412 和3.1426%,SVM 的4.8756、24.6541和3.4522%以及LSTM 的3.2652、18.7417 和2.9845%,通過分析對比發(fā)現(xiàn),本文模型的西江溶解氧含量預(yù)測精度高達1.6978%,較LSTM、SVM、ABC-SVM 和ABC-BP 分別提高1.2867%、2.7544%、2.3756 和2.4448%,從而說明本文模型較傳統(tǒng)模型精度上有明顯提高,可以有效提高西江溶解氧含量預(yù)測精度,誤差更低.
針對傳統(tǒng)溶解氧序列非線性和時變的特性,提出一種基于CEEMDAN和ABCLSTM 的溶解氧預(yù)測模型.首先,運用CEEMDAN 算法將溶解氧含量序列分成若干個不同固有模態(tài)分量和趨勢分量;之后,運用R/S 類分析法計算不同固有模態(tài)分量和趨勢分量的Hurst 指數(shù)H,并根據(jù)Hurst 指數(shù)H 的大小將不同固有模態(tài)分量和趨勢分量重構(gòu)成微尺度、中尺度和宏尺度分量;再次,針對微尺度、中尺度和宏尺度分量分別運用ABCLSTM 模型進行預(yù)測并線性加權(quán)重構(gòu)獲得溶解氧最終預(yù)測值.通過分析對比發(fā)現(xiàn),本文模型的西江溶解氧含量預(yù)測精度高達1.6978%,較LSTM、SVM、ABC-SVM 和ABCBP 分別提高1.2867%、2.7544%、2.3756 和2.4448%,從而說明本文模型較傳統(tǒng)模型精度上有明顯提高,可以有效提高西江溶解氧含量預(yù)測精度,誤差更低.然而本文方法在微尺度分量預(yù)測上存在較大誤差,可能是該分量波動太大的緣故,加之ABC 算法存在隨機搜索的特性,導(dǎo)致LSTM 深度網(wǎng)絡(luò)的性能穩(wěn)定性較差.此外溶解氧含量受到季節(jié)、天氣、溫度等諸多因素的影響,導(dǎo)致溶解氧含量具有較強的時變特性,影響到預(yù)測精度,后續(xù)將在本文模型的基礎(chǔ)上,研究綜合考慮天氣因素的溶解氧含量預(yù)測模型,提高模型的適用性和可靠性.