單無牽,寧芊,*,陳炳才,周新志,羅強
(1.四川大學電子信息學院,成都 610065;2.新疆師范大學計算機科學技術學院,烏魯木齊 830054;3.成都萬江港利科技股份有限公司,成都 610064)
目前工程上對灌區(qū)流量的測量方法大部分才用的是傳統(tǒng)的測量方法[1],例如流速-面積法[2]、水位流量關系法[3]、堰槽法[4]等。這些傳統(tǒng)的測量方法雖然能對灌區(qū)流量進行測量,但都存在著一些缺陷。堰槽法實施的工程成本比較高,且精度受到很多因素的影響;水位流量關系法研究的是水位與流量的內(nèi)在聯(lián)系,這種方法精度太差且不適用于所有的灌區(qū);流速-面積法需要測量大量測點的流速,測量耗費時間長。
傳統(tǒng)測流方法存在局限性能自然有相關學者進行研究,研究的方法集中于計算流體力學(computational fluid dynamics,CFD)[5]、機器學習[6-7]、流速分布規(guī)律[8-9]等。例如,Lin等[10]使用大尺度粒子圖像技術測量河流表面流速結合機器學習實現(xiàn)了流量的非接觸式測量,然而實際測量時容易儀器容易受到風速、降雨等客觀因素的干擾,影響流速的測量結果導致流量估算值與真實值存在較大差距。黃靖軒等[8]對河道的流速分布規(guī)律進行研究,但研究,需要大量分布均勻且有規(guī)律的水文數(shù)據(jù)進行理論支撐,實際測量過程中測量成本較高,難以滿足研究所需條件。Das 等[11]使用摩擦系數(shù)、水力半徑、河床坡度等作為神經(jīng)網(wǎng)絡的輸入條件對河流流量進行預測,并取得了較好的結果,但其模型的輸入?yún)?shù)在實際過程中不易測量,且受現(xiàn)場測量環(huán)境的影響,參數(shù)測量的準確性并不能有效保障,影響流量預測結果。Gholami等[12-14]采用自適應神經(jīng)模糊推理系統(tǒng)(adaptive network-based fuzzy inference system,ANFIS)研究了90°急彎的流量。提出了一種基于多層感知器(multila-yer perceptron,MLP)類型的人工神經(jīng)網(wǎng)絡模型,用于廣泛預測不同的流動變量。然而其研究對象是實驗室搭建簡易水槽模型,實驗條件過于理想化,研究成果是否適用實際的工程場景還有待驗證。Chen 等[15]使用人工神經(jīng)網(wǎng)絡和支持向量機兩種機器學習模型對齒形迷宮通道流量進行預測,并取得了較好的結果,但其使用的神經(jīng)網(wǎng)絡模型在訓練過程中存在諸如收斂速度慢、容易陷入局部最優(yōu)解、過擬合等缺陷。這些缺陷會在一定程度上影響預測的結果。
當前神經(jīng)網(wǎng)絡模型在對灌區(qū)流量進行預測中存在諸如數(shù)據(jù)來源不完整、參數(shù)測定不準確、實例驗證不全面、預測結果不理想等缺陷。為了更好地提高灌區(qū)流量預測的準確性,解決水資源合理分配、調(diào)度等問題并提高神經(jīng)網(wǎng)絡模型的魯棒性。現(xiàn)提出一種基于麻雀搜索算法[16](sparrow search algorithm,SSA)優(yōu)化徑向基(radial basis function,RBF)神經(jīng)網(wǎng)絡基函數(shù)的中心和寬度的方法。首先創(chuàng)建簡單的RBF神經(jīng)網(wǎng)絡流量預測模型,并說明其缺陷,并在此基礎上創(chuàng)新性地使用SSA優(yōu)化RBF模型,以都江堰人民渠渠首站點27種不同水力條件下的實測數(shù)據(jù)對流量預測模型進行驗證。通過對灌區(qū)流量的科學準確預測,優(yōu)化目前流量測算手段,從而為灌區(qū)流量合理分配提供有效依據(jù)。
四川省都江堰灌區(qū)的人民渠一處屬于平原灌區(qū),灌區(qū)內(nèi)干渠、分干渠共計13條,總長478.9 km,支渠60條,是都江堰灌區(qū)的重要組成部分,主要灌溉成都、德陽兩市10縣(市、區(qū))242.29萬畝農(nóng)田,向多家重點工業(yè)企業(yè)供水和對丘陵灌區(qū)的德陽、綿陽、遂寧三市230多萬畝灌面囤蓄輸水及灌區(qū)城鎮(zhèn)生活用水供水,所轄灌區(qū)由人民渠一至四期工程、蒲陽河——青白江和前進渠3個渠系組成,控灌面積達2 563 km2。
目前人民渠渠首測站流量測算主要采用流速-面積法。測量時,在渠首平直渠段選擇間距適當?shù)膬蓚€過水斷面作為測量斷面,總共布置了7根測線,將梯形斷面分為了8個子區(qū)域。每根測線上均使用流速儀測量若干測點流速并計算每根測線的平均速度。由于測點眾多,完成一次明渠流量測量起碼需要花費數(shù)小時,流量測量時間成本較高。
本文中實測數(shù)據(jù)來源于都江堰灌區(qū)人民渠渠首站點,渠道的物理信息和水位部分信息匯總于表1。其中流量測量采用流速-面積法[2]進行測量。測量的示意圖如圖1所示,測量時總共布置了7根測線,每根測線的測點個數(shù)由渠道水深決定。根據(jù)渠道水位的不同,分別采用一點法、兩點法、三點法。當水深處在2.16~3.3 m時,采用三點法進行測量即按y/H=0.2、0.6、0.8布置測點(y為測點高度,H為水深);當水深處在1.6~2.15 m時,采用兩點法進行測量即在y/H=0.2、0.8布置測點;當水深處在0.5~1.5 m時,采用一點法進行測量即在y/H=0.6布置測點。收集到人民渠渠首站點在27種不同水位下的水文資料。其中采用三點法測量11種水位,得到231組測點流速;兩點法測量5種水位,得到70組測點流速;一點法測量11種水位,得到77組測點流速。綜上得到人民渠渠首站點在27種水位下共計378組測點流速。
圖1 測流數(shù)據(jù)示意圖Fig.1 Schematic diagram of flow measurement data
表1 部分樣本數(shù)據(jù)Table 1 Partial sample data
極限學習機(extreme learning machine,ELM)是一種單隱層前饋神經(jīng)網(wǎng)絡算法,由輸入層、隱藏層、輸出層三層組成,每層之間利用對應的映射函數(shù)來完成連接。與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡模型相比,ELM在訓練過程中,隱藏層的權值和其神經(jīng)元的閾值是隨機產(chǎn)生的,無需手動賦值和更新,學習過程僅計算輸出層權值,當計算求出輸出層權值即完成訓練。由文獻[17]可知影響灌區(qū)流量測量的主要因素為測點參數(shù)以及渠道參數(shù),故以渠道水深H、測點流速v、測點位置x、y為ELM的4個輸入因子,以流量Q為輸出因子,ELM的結構圖如圖2所示。
圖2 基于ELM神經(jīng)網(wǎng)絡的灌區(qū)流量預測模型Fig.2 Irrigation district flow prediction model based on ELM neural network
假設有N個樣本(Xi,Qi),其中Xi=[x1,x2,x3,x4]T表示模型的輸入?yún)?shù)。x1、x2、x3、x4分別代表渠道水深h、測點流速v、測點位置x、y。Q為流量預測值。綜上,ELM模型預測灌區(qū)流量的輸出可表示為
(1)
式(1)中:L為隱藏層神經(jīng)元個數(shù);g(x)為激活函數(shù);ωi為輸入層到隱藏層的調(diào)度權值;bi為第i個隱層單元的閾值;βi為輸出權值。
神經(jīng)網(wǎng)絡由多個神經(jīng)元以及層級相互連接組成的拓撲結構,其優(yōu)點在于能夠通過大量數(shù)據(jù)的訓練完成輸入與輸出之間的非線性映射,訓練完成后,每當有新的數(shù)據(jù)輸入便能輸出一個較為可靠的結果。RBF神經(jīng)網(wǎng)絡由于其簡單、靈活等特點常用于解決各種水利工程問題。RBF神經(jīng)網(wǎng)絡通常由輸入層、隱藏層、輸出層3層組成,每一層均包含若干神經(jīng)元。渠道水深h、測點流速v、測點位置x、y為RBF的4個輸入因子,流量Q為輸出因子,建立的神經(jīng)網(wǎng)絡模型如圖3所示。
圖3 基于RBF神經(jīng)網(wǎng)絡的灌區(qū)流量預測模型Fig.3 Irrigation district flow prediction model based on RBF neural network
由于隱藏層的激活函數(shù)選擇的是高斯函數(shù),輸出層采用線性變換,故輸入與輸出之間的關系為
(2)
麻雀搜索算法(SSA)[16]是一種通過模擬麻雀的覓食和反捕食行為來進行局部和全局搜索的優(yōu)化算法。麻雀搜索算法將麻雀分為發(fā)現(xiàn)者和加入者兩類,其基本原理是:發(fā)現(xiàn)者負責找尋食物豐富并為加入者提供覓食方向,加入者通過發(fā)現(xiàn)者來獲取食物,同時加入者會不斷監(jiān)控發(fā)現(xiàn)者并搶奪食物以保障自己的捕食率。當麻雀種群受到捕食者攻擊時,發(fā)現(xiàn)者將發(fā)出預警信號,若超出閾值將帶領加入者撤退到安全區(qū)域。這個過程中發(fā)現(xiàn)者和加入者的身份是動態(tài)變化的,每一只麻雀都可能隨時轉換身份。
模擬實驗中,由n只麻雀組成的種群為
(3)
式(3)中:d為待優(yōu)化問題的維數(shù);n為麻雀的數(shù)量。
麻雀種群適應度的形式為
(4)
式(4)中:f表示適應度值。
發(fā)現(xiàn)者的位置更新公式為
(5)
式(5)中:t表示當前迭代次數(shù);T表示最大迭代次數(shù);Xi,j(t)表示第i只麻雀在第j維迭代次數(shù)為t時的位置信息;α為[0,1]的隨機數(shù);R(R∈[0,1])表示預警值;ST(ST∈[0.5,1])表示安全值;Q為服從正態(tài)分布的隨機數(shù);L表示一個1×d的矩陣,其內(nèi)部每個元素都為1。
加入者的位置更新公式為
Xi,j(t+1)=
(6)
式(6)中:Xp(t+1)是當前發(fā)現(xiàn)者中適應度最優(yōu)的位置;Xworst(t)是當前全局適應度最差的位置;A+=AT(AAT)-1,A表示一個與麻雀個體同維度的列向量,內(nèi)部元素由1與-1隨機組成。
偵察者的位置更新公式為
Xi,j(t+1)=
(7)
式(7)中:Xbest(t)為當前的全局最優(yōu)位置;β為步長控制參數(shù),為服從均值為0、方差為1的正態(tài)分布的隨機數(shù);K∈[-1,1]是一個隨機數(shù);fi則為當前麻雀個體的適應度;fg和fw分別為當前全局最佳和最差的適應度值;ε為較小的常數(shù)。
傳統(tǒng)的RBF神經(jīng)網(wǎng)絡中,由于隱藏層節(jié)點的基函數(shù)中心和寬度是隨機產(chǎn)生的,如果使用傳統(tǒng)的RBF神經(jīng)網(wǎng)絡在預測灌區(qū)流量模型可能會導致無法得到最優(yōu)解,從而不斷增加隱藏層神經(jīng)元個數(shù)使得網(wǎng)絡結構變的復雜。針對上述問題,現(xiàn)使用SSA優(yōu)化RBF神經(jīng)網(wǎng)絡的中隱藏層的基函數(shù)中心和寬度,從而獲取最優(yōu)的參數(shù)。
使用SSA優(yōu)化RBF時,選取訓練集與測試集的均方誤差作為種群的適應度。首先讀取表1中的樣本集,按照7∶3的比例將樣本集分為訓練集(70%)和測試集(30%),并將數(shù)據(jù)歸一化處理;其次確定模型的輸入輸出,初始化基函數(shù)中心和寬度、隱藏層到輸出層之間的權值,種群的大小,發(fā)現(xiàn)者加入者之間的比例等;使用SSA優(yōu)化基函數(shù)中心和寬度,并將最后優(yōu)化的結果賦給RBF完成模型的訓練。SSA-RBF的灌區(qū)流量預測流程圖如圖4所示。
圖4 SSA優(yōu)化RBF神經(jīng)網(wǎng)絡流程圖Fig.4 Flow chart of SSA optimization of RBF neural network
對ELM、RBF、SSA-RBF 3種測流模型進行研究,并得到了測流結果,然而單一的對比無法說明模型的好壞,故采用確定系數(shù)R2、均方根誤差(root mean square error,RMSE)、平均絕對誤差(mean absolute error,MAE)、殘差質(zhì)量系數(shù)(coefficient of residual mass,CRM)4種評價指標來進行。R2越接近1模型性能越好,RMSE、MAE、CRM越接近于0,模型性能越好,這些指標的計算公式為
(8)
(9)
(10)
(11)
式中:QPi是預測的流量,m3/s;QMi是實際測量的流量,m3/s;n為參與計算的流量個數(shù)。
以都江堰人民渠渠首站點的378組實測數(shù)據(jù)對SSA-RBF模型進行研究,其中265組(70%)數(shù)據(jù)作為訓練樣本,113組(30%)數(shù)據(jù)作為測試樣本。單一的結果無法說明模型的好壞,故以同樣的輸入并分別得出ELM、RBF、SSA-RBF模型預測的流量。通過預測流量與真實流量對比以及四種評價指標來詳細評估模型在預測灌區(qū)流量方面的性能。結果記錄在圖5~圖8以及表2、表3中。其中圖5~圖7為3種模型流量預測結果;圖8為預測結果與對應真實值之間的偏差;表2為流量預測結果偏差分布對比;表3為誤差評價指標的結果。
表2 流量預測結果偏差分布對比Table 2 Comparison of error distribution of flow prediction results
表3 誤差評價指標結果Table 3 Error evaluation index results
由圖5~圖8可以看出,ELM、RBF、SSA-RBF 3種模型均能對灌區(qū)流量進行有效預測。而SSA-RBF模型與其他2種模型相比,流量的預測結果更加接近真實值,誤差分布也更加均勻。
圖5 ELM模型預測結果Fig.5 Prediction results of ELM model
圖6 RBF模型預測結果Fig.6 Prediction results of RBF model
圖7 SSA-RBF模型預測結果Fig.7 Prediction results of SSA-RBF model
圖8 模型預測結果和真實值偏差Fig.8 Deviation between model prediction results and real values
由表2、表3可以看出ELM與RBF預測差異較小,而使用SSA優(yōu)化RBF神經(jīng)網(wǎng)絡預測流量偏差在±3 m3/s的百分比提高21.3%,偏差±6 m3/s的百分比提高17.7%,偏差在±9 m3/s的百分比提高4.5%。使用SSA優(yōu)化RBF神經(jīng)網(wǎng)絡后R2提高0.024、RMSE減少2.192、MAE減少1.829、CRM減少0.009 3。
最終可以得出結論SSA-RBF模型預測效果更好,使用SSA優(yōu)化RBF神經(jīng)網(wǎng)絡是有效的。
以都江堰人民渠為研究對象,圍繞其灌區(qū)流量測量精度及測流模型展開討論,這是對灌區(qū)流量測算問題研究體系的強力補充,在一定程度上補足了現(xiàn)有研究的不足,同時也能為人民渠測流精度提升提供必要的參考依據(jù)。經(jīng)研究得到以下結論。
(1)本文提出使用SSA優(yōu)化RBF神經(jīng)網(wǎng)絡中基函數(shù)中心和寬度的方法,并應用于都江堰人民渠得到了實例驗證。
(2)使用SSA優(yōu)化后的RBF神經(jīng)網(wǎng)絡模型在確定系數(shù)(R2)、均方根誤差(RMSE)、平均絕對誤差(MAE)、殘差質(zhì)量系數(shù)(CRM)等指標上的表現(xiàn)均優(yōu)于ELM模型以及RBF模型。
(3)使用SSA優(yōu)化后的RBF神經(jīng)網(wǎng)絡模型在預測流量的準確率顯著提高,SSA-RBF模型用于灌區(qū)流量測量是可行的。
但本文研究對象是人工修建的標準梯形斷面明渠,故其斷面的形狀和大小較為規(guī)則,流量變化規(guī)律明顯。而天然河道和非標準渠道的斷面形狀較為復雜,水文參數(shù)不便于測定。因此本文建立的SSA-RBF模型是否適用于天然河道以及非標準明渠是今后研究的主要方向。