張亞杰,崔東文
(1.云南省玉溪市易門縣水利局,云南 玉溪 651100;2.云南省文山州水務局,云南 文山 663000)
水文時間序列預報是揭示水文自身演變規律性的一種有效而可靠的方法,同時是水文預報研究領域的重要內容之一。提高水文時間序列預報精度對區域水資源開發利用、防洪抗旱規劃、水資源管理保護、水庫優化調度等具有重要意義。由于受氣候變化、人類活動、土地利用及植被覆蓋等多重因素的影響,月徑流時間序列表現出高噪聲、非線性、非平穩性和多尺度等特征,回歸類模型[1]、BP神經網絡[2]、支持向量機(SVM)[3]、隨機森林(RF)[4]、長短時記憶神經網絡(LSTM)[5]等單一模型難以獲得滿意的預測效果。當前,基于“分解-預測-重構”思想的多種方法組合預測模型廣泛用于徑流時間序列預測,如桑宇婷等[6]利用互補集合經驗模態分解(CEEMD)方法和BP神經網絡建立組合預測模型,將其應用于汾河上游月徑流預測;劉祖發等[7]利用小波分解(WD)方法和秩次集對模型建立組合預測模型,將其應用于馬口站年總徑流量預測;王麗麗等[8]融合奇異譜分析(SSA)方法、灰狼優化算法、回歸支持向量機模型,提出SSA-GWO-SVR月徑流組合預測模型;呂晗芳等[9]建立變分模態分解(VMD)-最小二乘支持向量回歸機(LSSVM)耦合模型,將其應用于上靜游站等多個水文站月徑流預測;李繼清等[10]將極點對稱模態分解(ESMD)方法與Elman神經網絡相結合,建立ESMD-Elman模型對長江干、支流8站的年、月徑流進行預報。
上述徑流預測[6-10]體現了“分解-預測-重構”方法的適用性。當前,常用于時間序列分解的算法主要有經驗模態分解(EMD)、集合經驗模態分解(EEMD)、小波分解(WD)、變分模態分解(VMD)、奇異譜分解(SSA)等;常用于月徑流時間序列預測的預測器主要有BP、SVM、LSTM等,但均存在缺點與不足,如BP神經網絡存在設置參數多、易陷入局部最優等缺點;SVM模型存在對參數敏感、大容量樣本預報中表現不佳等不足;LSTM模型預測性能較好,但存在內存資源消耗大、運行時間長等缺陷。極限學習機(extreme learning machine,ELM)是近年興起的一種隱層前饋神經網絡(SLFNs)學習算法,由于具有預測精度高、學習速度快、參數少等優點,已在各行業領域及徑流預測[11]中得到應用。相比于其他方法,ELM克服了梯度下降學習算法需要多次迭代的缺點,在滿足精度要求的同時提高了學習速度[12]。但在實際應用中,ELM輸入層權值、隱含層偏置的隨機選取對ELM預測性能影響較大。目前,遺傳算法(GA)等傳統智能算法[13-15]、生物地理學優化(BBO)算法[16]、花授粉算法(FPA)[17]、差分進化(DE)算法[18]等嘗試用于ELM輸入層權值和隱含層偏置優化,并取得較好的優化效果。法務偵查(Forensic-Based Investigation,FBI)算法是2020年提出的一種新型元啟發式優化算法[19],其靈感來源于警察對嫌疑犯采取的調查-定位-追捕過程,與傳統群智能算法相比,FBI收斂速度快、尋優精度高,具有較好的探索和開發能力,鮮見于ELM輸入層權值和隱含層偏值優化及徑流預測研究。
為有效提高徑流時間序列預測精度,結合徑流時間序列多尺度、非平穩性等特點,研究提出經驗模態分解(Empirical Mode Decomposition,EMD)-FBI算法-ELM徑流時間序列預測模型,旨在驗證EMD-FBI-ELM模型應用于月徑流時間序列預測的可行性。內容如下:①利用EMD將徑流時間序列數據分解成多個更具規律的子序列分量;②基于重構輸入向量建立ELM模型,利用FBI算法優化ELM輸入層權值、隱含層偏置,建立EMD-FBI-ELM徑流預測模型,并構建EMD-FBI-SVM、FBI-ELM、FBI-SVM作對比預測模型;③通過云南省姑老河站年徑流預測實例對EMD-FBI-ELM、EMD-FBI-SVM、FBI-ELM、FBI-SVM模型進行檢驗及對比分析。
EMD最早提出于1998年,其原理是將相同的非平穩信號分解為不同頻率的信號,從而得到由不同尺度信號組成的序列,稱為本征模函數(Intrinsic Mode Function,IMF)。IMF滿足2個條件:①數據序列中穿越極值點與零點的數量必須相等或最多相差一個;②信號上任意一點的局部極大值和局部極小值平均值為零[20-22]。
EMD 步驟如下:由時序數據x(t)的局部極大極小值確定其上包絡線和下包絡線;利用x(t)減去均值包絡線得到第一個IMF序列分量c1(t);將剩余分量作為新的時間序列,重復采用EMD方法獲得各個IMF子序列和1個殘余序列。表達式如下:

