紀廣月
(廣東工商職業技術大學通識教育中心,肇慶 526020)
目前,水資源短缺和水資源污染已成為制約我國經濟和社會發展的重要影響因素,因此為了提高水資源的利用效率、減少水資源的污染,對水資源進行綜合管理是當前亟需解決的問題[1].準確有效可靠地評價水質以及預測水質的變化趨勢對管理和維護水質狀況具有重要意義.影響水質的主要因素包括pH 值、化學需氧量、氨氮含量、高錳酸鹽含量、水質溶解氧(Dissolved Oxygen, DO)含量等,其中水質溶解氧含量是評價水體水質和水體自凈能力的重要評價指標.DO 含量容易受到溫度、雨量、水生生物、風速、風向以及人類活動等諸多因素的影響,具有很強的非線性、非平穩性以及大時滯性等特點[2].因此,研究水體溶解氧預測方法,對掌握溶解氧的變化趨勢、為水質監測部門管理和維護水體水質提供科學決策的依據.
為了提高水質溶解氧預測的精度,國內外學者對溶解氧預測方法進行了大量研究,研究方法主要有時間序列法、神經網絡法、支持向量機、極限學習機和經驗模態分解組合模型等,取得了一定效果.文獻[3]提出了一種基于季節性ARIMA 模型的水庫溶解氧預測模型,預測結果與實際數據較為符合,可以描述水庫溶解氧的變化趨勢,但是預測精度有待進一步提高.文獻[4]針對溶解氧非線性、難以準確跟蹤預測的問題,提出了一種基于Levenberg-Marquardt 神經網絡的溶解氧預測控制模型,研究結果表明該算法可以有效提高溶解氧的預測精度,改善傳統神經網絡溶解氧預測模型收斂速度慢和局部最優的問題,但其預測結果隨機性較大,模型穩定性較差.文獻[5]針對最小二乘支持向量回歸機(Least Squares Support Vector Regression, LSSVR)模型性能受懲罰參數和核參數的影響,提出一種基于蟻群算法(Ant Colony Algorithm, ACA)優化LSSVR 的溶解氧預測模型,與LSSVR 和BP 神經網絡相比,ACA-LSSVR 具有更高的預測精度,且計算復雜度較低,然而ACA 存在收斂速度較慢和“早熟”問題,導致其容易陷入最優,需要改進ACA 算法從而提高其全局搜索能力.文獻[6]為解決不良樣本和預測精度低的問題,提出一種基于K-means 和極限學習機(Extreme Learning Machine, ELM)的水質溶解氧預測模型,有效解決了常規天氣和異常天氣下的溶解氧預測問題,但是ELM 模型預測易受其初始權值和偏置選擇的影響,預測精度和模型穩定性有待提高.文獻[7]針對溶解氧的非線性特性,提出一種基于集合經驗模態分解(Ensemble Empirical Mode Decomposition, EEMD)和游程檢測法重構的水質溶解氧組合預測模型,實現溶解氧高精度預測,預測精度優于PSO-LSSVR 和ELM 模型,然而EEMD 模型存在一定程度的模態混疊現象,其分解出來的高頻分量比較復雜且波動性大、中頻分量呈現出較強的周期性以及低頻分量近似呈現線性的特點,導致部分監測點的預測誤差較大.文獻[8]針對深度神經網絡預測精度高且進行水質預測應用研究較少,將主成分分析和長短時記憶網絡(Long Short-Term Memory, LSTM)結合的養殖水質溶解氧預測模型,與其他淺層神經網絡相比,該模型預測能力和泛化能力更加優越,然而LSTM 模型預測性能易受隱含層神經元數量、分塊尺寸、最大訓練周期數以及學習率等參數選擇的影響.
為提高水質溶解氧預測的精度,改善EEMD 模型的模態混疊現象,本文提出一種基于添加自適應白噪聲的完備集成經驗模態分解法(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)和人工蜂群算法(Artificial Bee Colony, ABC)改進LSTM 的水質溶解氧組合預測模型.首先,運用CEEMDAN 算法將溶解氧含量序列分成若干個不同信息分量和趨勢分量;之后,針對CEEMDAN 算法分解出來的高頻分量比較復雜且波動性大、中頻分量呈現出較強的周期性以及低頻分量近似呈現線性的特點,運用R/S 類分析法計算不同固有模態分量和趨勢分量的Hurst 指數H,并根據Hurst 指數H 的大小將不同固有模態分量和趨勢分量重構成微尺度、中尺度和宏尺度分量,改善不同分量特點所帶來的預測誤差;再次,針對LSTM 網絡性能受隱含層神經元數量、分塊尺寸、最大訓練周期數以及學習率的影響[9],提出一種基于ABC-LSTM 預測模型,并運用ABC-LSTM 模型分別對微尺度、中尺度和宏尺度分量分別進行預測并線性加權重構獲得溶解氧最終預測值.該模型以西江中山橫欄水質監測站點數據采集系統為研究對象,試驗結果表明,本文模型可以有效提高西江溶解氧預測精度,為西江水質監測管理和維護提供科學決策的依據.
以西江中山橫欄水質監測站點數據采集系統為研究對象.該系統配備有溶解氧傳感器、pH 值傳感器、水溫傳感器、電導率傳感器以及濁度傳感器等,現場監測中心將水質監測節點采集的各項水質參數通過GPRS 傳輸到服務器,用戶可通過Internet 用手機客戶端、電腦客戶端實時監測各項水質參數數據.文中溶解氧數據來源于該系統所采集的數據,采樣間隔為1 次/1h,以2018 年7 月10 日~2018 年7 月21 日共12 天288 組數據為試驗數據,將2018 年7 月10 日~2018 年7 月19 日共10 天240 組數據作為訓練集,2018 年7 月20 日~2018 年7 月21 日共2 天48 組數據作為測試集.
CEEMDAN 是在經驗模態分解(Empirical Mode Decomposition, EMD)基礎上所發展出來的最新理論成果[10].在EMD 的基礎上通過添加自適應的白噪聲有效地抑制EMD 的模態混疊現象,使信號的重構誤差幾乎接近于0.該方法適合將非平穩、非線性信號自適應地分解成若干個不同尺度的固有模態分量(Intrinsic Mode Function,IMF),其實現步驟為[11]:
步驟1 設x(n)為原始信號序列,ε為自適應系數,wi(n)為每次分解加入的噪聲序列,xi(n)為第i次添加噪聲之后的信號序列.EMD 分解的N次實驗平均值則為第1 個固有模態分量IMF1,

