全勝藍(lán),江衍銘
(浙江大學(xué)建筑工程學(xué)院水文與水資源工程研究所,杭州 310058)
含沙量過(guò)程推估及預(yù)報(bào)是水文預(yù)報(bào)中非常關(guān)鍵的任務(wù),也是國(guó)內(nèi)外備受關(guān)注的水文及水工議題。輸沙過(guò)程合理推測(cè)和預(yù)報(bào)對(duì)于大壩設(shè)計(jì)、流域規(guī)劃與管理和水土保持措施(如淤地壩修建、大規(guī)模植樹(shù)造林和退耕還林、梯田建設(shè))的制定十分重要。我國(guó)的黃河曾一度是世界上攜沙量最大的河流,其獨(dú)特的泥沙特征受到國(guó)內(nèi)外眾多專家的關(guān)注[1,2]。近年來(lái),受到全球氣候變化和人類活動(dòng)的影響,黃河的徑流量和輸沙量均發(fā)生很顯著的變化,國(guó)內(nèi)有不少關(guān)于黃河水沙變化趨勢(shì)及其影響因素的研究。皇甫川流域位于黃河流域中段,是黃河重要的產(chǎn)沙支流,研究皇甫川流域的輸沙變化具有一定的典型代表意義。例如:魏艷紅等[3]關(guān)注1955-2013年新時(shí)期皇甫川流域水沙如何變化,而慕星等[4]探究皇甫川流域水沙變化的驅(qū)動(dòng)因素。
人工神經(jīng)網(wǎng)絡(luò)在水文預(yù)報(bào)中應(yīng)用廣泛、成果顯著[5,6]。然而,人工神經(jīng)網(wǎng)絡(luò)對(duì)樣本噪聲、網(wǎng)絡(luò)參數(shù)、網(wǎng)絡(luò)模式等因素的敏感性,限制了它的應(yīng)用和發(fā)展[7,8]。國(guó)外開(kāi)始積極利用神經(jīng)網(wǎng)絡(luò)預(yù)報(bào)河流短期含沙量,如ZOUNEMAT-KERMANI M[9]利用人工神經(jīng)網(wǎng)絡(luò)方法預(yù)報(bào)河流的SSC(suspended sediment concentration);國(guó)內(nèi)關(guān)于輸沙過(guò)程預(yù)報(bào)的相關(guān)研究領(lǐng)域還處于探索階段,主要研究以倒傳遞神經(jīng)網(wǎng)絡(luò)為代表的靜態(tài)神經(jīng)網(wǎng)絡(luò)模型在含沙量過(guò)程推估及預(yù)報(bào)中的應(yīng)用[10-12]。本文希望初步探索動(dòng)態(tài)與靜態(tài)人工神經(jīng)網(wǎng)絡(luò)模型在輸沙過(guò)程推估方面的應(yīng)用,探究其發(fā)展前景。
倒傳遞神經(jīng)網(wǎng)絡(luò)(BPNN)是目前應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型。該模型中,輸入信息從輸入層經(jīng)由隱含層加權(quán)運(yùn)算,通過(guò)激活函數(shù)轉(zhuǎn)換后,傳向輸出層計(jì)算網(wǎng)絡(luò)的輸出值。由于其中每一層只影響下一層神經(jīng)元的狀態(tài),將其歸類為靜態(tài)神經(jīng)網(wǎng)絡(luò)。若在輸出層無(wú)法得到目標(biāo)輸出值,則將其誤差沿原先的反向通路回傳,通過(guò)調(diào)節(jié)各層神經(jīng)元的權(quán)重和偏差,直至誤差達(dá)到容忍的誤差范圍內(nèi)停止。該方法在水文預(yù)報(bào)中,尤其在徑流預(yù)報(bào)方面應(yīng)用頗為廣泛。本文擬將其推廣至含沙量推估及預(yù)報(bào)方面,探究該神經(jīng)網(wǎng)絡(luò)模型在含沙量推估及預(yù)報(bào)上應(yīng)用的價(jià)值。
靜態(tài)的BPNN能夠以隱性的表現(xiàn)方式來(lái)處理時(shí)間因子,動(dòng)態(tài)反饋式的神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)則是以顯性的表現(xiàn)方式將時(shí)間因子直接以回路的方式表現(xiàn)在網(wǎng)絡(luò)架構(gòu)中,最典型的方式是將隱含層與輸出層的神經(jīng)元輸出值回傳,作為下一階段自身或者其他神經(jīng)元的輸入信息。網(wǎng)絡(luò)架構(gòu)通過(guò)這種反饋回路(feedback loop)方式產(chǎn)生時(shí)間稽延的效果。算法步驟如下:
網(wǎng)絡(luò)以向前傳遞的當(dāng)時(shí)將輸入值xi(t)與對(duì)應(yīng)權(quán)重wji(t)相乘累加得到netj(t),經(jīng)過(guò)非線性函數(shù)變換得到反饋處理層的yj(t);將yj(t)與對(duì)應(yīng)權(quán)重vkj(t)相乘累加后得到netk(t),再將netj(t)經(jīng)上述非線性函數(shù)轉(zhuǎn)換得到輸出層的輸出zk(t)。將上述過(guò)程以數(shù)學(xué)關(guān)系式表述如下:
(1)
yj(t)=f[netj(t)]
(2)
netk(t)=∑vkj(t)yj(t)
(3)
zk(t)=f[netk(t)]
(4)
本文以Elman神經(jīng)網(wǎng)絡(luò)為例,這種動(dòng)態(tài)反饋式的神經(jīng)網(wǎng)絡(luò)可將隱含層的神經(jīng)元輸出向量反饋到輸入層作為輸入向量,關(guān)聯(lián)性單元的權(quán)重固定不變,網(wǎng)絡(luò)可通過(guò)監(jiān)督式學(xué)習(xí)與誤差倒傳遞方法來(lái)修正其他權(quán)重。Elman神經(jīng)網(wǎng)絡(luò)是一種簡(jiǎn)單型的反饋式網(wǎng)絡(luò)模型(simple recurrent network, SRN),可以處理相同輸入形態(tài)卻具有不同輸出形態(tài)的不一致現(xiàn)象,由于鏈接單元提供的SRN具有動(dòng)態(tài)記憶特性,即在t時(shí)刻的輸入資料x(chóng)(t)會(huì)跟隱含層前一時(shí)刻的輸出y(t)一起進(jìn)入網(wǎng)絡(luò),這使得網(wǎng)絡(luò)可區(qū)分不同時(shí)刻外界環(huán)境輸入資料的不同,因此對(duì)下一時(shí)刻的預(yù)測(cè)是根據(jù)當(dāng)前外界環(huán)境輸入因子與連接單元所提供的信息得到的。
皇甫川位于黃河中游河口-龍門區(qū)間的上段(見(jiàn)圖1),流域面積3 246 km2,流域內(nèi)包含十里長(zhǎng)川、納林川2條主要支流?;矢Υ饔?qū)儆诟珊蹬c半干旱氣候,流域水源主要來(lái)自降水,降雨主要集中在6-9月。流域徑流量在6-9月占全年徑流量的64%~99%,本文劃定6-9月為汛期?;矢Υ饔蛲寥狼治g嚴(yán)重(土壤侵蝕類型可分為文砒砂巖丘陵溝壑、黃土丘陵溝壑、沙化黃土丘陵溝壑3類[4]),因此皇甫川流域水土流失嚴(yán)重、河流含沙量高、泥沙粒徑粗,其中汛期輸沙量占全年輸沙量的75%~92%。在汛期遇到較大降雨時(shí),河川流量及輸沙量陡漲陡落,又因?yàn)榛骱苄?,?huì)形成“尖瘦”形的洪峰及沙峰。
圖1 皇甫川流域水系Fig.1 Huangfuchuan basin diagram
本文擬構(gòu)建皇甫川流域輸沙推估神經(jīng)網(wǎng)絡(luò)模型,雖然輸沙數(shù)據(jù)有限,但選取數(shù)據(jù)包含幾十年每年最大產(chǎn)沙的輸沙過(guò)程。研究數(shù)據(jù)為1956-2012年皇甫水文站記錄中摘出82場(chǎng)汛期完整洪水事件(總共952筆數(shù)據(jù)),包括皇甫川水文站的逐日降雨、徑流和輸沙時(shí)間序列。通過(guò)相關(guān)性分析篩選后得到Q(t)、P(t-1)、P(t)、S(t-1)這4個(gè)輸入變量,輸出變量為S(t)。其中,水沙的相關(guān)性最好,Q(t)和S(t)的相關(guān)系數(shù)為0.67。因此將Q(t)作為模型最主要的輸入因子。然而,水沙序列的自相關(guān)性不高,降雨與輸沙關(guān)系一般,但對(duì)S(t)都有一定程度的影響,將其他3個(gè)輸入因子作為次要影響的輸入因子。本文中從摘錄的82場(chǎng)輸沙事件中挑選出74場(chǎng)(853筆數(shù)據(jù))作為訓(xùn)練樣本,8場(chǎng)(99筆數(shù)據(jù))作為測(cè)試樣本。將輸入數(shù)據(jù)均進(jìn)行歸一化處理,其歸一化的范圍為0.1~0.9。
倒傳遞神經(jīng)網(wǎng)絡(luò)(BPNN)目前是應(yīng)用最為廣泛的靜態(tài)神經(jīng)網(wǎng)絡(luò)模型。本文構(gòu)建靜態(tài)神經(jīng)網(wǎng)絡(luò)架構(gòu)的隱含層層數(shù)為1層,利用試錯(cuò)法率定模型參數(shù),隱含層神經(jīng)元個(gè)數(shù)為5個(gè),網(wǎng)絡(luò)結(jié)構(gòu)為4-5-1,構(gòu)建輸沙推估神經(jīng)網(wǎng)絡(luò)模型,見(jiàn)圖2。采用matlab中newff函數(shù)構(gòu)建BP模型,訓(xùn)練算法為trainlm。動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)模型RNN,本文以Elman神經(jīng)網(wǎng)絡(luò)為例,隱含層層數(shù)為1層,使用試錯(cuò)法率定出神經(jīng)元個(gè)數(shù)為3個(gè),因其具有動(dòng)態(tài)自記憶的特性,其網(wǎng)絡(luò)架構(gòu)見(jiàn)圖3。
圖2 靜態(tài)網(wǎng)絡(luò)BPNN模型架構(gòu)Fig.2 Architecture of static BPNN model
圖3 動(dòng)態(tài)網(wǎng)絡(luò)RNN模型架構(gòu)Fig.3 Architecture of dynamic RNN model
關(guān)于人工神經(jīng)網(wǎng)絡(luò)模型好壞的評(píng)定指標(biāo)通常采用均方根誤差(root mean square error,RMSE)、效率系數(shù)(CE)以及相關(guān)系數(shù)(CC)等。
(1)均方根誤差(RMSE)。
(5)
式中:N為數(shù)據(jù)組的筆數(shù);Spre(t)、Sobs(t)分別為t時(shí)刻的預(yù)報(bào)值和實(shí)測(cè)值。
評(píng)估數(shù)值較大的觀測(cè)值時(shí),RMSE值能顯著體現(xiàn)模型的優(yōu)劣,RMSE值越小模型準(zhǔn)確性越高。
(2)相關(guān)系數(shù)CC:
(6)
CC的范圍從0到1,值越接近1說(shuō)明相關(guān)程度越高。
(3)效率系數(shù)CE:
(7)
CE的范圍從負(fù)無(wú)窮到1,值越接近1則精度越高。
由于黃河流域的含沙量的影響因素十分復(fù)雜,并且在水文預(yù)報(bào)領(lǐng)域中含沙量預(yù)報(bào)與推估的發(fā)展仍未成熟,目前缺乏對(duì)輸沙量推估與預(yù)報(bào)結(jié)果的合理衡量標(biāo)準(zhǔn)。因此,本文中除了采用人工神經(jīng)網(wǎng)絡(luò)模型的以上3種常用精度指標(biāo)之外,同時(shí)也采用徑流預(yù)報(bào)中的常用精度指標(biāo)對(duì)輸沙過(guò)程進(jìn)行評(píng)價(jià)[11]:
(1)沙峰評(píng)定。主要針對(duì)輸沙過(guò)程的輸沙峰值、沙峰滯時(shí)和沙峰相對(duì)誤差。
(2)過(guò)程評(píng)定。比較推估的輸沙過(guò)程與實(shí)際輸沙過(guò)程的擬合程度,本文通過(guò)分別計(jì)算每場(chǎng)輸沙時(shí)間序列的效率系數(shù)進(jìn)行評(píng)估。
基于訓(xùn)練及測(cè)試數(shù)據(jù)的劃分,對(duì)架構(gòu)的BPNN、RNN模型進(jìn)行訓(xùn)練尋找最優(yōu)參數(shù)建立較好的輸沙推估模型。其中,BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率為0.01,訓(xùn)練步數(shù)為1 000 步,訓(xùn)練目標(biāo)為10-6;動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率為0.001,訓(xùn)練步數(shù)為5 000 步,訓(xùn)練目標(biāo)為10-6。表1為2模型測(cè)試性能的評(píng)價(jià)指標(biāo)值,RMSE、CE、CC3個(gè)指標(biāo)結(jié)果說(shuō)明2個(gè)模型在推估輸沙過(guò)程的結(jié)果相差不大,動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)RNN的指標(biāo)值略微大于BPNN的結(jié)果,2者均對(duì)輸沙過(guò)程的趨勢(shì)模擬得不錯(cuò),對(duì)輸沙率的推估值誤差較小。
表1 BPNN、RNN模型測(cè)試性能評(píng)估Tab.1 Performance of BPNN and RNN models in testing set
圖4是基于BP神經(jīng)網(wǎng)絡(luò)和動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò),模型在測(cè)試階段推估輸沙時(shí)間序列以及實(shí)際觀測(cè)的輸沙序列。由圖4可知,2個(gè)模型推估的沙峰值一般小于實(shí)際值,而模擬的峰谷值略大于觀測(cè)值。2個(gè)模型推測(cè)結(jié)果進(jìn)行比較可知,動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)推測(cè)的沙峰值一般大于BP神經(jīng)網(wǎng)絡(luò),更接近實(shí)際觀測(cè)的沙峰值。從圖4中可以發(fā)現(xiàn),無(wú)論是靜態(tài)神經(jīng)網(wǎng)絡(luò)BPNN還是動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)RNN在擬合輸沙過(guò)程的起始階段和結(jié)尾處的峰谷值效果不佳,從而無(wú)法進(jìn)一步提高模型的效率系數(shù)或模型精度。通過(guò)不斷調(diào)節(jié)模型數(shù)據(jù)輸入過(guò)程歸一化范圍,發(fā)現(xiàn)對(duì)輸出結(jié)果與模型精度并無(wú)改進(jìn),則排除神經(jīng)網(wǎng)絡(luò)自身誤差的猜測(cè)。探究認(rèn)為可能原因是黃河流域特有的“小水大沙”的特征,河流在徑流很小的情況下,攜沙量卻巨大,而在模型輸入中徑流是最重要的輸入因子,并且徑流的年內(nèi)變化以及年際變化都很大,這些都為神經(jīng)網(wǎng)絡(luò)模型對(duì)輸沙過(guò)程的數(shù)值模擬帶來(lái)了難以消除的誤差。
圖4 測(cè)試集基于BPNN和RNN推估的輸沙序列Fig.4 Sediment series assessment based on BPNN and RNN in testing set
BPNN、RNN 2模型對(duì)測(cè)試階段的8場(chǎng)輸沙過(guò)程模擬效果見(jiàn)圖5,推估結(jié)果見(jiàn)表2。輸沙推估和預(yù)報(bào)中,沙峰值和沙峰出現(xiàn)時(shí)間是評(píng)估推估模型優(yōu)劣的2大指標(biāo)。在測(cè)試階段中,只有19840905 輸沙序列的推測(cè)中存在1 d的沙峰滯時(shí),其他場(chǎng)次無(wú)沙峰時(shí)滯問(wèn)題。2個(gè)模型對(duì)沙峰值的推估結(jié)果較好,尤其是199840905和19950811這2場(chǎng)峰值誤差不超過(guò)5%。相較而言,RNN推測(cè)值更加接近實(shí)測(cè)值,誤差較小。雖然RNN在模擬沙峰值上比BPNN更好,但是從每場(chǎng)輸沙的效率系數(shù)來(lái)看,BPNN的結(jié)果總體而言比RNN的結(jié)果要好,這說(shuō)明BPNN在擬合輸沙過(guò)程中退沙階段的峰谷值效果更好。此外,除了19840905場(chǎng)次的效率系數(shù)分別為0.671 0和0.653 0之外,其余場(chǎng)次均在0.7以上,達(dá)到了預(yù)報(bào)和推估的精度要求,其中19810811和20090816的效率系數(shù)甚至在0.9以上。這些誤差可能來(lái)源于皇甫川流域采取一系列的水土保持措施,包括修建淤地壩攔沙蓄水,建設(shè)梯田,以及大規(guī)模的退耕還林、植樹(shù)造林。植被的改變和相關(guān)水利設(shè)施的修建會(huì)減少地表徑流和河流的攜沙量,增大蒸發(fā),減少坡面侵蝕,從而改變流域地表產(chǎn)水產(chǎn)沙過(guò)程。
表2 BPNN、RNN模型測(cè)試集輸沙過(guò)程擬合結(jié)果Tab.2 Results of Fitting of sediment transport of BPNN and RNN models in testing set
圖5 基于BPNN和RNN沙峰推估Fig.5 Sediment peak discharge estimation based on BPNN and RNN
人工神經(jīng)網(wǎng)絡(luò)模型是水文預(yù)報(bào)中較為新穎的研究方法,廣泛應(yīng)用在徑流預(yù)報(bào)等方面。輸沙過(guò)程推估與預(yù)報(bào)也是水文預(yù)報(bào)中必不可少的一環(huán)。黃河流域的含沙量過(guò)程由于多種外界因素的影響很難估量,其輸沙的推估及預(yù)報(bào)難度很大。本研究試圖構(gòu)建合理準(zhǔn)確的皇甫川流域人工神經(jīng)網(wǎng)絡(luò)輸沙模型。模型輸入為皇甫水文站t時(shí)刻的逐日降雨、徑流時(shí)間序列,以及t-1時(shí)刻的逐日降雨、輸沙數(shù)據(jù),對(duì)t時(shí)刻的輸沙進(jìn)行推估。可得到如下4個(gè)結(jié)論。
(1)本文以皇甫川流域?yàn)檠芯繀^(qū)域探索黃河流域中段的輸沙推估模型,通過(guò)對(duì)皇甫川流域出口皇甫水文站的逐日降雨、徑流以及輸沙時(shí)間序列處理,以Q(t)、P(t-1)、P(t)、S(t-1) 4個(gè)變量作為模型的輸入,輸出變量為S(t),建立架構(gòu)為4-5-1的靜態(tài)神經(jīng)網(wǎng)絡(luò)輸沙推估模型BPNN與架構(gòu)為4-3-1的動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)輸沙推估模型RNN。由于水沙關(guān)系最好,因此Q(t)是最主要的輸入因子。
(2)結(jié)果表明,動(dòng)靜態(tài)神經(jīng)網(wǎng)絡(luò)對(duì)輸沙過(guò)程的推估結(jié)果較好,評(píng)價(jià)指標(biāo)表明2者的推估結(jié)果差異不大,但動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的輸沙推估模型模擬沙峰值的效果更好,更加接近實(shí)際的觀測(cè)值。并且2個(gè)模型在推估輸沙過(guò)程中,對(duì)峰谷值的模擬效果不佳,可能是因?yàn)辄S河流域“小水大沙”的特征,而在本文中徑流量Q(t)是模型最重要的輸入因子,其年內(nèi)變化與年際變化都很大,因此會(huì)對(duì)S(t)的推估產(chǎn)生影響,從而產(chǎn)生誤差。輸沙過(guò)程陡漲陡落,輸沙基流很小,但在很短時(shí)間內(nèi)漲至峰值,會(huì)對(duì)模型對(duì)整個(gè)輸沙過(guò)程的推估產(chǎn)生影響。
(3)對(duì)推估的輸沙過(guò)程進(jìn)行沙峰評(píng)定和過(guò)程評(píng)定結(jié)果表明,沙峰推測(cè)值相對(duì)誤差整體均在25%以內(nèi),其中19840905和19950811這2場(chǎng)沙峰模擬效果最好,動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)模擬峰值的相對(duì)誤差達(dá)到3%和2%,推估的峰值基本無(wú)滯時(shí)問(wèn)題。除了19840905場(chǎng)次之外,其余場(chǎng)次2個(gè)模型的效率系數(shù)均在0.7以上,說(shuō)明模型對(duì)輸沙過(guò)程的擬合效果良好。靜態(tài)神經(jīng)網(wǎng)絡(luò)BPNN較之動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)對(duì)整場(chǎng)輸沙過(guò)程的模擬效果更好。
(4)構(gòu)建的輸沙模型對(duì)于各個(gè)時(shí)期的推估效果良好,對(duì)歷史數(shù)據(jù)估計(jì)與預(yù)測(cè)未來(lái)均具有良好的結(jié)果。但仍有一些無(wú)法避免的誤差,誤差來(lái)源于皇甫川流域植被的變化和水利設(shè)施的大規(guī)模修建,改變了流域正常的產(chǎn)水產(chǎn)沙過(guò)程,從而影響了模型的精度。如何將這些影響水沙的驅(qū)動(dòng)因素加入模型是今后需要繼續(xù)探究的內(nèi)容。