(1)
式中cn(t)——第n個IMF序列分量;rn-1(t)——第n-1次采用EMD方法分解后的剩余分量;res(t)——最終殘余分量。
FBI算法靈感來源于警察對嫌疑犯采取的調查-定位-追捕過程。算法分為偵查(A階段)、追捕(B階段)2個階段,分別由偵查組和追捕組執行[19]。FBI算法數學描述簡述如下。
a)偵查階段。偵查組通過分析、評估信息,初步確定嫌疑人可疑位置,并對嫌疑人每個可疑位置進行調查。嫌疑人可疑位置數學描述如下:
(2)

偵查員將每個可疑位置的概率與其他可疑位置的概率進行比較,以確定最可能的可疑位置,并做進一步調查。嫌疑人XAi可疑位置概率Prob數學描述如下:
Prob(XAi)=(pAi-pmin)/(pmax-pmin)
(3)
式中 Prob(XAi)——嫌疑人新可疑位置概率;pAi——嫌疑人可疑位置概率;pmax、pmin——嫌疑人可疑位置概率的最大、最小值。

(4)
(5)
式中Xmin——嫌疑人最有可能的可疑位置;a——影響XAij搜索的可疑位置數量;α——有效系數;XAbj、XAdj——嫌疑人第b個、第d個隨機可疑位置;rand——[0,1]范圍內隨機數;其他參數意義同上。
b)追捕階段。在接到偵查組最有可能的嫌疑人位置報告后,追捕組所有警察協同接近目標,追捕嫌疑人。根據式(6),每個警察Bi接近可能性最高的嫌疑人位置;若新接近的嫌疑人位置比前代嫌疑人位置的可能性更大,則更新該位置。數學描述如下:
(6)


rand4·(Xmin-XBrj)
(7)
rand4·(Xmin-XBij)
(8)
式中XBrj——第r個特工隨機位置;rand3、rand4——[0,1]范圍內隨機數;其他參數意義同上。
極限學習機(ELM)是一種廣義的單隱層前饋神經網絡,具有較快的學習速度和良好的泛化能力。給定M個樣本Xk={xk,yk},k=1,2,…,M,其中xk為輸入數據,yk為真實值,f(·)為激活函數,隱層節點為m個,ELM輸出可表示為[13-14]:
(9)
式中oj——輸出值;Wi——輸入層節點與隱含層節點的連接權值;bi——輸入節點和隱含層節點的偏值;λi——隱含層節點與輸出節點的連接權值。
EMD-FBI-ELM預測實現步驟如下。
步驟一利用EMD方法將實例徑流原始數據分解得到3個IMF分量和1個剩余分量。利用自相關函數法(AFM)、虛假最鄰近法(FNN)確定各分量的最佳延遲時間和最佳嵌入維數k,即利用前k個月的月徑流量來預測當月月徑流量,并合理劃分訓練樣本和預測樣本。
步驟二利用訓練樣本均方誤差構建優化目標函數:

(10)

步驟三設置種群規模N、最大迭代次數T和算法終止條件;隨機初始化嫌疑人位置Xi(i=1,2,…,N),XAi=XBi=Xi,令當前迭代次數t=1。FBI算法優化流程見圖1。

圖1 FBI優化流程
步驟四執行偵查任務,利用式(3)更新嫌疑人可疑位置概率;利用式(5)生成嫌疑人可疑位置;更新XAi,計算并保存偵查階段最優適應度值fA及最佳位置Xbest,A。
步驟五執行追捕任務,利用式(6)—(8)生成警察新位置,更新XBi,計算并保存追捕階段最優適應度值fB及最佳位置Xbest,B。
步驟六比較偵查階段和追捕階段適應度值,保存最優適應度值和當前全局最佳位置Xbest。
步驟七判斷終止條件,輸出Xbest,算法結束;否則返回步驟四。
步驟八利用ELM最佳輸入層權值和隱含層偏值矩陣Xbest構建FBI-ELM模型,利用FBI-ELM模型對各IMF分量和剩余分量進行預測,預測結果疊加即得到實例徑流預測的最終結果。
步驟九模型評估。利用MAPE(%)、MAE(m3/s)、納什系數(NSE)對模型性能評估。
(11)

姑老河站位于南汀河干流下游,系南汀河干流控制站,控制徑流面積4 186 km2,為國家重要水文站。南汀河發源于臨滄市臨翔區博尚鎮永泉村,國境內徑流面積8 097 km2,河長264 km,落差2 090 m,平均比降4%,流域內河網水系發育較差,河網密度0.4,流域形狀0.16,主要支流有南捧河、西河、盤河、河底崗河等。本文數據來源于姑老河站1960—2013年實測年徑流序列,見圖2。

圖2 1960—2013年年徑流變化曲線
利用EMD將實例年徑流時序數據分解得到3個不同尺度的模式分量IMF1—IMF3和1個剩余分量res,見圖3。