步驟2 計算第1 階段的余量序列r1(n),獲得新的(n),進行N次實驗,直到EMD分解IMF 分量結束為止,

步驟3 在步驟2 的基礎上,計算第2 階段的第2 個固有模態分量IMF2,

步驟4 重復計算到第k+1 階段,獲得第k階段的余量序列rk(n)和第k+1 個固有模態分量IMFk+1,

步驟5 重復上述步驟,若余量序列的極值點個數≤2,則停止EMD 分解,得到最后的余量序列R(n)和固有模態分量IMFK,那么原始信號序列x(n)最終分解為

R/S 類分析法[12]是計算Hurst 指數H 較為常用的方法,其可以用來表征溶解氧序列的非線性程度,其可以描述為

其中R為重新標度的極差;S為標準差;A為常數,其中R=max(Xt,n-minXt,n), t=1,2,··· ,n.當H=0.5 時,說明信號序列是隨機不相關的;當0.5<H<1 時,則說明信號序列是非線性的,H 值越大,則表示序列的非線性程度越高.
LSTM 神經網絡[13,14]由Hochreiter 和Schmidhuber 提出,克服了循環神經網絡(Recurrent Neural Networks, RNN)難以訓練和梯度消失問題,可以學習長期依賴關系并將這種長期依賴關系不斷完善,其網絡結構如圖1 所示.

圖1 LSTM 網絡結構圖
圖1 中,在t時刻LSTM 模型的輸入為:t時刻LSTM 的輸入值xt;t-1 時刻LSTM的輸出值ht-1;t-1 時刻的門控單元狀態Ct-1;LSTM 模型的輸出為:t時刻LSTM 的輸出值ht;t時刻的門控單元狀態Ct.遺忘門、輸入門以及輸出門計算公式分別為

其中σ和tanh 為激活函數;ft, it和ot分別為遺忘門、輸入門以及輸出門狀態計算結果.Wf, Wi和Wo為遺忘門、輸入門以及輸出門的權重矩陣;bf, bi和bo為遺忘門、輸入門以及輸出門的偏置項;Wc為輸入單元狀態的權重矩陣;bc為輸入單元狀態的偏置項;為t時刻輸入的單元狀態.為實現回歸預測,則在LSTM 網絡的基礎上加上一個線性回歸層[15]

其中yt為預測結果;by為線性回歸層的閾值;Wyo為線性回歸層的權重.
ABC 算法[16]是受蜜蜂采蜜行為啟發而提出的仿生優化算法,具有很強的全局尋優能力,包括初始化階段、雇傭蜂階段、觀察蜂階段以及偵察蜂階段.
初始化階段:根據式(14)隨機產生SN個初始解,即食物源和采蜜蜂的數量,每一個解為D維向量,D為優化問題的參數個數

其中i=1,2,··· ,SN, j=1,2,··· ,D.
雇傭蜂階段:雇傭蜂開采食物源xij,由于食物源(初始解)受到近鄰區域干擾,根據式(15)產生候選的食物源位置(候選解)

