鄭宗倩,張定海,王金輝,賈生海,白有帥,馬 雁,寇 睿
(1.甘肅農(nóng)業(yè)大學(xué)水利水電工程學(xué)院,甘肅 蘭州 730070;2.甘肅農(nóng)業(yè)大學(xué)理學(xué)院,甘肅 蘭州 730070; 3.甘肅省疏勒河流域水資源局,甘肅 蘭州 730070)
隨著社會經(jīng)濟(jì)的發(fā)展和人民生活水平的提高,我國水資源的供需矛盾顯得越來越突出。人口激增和經(jīng)濟(jì)快速增長通常伴隨著對供水和防洪機(jī)制的需求同樣增長。因此,近年來,各種形式的水資源管理模式引起了人們的關(guān)注。水庫在水資源分配系統(tǒng)中非常重要,如何使水庫得到最優(yōu)的運(yùn)行決策,給水庫的興利調(diào)度提出了新的要求和標(biāo)準(zhǔn)。水庫庫容的準(zhǔn)確測定是制定壩庫優(yōu)化調(diào)度策略必不可少的步驟。水庫庫容確定面臨的主要挑戰(zhàn)是水庫庫水位和庫容之間關(guān)系的非線性行為。為了完成復(fù)雜水資源系統(tǒng)的規(guī)劃和管理,需要優(yōu)化操作程序[1]。確定水庫庫容與庫水位之間的關(guān)系是其中一個非常重要的方面,不準(zhǔn)確的庫容量估算會導(dǎo)致水庫蓄水庫容的各種風(fēng)險。
基于此,對于水庫調(diào)度函數(shù),國內(nèi)外進(jìn)行了廣泛的研究,有學(xué)者通過回歸分析來評估參數(shù)之間的關(guān)系(庫容、高程和表面積),但是發(fā)現(xiàn)從該分析中得到的模型不夠精確[2]。歸納起來,基本上都是以各種優(yōu)化模型得到的水庫優(yōu)化運(yùn)行策略為基礎(chǔ),分析選擇出決策變量和影響因子,把他們的關(guān)系表達(dá)成基函數(shù)的線性組合,進(jìn)而確定出基函數(shù)的系數(shù)。這種方法不同程度上存在求解困難及結(jié)果難以精確表達(dá)因變量和自變量之間復(fù)雜關(guān)系的問題[3]。后續(xù)有學(xué)者通過人工神經(jīng)網(wǎng)絡(luò)(ANN)進(jìn)行水庫參數(shù)的研究分析,人工神經(jīng)網(wǎng)絡(luò)的強(qiáng)大非線性映射能力在求解這類問題時有著獨(dú)特的優(yōu)勢[4]。胡鐵松等[5]和高雅玉等[6]曾經(jīng)用BP網(wǎng)絡(luò)建立水庫群單目標(biāo)問題調(diào)度函數(shù)。針對疏勒河特殊的中游梯級水庫,本研究以人工神經(jīng)網(wǎng)絡(luò)為主要的分析工具,給出了流域內(nèi)3大梯級水庫(昌馬水庫、雙塔水庫和赤金峽水庫)庫水位和庫容之間的關(guān)系模型,以期獲得更準(zhǔn)確的結(jié)果,從而構(gòu)成水庫運(yùn)行的基礎(chǔ),為水庫運(yùn)行管理和優(yōu)化調(diào)度提供決策依據(jù)。研究方法也可用于預(yù)測其他水庫庫水位和庫容之間的關(guān)系。
疏勒河灌區(qū)位于河西走廊西段的疏勒河中游地區(qū),灌區(qū)內(nèi)修有3座水庫和3個子灌區(qū)[7]。3座水庫分別是昌馬水庫、雙塔水庫和赤金峽水庫,昌馬水庫和雙塔水庫位于疏勒河干流上,赤金峽水庫位于相鄰流域的石油河干流上,位置示意如圖1所示[8]。3大水庫的基本運(yùn)行參數(shù)如表1所示。灌區(qū)總灌溉面積156.7 hm2(數(shù)據(jù)統(tǒng)計截至2017年,以下同),3個子灌區(qū)灌溉面積分別為昌馬灌區(qū)79.11 hm2,雙塔灌區(qū)57.6 hm2,花海灌區(qū)20.03 hm2。
昌馬水庫與下游雙塔水庫形成串聯(lián)梯級水庫,聯(lián)合水庫能滿足設(shè)計總灌溉面積7.08萬hm2,工業(yè)需水8 275萬m3;水電站裝機(jī)容量1.425萬kW,年發(fā)電量6 609萬kW·h。雙塔水庫地處瓜州縣城整棟48 km的亂山子處,水庫始建于1958年,1960年建成蓄水,大壩所在區(qū)域的集水面積3.44萬km2,水庫前后已進(jìn)行了4次加固[9]。水庫上游有昌馬堡和潘家莊兩座水文站,該水庫的水資源調(diào)度與昌馬水庫基本一致。赤金峽水庫位于玉門市西北50 km處的石油河中游赤金峽,是一座以農(nóng)業(yè)灌溉為主兼顧防洪的中型水庫,始建于1958年,后經(jīng)1962年、1966年2次加高擴(kuò)建,最大壩高28.5 m,壩頂長220 m,總庫容達(dá)到2 091萬m3[10]。庫存水源主要用于花海灌區(qū)用水,以及周邊的生態(tài)和工農(nóng)業(yè)用水。
為了建立庫水位和庫容之間的關(guān)系模型,分別選取2003—2019年昌馬水庫、2009—2017年雙塔水庫和2008—2019年赤金峽水庫的庫水位和庫容數(shù)據(jù)建立非線性回歸模型。為了更好地對比神經(jīng)網(wǎng)絡(luò)模型的預(yù)測表現(xiàn),將數(shù)據(jù)集分為訓(xùn)練集和測試集,分別將2003—2014年昌馬水庫、2009—2015年雙塔水庫和2008—2015年赤金峽水庫的數(shù)據(jù)集作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集,其他數(shù)據(jù)作為測試集[11-12]。同時,采用均方根誤差(RMSE)、相對均方根誤差(RRMSE)、平均絕對百分比誤差(MAPE)以及效率系數(shù)(CE)來分析模型的表現(xiàn)情況。
回歸方法是描述兩個或多個變量之間關(guān)系的經(jīng)典方法,回歸分析可以解釋當(dāng)任何一個自變量變化,而其他自變量保持不變時,因變量典型值的變化情況。
表1 疏勒河灌區(qū)3大水庫的基本運(yùn)行參數(shù)
通常,回歸分析估計因變量的條件期望,即自變量保持不變時因變量的平均值。由于受到水庫所在的地形、水庫的流入和流出水量等因素的影響,水庫的庫水位和庫容之間的關(guān)系常常呈現(xiàn)高度的非線性關(guān)系。利用Matlab軟件采用高斯函數(shù)對3大水庫的庫水位和庫容之間的非線性關(guān)系進(jìn)行模擬,具體的模型如式(1)所示。
(1)
式中y——水庫的庫容
x——水庫的庫水位
a、b、c——模型的3個參數(shù)
前饋反向傳播神經(jīng)網(wǎng)絡(luò)(feed forward back propagation neural network,F(xiàn)BNN)模型具有一個輸入層、數(shù)個隱藏層(可以是一層,也可以是多層)和一個輸出層,層與層之間采用全連接的方式,同一層神經(jīng)元之間不存在相互連接,如圖2所示。
理論上已經(jīng)證明,具有一個隱藏層的3層網(wǎng)絡(luò)可以逼近任意非線性函數(shù)。假定輸入層包含I個節(jié)點(diǎn),隱藏層包含J個節(jié)點(diǎn),輸出層包含K個節(jié)點(diǎn),則輸出zk可以表示為
(2)
式中f——傳遞函數(shù)或激活函數(shù)
xi——輸入量
aij、bjk——加權(quán)值(i=1, 2, …I;j=1,2, …J;k=1, 2, …K)
aoj、bok——偏差
在式(2)中,函數(shù)f是一種將神經(jīng)元從加權(quán)輸入轉(zhuǎn)換為輸出的映射規(guī)則,也是一種將非線性影響引入FBNN網(wǎng)絡(luò)的設(shè)計。FBNN傳遞函數(shù)的選擇很多,在反向傳播單元中,一般可以選擇連續(xù)函數(shù)、可微、單調(diào)非減的函數(shù)作為傳遞函數(shù)。本研究選擇二元logistic sigmoid函數(shù)作為傳遞函數(shù),其定義如式(3)所示。
(3)
從FBNN模型結(jié)構(gòu)可以看出,同一層內(nèi)的每個單元之間并沒有相互連接,相鄰層之間的連接是基于加權(quán)系數(shù)來表示。同時,由于FBNN屬于監(jiān)督學(xué)習(xí)算法,其可通過調(diào)整網(wǎng)絡(luò)中的加權(quán)值來獲得最佳參數(shù),最優(yōu)是指網(wǎng)絡(luò)輸出zk和實(shí)際值或目標(biāo)值tk達(dá)到最小值[13]。
(4)
為了讓人工神經(jīng)網(wǎng)絡(luò)產(chǎn)生一個輸出向量Y=(y1,y2, …yp),盡可能接近目標(biāo)向量Y=(t1,t2, …tp),其訓(xùn)練過程也稱為學(xué)習(xí),被用來尋找最優(yōu)的權(quán)重矩陣W和偏差向量V,使得給定的誤差函數(shù)最小[14]。誤差函數(shù)的形式如式(5)所示。
(5)
式中yi——期望輸出T的分量
ti——相應(yīng)的ANN輸出
p——輸出節(jié)點(diǎn)的數(shù)目
P——訓(xùn)練模式的數(shù)目
為了研究3大水庫庫水位和庫容之間的關(guān)系,本研究中前饋神經(jīng)網(wǎng)絡(luò)的結(jié)果:輸入層節(jié)點(diǎn)數(shù)為1個,表示各水庫的庫水位;隱藏層的節(jié)點(diǎn)數(shù)為10個;輸出層的節(jié)點(diǎn)數(shù)為1個,表示各水庫的庫容。
徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與多層前向型網(wǎng)絡(luò)相似,它是一種3層前向型網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。在徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)中,將輸入量輸入到輸入節(jié)點(diǎn),再將其傳遞到隱含層,其上的每個神經(jīng)元是由一個以多維度點(diǎn)為中心的徑向基函數(shù)構(gòu)成預(yù)測變量后,將各層接收到的加權(quán)輸入相加[15]。徑向基函數(shù)的結(jié)構(gòu)由輸入層、隱藏層和輸出層組成。對于隱藏層,它的神經(jīng)元個數(shù)是可變的(最佳神經(jīng)元的數(shù)目由訓(xùn)練過程決定)。每個神經(jīng)
元由一個徑向基函數(shù)組成,其中心點(diǎn)的維數(shù)與預(yù)測變量的維數(shù)相同。
為了計算徑向中心,在每個隱藏單元中使用高斯函數(shù),它取決于輸入到中心的距離,中心和擴(kuò)散參數(shù)是需要確定的參數(shù)[16]。從高斯徑向函數(shù)可以看出,隱藏單元對中心附近的數(shù)據(jù)點(diǎn)更敏感。最后,輸出層將隱層神經(jīng)元的值乘以與神經(jīng)元相關(guān)聯(lián)的權(quán)值,然后傳遞給輸出層,求和將加權(quán)值相加,并將該和表示為網(wǎng)絡(luò)的輸出[17]。
采取監(jiān)督學(xué)習(xí)的RBF神經(jīng)網(wǎng)絡(luò)模型,模型的參數(shù)由訓(xùn)練集給出,模型的評價由測試集給出,徑向基函數(shù)的一般公式為
y(x)=Φ((x-c)TR-1(x-c))
(6)
式中Φ——模型中使用的激活函數(shù)
c——中心
R——距離的度量標(biāo)準(zhǔn)
((x-c)TR-1(x-c))是由R定義的輸入x與中心c之間的距離。通常采用的是歐幾里德距離,此時,R=r2,方程(6)可以簡化為
(7)
歐幾里德距離的長度用rj表示,rj用于測量基準(zhǔn)矢量(神經(jīng)網(wǎng)絡(luò)的輸出)y=(y1,y2, …ym)與徑向中心Y(j)=(w1j,w2j, …,wmj)之間的徑向距離[18]。yi和wij分別為網(wǎng)絡(luò)的輸入和權(quán)重,rj可以表示為
(8)
將適當(dāng)?shù)膫鬟f函數(shù)應(yīng)用于rj得到
Φ(rj)=Φ(‖y-Y(k)‖)
(9)
輸出層(k=1)結(jié)合Φ=(rij)的加權(quán)線性組合得到
(10)
模型的最終目標(biāo)是通過使目標(biāo)輸出與實(shí)際輸出之間的誤差達(dá)到最小化來確定權(quán)重,通過訓(xùn)練RBF網(wǎng)絡(luò),調(diào)整權(quán)重因子,直到給定輸入計算的輸出模式與期望輸出相匹配。
利用非線性回歸、RBF和FBNN網(wǎng)絡(luò)來預(yù)測昌馬水庫、雙塔水庫、赤金峽水庫庫水位與庫容之間的關(guān)系。為了評估模型的性能,使用均方根誤差(RMSE)、相對均方根誤差(RRMSE)和平均絕對百分比誤差(MAPE)評估每個模型的預(yù)測結(jié)果。RMSE,RRMSE和MAPE的計算公式分別如下
(11)
(12)
(13)
通常,RMSE和RRMSE是基于對實(shí)際模型和預(yù)測模型之間的估計誤差的比較來評估模型,誤差最小的模型被認(rèn)為是最佳選擇。有研究指出,MAPE約30%時被認(rèn)為是合理的預(yù)測[19]。當(dāng)MPAE在5%~10%時,結(jié)果被認(rèn)為是非常準(zhǔn)確的。利用效率系數(shù)(CE)來衡量模型準(zhǔn)確的效率,CE的值由式(14)給出。CE值越大(最大值為1)表明該模型的預(yù)測性能越是有效的。
(14)
式中Da(t)——實(shí)際值
Df(t)——預(yù)測值
n——預(yù)測期數(shù)
使用Matlab軟件采用非線性回歸方法、FBNN神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)對3大水庫庫水位和庫容之間的關(guān)系進(jìn)行模擬,具體結(jié)果如下。
研究選取高斯函數(shù)作為3大水庫庫水位和庫容之間關(guān)系的非線性回歸模型,利用選取3大水庫庫水位和庫容的數(shù)據(jù)進(jìn)行回歸分析,回歸系數(shù)分析結(jié)果如表2和圖4所示。
表2 水庫庫水位和庫容之間的非線性回歸分析計算結(jié)果
由表2和圖4可以看出,當(dāng)顯著性水平α=0.05時,3大水庫庫水位和庫容之間的相關(guān)系數(shù)R2均>0.99,3個模型的顯著性概率R<0.05,這說明高斯函數(shù)模型可以較好地擬合庫水位和庫容之間的關(guān)系。
3大水庫庫水位和庫容之間的神經(jīng)網(wǎng)絡(luò)性能指標(biāo)和神經(jīng)網(wǎng)絡(luò)擬合結(jié)果如表3和圖5~6所示。由表3可以看出,F(xiàn)BNN和RBF神經(jīng)網(wǎng)絡(luò)均可較好地擬合3大水庫的庫水位和庫容之間的關(guān)系。但相對而言,RBF神經(jīng)網(wǎng)絡(luò)對昌馬水庫和雙塔水庫的庫水位和庫容模擬較好,F(xiàn)BNN神經(jīng)網(wǎng)絡(luò)對赤金峽水庫的庫水位和庫容模擬較好。對昌馬水庫和雙塔水庫而言,基于RBF神經(jīng)網(wǎng)絡(luò)較FBNN神經(jīng)網(wǎng)絡(luò)的均方根誤差(RMSE)、相對均方根誤差(RRMSE)及平均絕對百分比誤差(MAPE)均有所降低。對赤金峽水庫而言,基于FBNN神經(jīng)網(wǎng)絡(luò)比RBF神經(jīng)網(wǎng)絡(luò)的均方根誤差(RMSE)、相對均方根誤差(RRMSE)及平均絕對百分比誤差(MAPE)均有所降低。
表3 水庫庫水位和庫容之間的神經(jīng)網(wǎng)絡(luò)性能指標(biāo)
人工神經(jīng)網(wǎng)絡(luò)(ANN)模型具有良好的水文過程模擬能力,與其他傳統(tǒng)模型相比,它是處理復(fù)雜問題的有效且實(shí)用的工具。水庫壩庫優(yōu)化調(diào)度決策影響因素多,關(guān)系復(fù)雜,在供蓄水期末更是如此,這時采用線性模型結(jié)果波動大,穩(wěn)定性差,而ANN模型強(qiáng)大的非線性映射能力剛好可以滿足這方面的要求。人工神經(jīng)網(wǎng)絡(luò)能夠給出比其他方法更為準(zhǔn)確和敏感的結(jié)果,特別是在建立水庫庫容與庫水位之間關(guān)系模型時。利用Matlab軟件建立庫水位和庫容之間的非線性關(guān)系模型,并建立了以庫水位為輸入,庫容水位為輸出的兩種神經(jīng)網(wǎng)絡(luò)。結(jié)果表明:高斯函數(shù)可以很好地擬合3大水庫的庫水位和庫容之間的關(guān)系,制定更精確的水庫庫容與庫水位關(guān)系模型。同時,對于昌馬水庫和雙塔水庫而言,RBF神經(jīng)網(wǎng)絡(luò)的擬合較FBNN神經(jīng)網(wǎng)絡(luò)好;對于赤金峽水庫,F(xiàn)BNN神經(jīng)網(wǎng)絡(luò)較RBF神經(jīng)網(wǎng)絡(luò)的擬合好。模擬結(jié)果可以作為疏勒河中游梯級水庫優(yōu)化及運(yùn)行調(diào)度的重要參考依據(jù)。