a)IMF1
采用自相關函數法(AFM)、虛假最鄰近法(FNN)分別確定模式分量IMF1—IMF3和剩余分量res的最佳延遲時間和最佳嵌入維數k,見表1。同時選取1960—2007年年徑流實測數據作為訓練樣本,2008—2013年作為預測樣本。

表1 各IMF分量和剩余分量res延遲時間及嵌入維數
2.4.1參數設置
a)EMD-FBI-ELM模型。設置FBI最大迭代次數T=200,種群規模N=30;ELM模型激活函數選擇sigmoid函數,輸入層權值和隱含層偏置搜索范圍[-1,1],設置IMF1、IMF2、IMF3、res隱含層節點數分別為14、19、13、5,輸入數據均采用[-1,1]進行歸一化處理。
b)FBI-ELM模型。設置FBI最大迭代次數T=200,種群規模N=30;ELM模型激活函數選擇sigmoid函數,輸入層權值和隱含層偏置搜索范圍[-1,1];設置原徑流序列隱含層節點數為13,輸入數據均采用[-1,1]進行歸一化處理。
c)EMD-FBI-SVM、FBI-SVM模型。設置FBI最大迭代次數T=200,種群規模N=30;核函數選擇徑向基核函數,懲罰因子、核函數參數搜索范圍設置為[10-3,103],不敏感系數搜索范圍設置為[0.000 1,1]、交叉驗證折數設置為5。所有輸入數據均采用[-1,1]進行歸一化處理。
2.4.2各IMF分量和剩余分量res預測比較
利用EMD-FBI-ELM、EMD-FBI-SVM模型對EMD分解各IMF分量和剩余分量res進行訓練及預測,效果見圖4,結果見表2。

a)IMF1

c)IMF3

表2 實例徑流序列各IMF分量和剩余分量res擬合-預測相對誤差
從圖4、表2可以看出,EMD-FBI-ELM模型對徑流序列IMF1、IMF2、IMF3分量及剩余分量res預測的平均相對誤差分別為86.200%、22.900%、2.120%、0.004%,相對誤差較EMD-FBI-SVM模型分別降低了15.0%、51.5%、79.0%、94.3%,具有更高的預測精度和泛化能力。
2.4.3年徑流預測及比較
將EMD-FBI-ELM、EMD-FBI-SVM模型對實例各IMF分量和剩余分量res預測結果進行疊加獲得實例年徑流最終預測結果。對于原徑流序列,采用AFM和FNN法確定其延遲時間為1,嵌入維數為7,利用FBI-ELM、FBI-SVM模型進行訓練及預測。預測結果見表3,效果見圖5、6。

表3 年徑流擬合及預測結果對比

圖5 實例年徑流擬合與預測相對誤差

圖6 實例年徑流擬合與預測效果
依據表3及圖5、6可以得出以下結論:①EMD-FBI-ELM模型預測的MAPE、MAE分別為3.97%、2.92 m3/s,MAPE分別較EMD-FBI-SVM、FBI-ELM、FBI-SVM模型的預測結果降低了53.9%、81.7%、86.5%;MAE分別較EMD-FBI-SVM、FBI-ELM、FBI-SVM模型的預測結果下降了50.7%、81.4%、85.5%,具有更高的預測精度和更強的泛化能力,表明EMD能科學將徑流序列數據分解成多個更具規律的分量序列,FBI算法能有效優化ELM輸入層權值和隱含層偏值,將EMD-LSTM-ANFIS模型用于徑流預測是可行的;②從NSE來看,EMD-FBI-ELM模型擬合、預測的NSE分別為0.921 3和0.910 0,優于EMD-FBI-SVM模型,遠優于FBI-ELM、FBI-SVM模型,表明EMD-FBI-ELM模型具有較高的可信度;③EMD-FBI-ELM模型對實例訓練樣本擬合的相對誤差在-16.10%~8.49%、預測樣本預測的相對誤差值在-5.20%~4.63%,與其余3種模型相比穩定性和預測精度均較高,從圖5、6來看,EMD-LSTM-ANFIS模型對實例擬合、預測誤差更小,更接近實測值。
a)采用EMD對實例年徑流時間序列進行分解,可以弱化復雜環境對徑流時間序列的影響,降低預測復雜度,有效提高預測精度。
b)EMD-FBI-ELM對實例預測的平均相對誤差分別較EMD-FBI-SVM、FBI-ELM、FBI-SVM模型的預測結果降低了53.9%、81.7%、86.5%,平均絕對誤差分別較EMD-FBI-SVM、FBI-ELM、FBI-SVM模型的預測結果下降了50.7%、81.4%、85.5%,擬合、預測的納什系數均在0.9以上,模型具有更小的預測誤差和更高的預測精度。EMD-FBI-ELM模型用于徑流預測是可行的。
c)通過實例驗證表明,FBI算法能有效優化ELM輸入層權值和隱含層偏值,通過EMD、FBI和ELM相融合建立的EMD-FBI-ELM模型能有效提高年徑流預測精度。模型及方法可為相關徑流時間序列預測研究提供借鑒。