其中xij為第i個解的分量;vij為鄰域搜索值;φij為鄰域搜索系數,處于[-1,1].
觀察蜂階段:計算各個食物源候選解的適應度fitnessi,并根據式(16)計算每個食物源被觀察蜂選擇的概率大小[17]

偵察蜂階段:如果經過limit 次循環之后,某一個解[-1,1]沒有得到改善,那么舍棄對應的解,此時雇傭蜂轉變為偵察蜂,重新開始尋找食物源.
ABC-LSTM 算法步驟具體描述如下:
步驟1 初始化參數,設定雇傭蜂的數量SN,食物源最大循環次數limit,最大迭代次數MaxCycle,以及LSTM 模型的隱含層神經元數量numHiddenUnits、分塊尺寸minBatchSize、最大訓練周期數maxEpochs 以及學習率LR 的搜素范圍,并且隨機生成一個具有SN個個體的初始種群;
步驟2 采用均方根誤差(Root Mean Square Error, RMSE)作為適應度函數,如式(17)所示.計算訓練集中前SN個食物源的適應度

這里predk表示第k個預測值;
步驟3 執行雇傭蜂和觀察蜂階段,限制參數尋優范圍

其中LBj和LUj分別為LB和LU的第j個元素;
步驟4 偵察蜂階段,丟棄較差的食物源,同時產生新的食物源;
步驟5 判斷給定的結束條件.滿足算法終止條件,則輸出最優的解(numHiddenUnits、minBatchSize、maxEpochs、LR);反之,返回步驟3;
步驟6 將最優解(numHiddenUnits、minBatchSize、maxEpochs、LR)代入到LSTM模型中,并用優化后LSTM 對訓練集回歸建模,將測試集數據代入模型中,得到預測值.

圖2 ABC-LSTM 算法流程圖
在水質溶解氧預測建模的過程中,首先運用CEEMDAN 將溶解氧序列分解成若干個不同尺度的IMF 分量和一個剩余分量,其次運用R/S 類分析法計算IMF 分量和剩余分量的Hurst 指數H,并根據H 值的大小將IMF 分量和剩余分量重構成微尺度(H<0.5)、中尺度(0.5<H<1)和宏尺度(H>1),再次運用ABC-LSTM 對微尺度、中尺度和宏尺度3 種分量進行預測并進行線性加權重構得到溶解氧最終預測結果,具體算法流程可詳細描述為:
步驟1 溶解氧序列的CEEMDAN 分解.針對溶解氧序列,運用CEEMDAN 將其分解成若干個不同的IMF 分量和一個剩余分量R;
步驟2 R/S 類分析法重構.計算不同的IMF 分量和一個剩余分量R 的Hurst 指數H,并根據H 值的大小將IMF 分量和剩余分量重構成微尺度(H<0.5)、中尺度(0.5<H<1)和宏尺度(H>1)3 種分量;
步驟3 3 種分量的ABC-LSTM 預測.針對微尺度、中尺度和宏尺度3 種分量分別進行ABC-LSTM 訓練和預測;
步驟4 3 種分量預測結果重構.針對微尺度、中尺度和宏尺度3 種分量的預測結果,運用線性加權求和重構得到溶解氧最終預測結果;
步驟5 預測結果評價與分析.為了衡量溶解氧預測結果的好壞,選擇均方根誤差RMSE、平均絕對誤差(Mean Absolute Error, MAE)和平均相對誤差均值(Mean Absolute Percent Error, MAPE)作為評價指標

這里yi(1≤i ≤N)表示i第個實際值.
本文溶解氧時間序列預測流程如圖3 所示.

圖3 溶解氧預測流程圖
本文考慮2018 年7 月10 日~2018 年7 月21 日共12 天288 組溶解氧時間序列數據,如圖4 所示,由該圖可知,西江溶解氧含量時間序列具有很強的非線性和時變的特征,R/S 類分析法計算Hurst 指數,如圖5 所示.由圖5 可知,西江溶解氧序列的Hurst 指數H = 0.9837,滿足0.5<H<1 的條件,驗證了西江溶解氧序列具有很強的非線性特征,從側面說明一般線性模型無法實現溶解氧序列的精確預測.

圖5 溶解氧序列的Hurst 指數

圖4 西江溶解氧序列圖
運用CEEMDAN 對非線性和時變的西江溶解氧序列進行分解,其中加入白噪聲幅值系數k= 0.2、集成次數M= 500、最大迭代次數MaxIter = 1000,CEEMDAN 分解出的不同尺度IMF 分量和剩余分量R,如圖6 所示.
由圖6 可知,IMF1—IMF7 主要反映溶解氧信號序列不同的波動信息,剩余分量R反映西江溶解氧的長期變化趨勢.

圖6 溶解氧預測流程圖
針對CEEMDAN 分解出來的分量過多的問題,運用R/S 類分析法分別計算不同IMF 分量和剩余分量R的Hurst 指數,計算結果如表1 和圖7 示.

表1 不同IMF 分量和剩余分量R 的Hurst 指數
結合圖7 和表1 不同IMF 分量和剩余分量R的Hurst 指數,將IMF 分量和剩余分量R重構成微尺度(H<0.5)、中尺度(0.5<H<1)和宏尺度(H>1)3 種分量,即微尺度分量由IMF1—IMF3 重構而成,中尺度由IMF4—IMF6 重構而成,宏尺度則由IMF7 和剩余分量R重構而成,微尺度、中尺度和宏尺度3 種分量重構結果,如圖8 所示.

圖7 IMF 分量和剩余分量R 的Hurst 指數

圖8 不同尺度重構圖
針對微尺度、中尺度和宏尺度3 種分量分別運用ABC-LSTM 模型進行預測.ABC 算法參數設定為:雇傭蜂的數量SN= 50,食物源最大循環次數limit = 100,最大迭代次數MaxCycle = 100;LSTM 模型的隱含層神經元數量numHiddenUnits、分塊尺寸minBatchSize、最大訓練周期數maxEpochs 以及學習率LR的搜素范圍分別為[1,100],[1,100],[100,500]和[0.001,1].不同尺度分量將2018 年7 月10 日~2018 年7月19 日共10 天240 組數據作為訓練集,2018 年7 月20 日~2018 年7 月21 日共2 天48 組數據作為測試集,3 種分量的預測結果,如圖9 所示.

圖9 不同尺度分量預測結果與尋優曲線
由圖9 不同尺度分量預測結果圖與尋優曲線可知,ABC-LSTM 在微尺度、中尺度和宏尺度上的預測效果是逐漸上升的,主要誤差主要來源于微尺度預測上,也就是說ABC-LSTM 預測模型的誤差主要來源于重構的微尺度分量.
為了驗證本文模型的有效性和可靠性,將其與ABC-SVM[18]、ABC-BP[19]、LSTM[20]和SVM[21]對比,SVM 模型參數:懲罰參數C= 50、核參數g= 10;BP 模型參數:輸入神經神經元數量N1= 3、根據Kolmogorov 定理,隱含層神經元數量N2=2N1+1,則隱含層神經元數量N2= 7 和輸出神經元數量N3= 1;LSTM 模型參數:輸入神經元數量numInputUnits = 3、隱含層神經元數量numHiddenUnits = 50、分塊尺寸minBatchSize = 64、最大訓練周期數maxEpochs = 200 以及學習率LR=0.01;ABC-SVM 模型:懲罰參數C ∈[0.01,100]、核參數g ∈[0.01,100],不同模型預測結果,如表2 和圖10 所示.

表2 不同模型溶解氧預測結果對比

圖10 不同尺度重構圖
由表2 和圖10 可知,西江溶解氧含量預測時,本文模型預測結果的評價指標RMSE、MAE 和MAPE 分別為1.8613、12.8555 和1.6978%,優于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%,通過分析對比發現,本文模型的西江溶解氧含量預測精度高達1.6978%,較LSTM、SVM、ABC-SVM 和ABC-BP 分別提高1.2867%、2.7544%、2.3756 和2.4448%,從而說明本文模型較傳統模型精度上有明顯提高,可以有效提高西江溶解氧含量預測精度,誤差更低.
針對傳統溶解氧序列非線性和時變的特性,提出一種基于CEEMDAN和ABCLSTM 的溶解氧預測模型.首先,運用CEEMDAN 算法將溶解氧含量序列分成若干個不同固有模態分量和趨勢分量;之后,運用R/S 類分析法計算不同固有模態分量和趨勢分量的Hurst 指數H,并根據Hurst 指數H 的大小將不同固有模態分量和趨勢分量重構成微尺度、中尺度和宏尺度分量;再次,針對微尺度、中尺度和宏尺度分量分別運用ABCLSTM 模型進行預測并線性加權重構獲得溶解氧最終預測值.通過分析對比發現,本文模型的西江溶解氧含量預測精度高達1.6978%,較LSTM、SVM、ABC-SVM 和ABCBP 分別提高1.2867%、2.7544%、2.3756 和2.4448%,從而說明本文模型較傳統模型精度上有明顯提高,可以有效提高西江溶解氧含量預測精度,誤差更低.然而本文方法在微尺度分量預測上存在較大誤差,可能是該分量波動太大的緣故,加之ABC 算法存在隨機搜索的特性,導致LSTM 深度網絡的性能穩定性較差.此外溶解氧含量受到季節、天氣、溫度等諸多因素的影響,導致溶解氧含量具有較強的時變特性,影響到預測精度,后續將在本文模型的基礎上,研究綜合考慮天氣因素的溶解氧含量預測模型,提高模型的適用性和可靠性.