何 偉,石靜濤,萬 俊,萬 飚,于耀翔
(1. 安康水力發(fā)電廠,陜西 安康 725000; 2. 武漢大學(xué)水資源與水電工程科學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430072)
可靠的洪水預(yù)報(bào)是做好水庫(kù)防洪發(fā)電調(diào)度的前提,因此水庫(kù)洪水預(yù)報(bào)系統(tǒng)是整個(gè)防洪和發(fā)電調(diào)度決策系統(tǒng)的核心組成部分[1]。傳統(tǒng)上基于水文模型來進(jìn)行洪水預(yù)報(bào),由于水文模型(例如新安江模型、API模型)結(jié)構(gòu)及參數(shù)所限,難以完全反映水文規(guī)律,故預(yù)報(bào)精度往往不夠理想[2]。隨著大數(shù)據(jù)分析技術(shù)和深度學(xué)習(xí)智能算法的完善,大數(shù)據(jù)分析技術(shù)、人工智能算法在水文學(xué)領(lǐng)域的研究則剛剛起步[3-4]。本文基于長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)的理論在安康水庫(kù)洪水預(yù)報(bào)中進(jìn)行了有益的嘗試,得到了滿意的結(jié)果。
新安江模型是河海大學(xué)趙人俊教授提出的一個(gè)較為完整的概念性流域水文模型[5],其三水源新安江模型在我國(guó)濕潤(rùn)和半濕潤(rùn)地區(qū)得到了廣泛的應(yīng)用,并且取得了較好的效果[6]。作為與LSTM數(shù)據(jù)驅(qū)動(dòng)模型[7]的比較,下面分別介紹新安江產(chǎn)匯流模型和LSTM數(shù)據(jù)驅(qū)動(dòng)模型。
新安江三水源產(chǎn)流計(jì)算主要由蓄滿產(chǎn)流計(jì)算、流域水源劃分和流域蒸散發(fā)計(jì)算三部分組成,如圖1中產(chǎn)流計(jì)算模塊所示。
匯流計(jì)算針對(duì)地面徑流、壤中流和地下徑流,分別采用不同的匯流計(jì)算方法,由圖1中匯流計(jì)算模塊所示。
圖1 新安江產(chǎn)匯流模型計(jì)算框圖
基于圖1所示的新安江產(chǎn)匯流模型計(jì)算框圖,可見,新安江產(chǎn)匯流模型的關(guān)鍵是要率定好產(chǎn)匯流計(jì)算中所涉及的多項(xiàng)參數(shù),本文針對(duì)安康水庫(kù)特點(diǎn),將安康水庫(kù)以上流域劃分為兩個(gè)分區(qū),即石泉水庫(kù)以上流域和石泉-安康區(qū)間。
LSTM數(shù)據(jù)驅(qū)動(dòng)模型同其他神經(jīng)網(wǎng)絡(luò)模型一樣,需要首先搭建網(wǎng)絡(luò)模型,再傳入相應(yīng)的數(shù)據(jù)進(jìn)行計(jì)算。本文選用TensorFlow框架來搭建LSTM模型[8],即直接調(diào)用高級(jí)API接口Keras,LSTM模型搭建過程步驟如下:
1)數(shù)據(jù)預(yù)處理。對(duì)流量、蒸發(fā)和降雨數(shù)據(jù)進(jìn)行歸一化處理。
2)輸入層參數(shù)。上游水庫(kù)的出庫(kù)徑流、流域平均降雨、流域平均蒸發(fā)、之前時(shí)刻的入庫(kù)徑流等。
3)LSTM網(wǎng)絡(luò)結(jié)構(gòu)。兩層LSTM層加一層全連接層,激活函數(shù)選用relu。
4)損失函數(shù)。均方誤差損失(MSE)。
5)優(yōu)化器。Adam算法。
6)其他參數(shù)。如訓(xùn)練樣本個(gè)數(shù),收斂迭代次數(shù)等。
7)LSTM計(jì)算結(jié)構(gòu)。輸入前n個(gè)時(shí)段的特征值向量,計(jì)算第n+1個(gè)時(shí)段的目標(biāo)值,其計(jì)算框圖如圖2所示。
圖2 LSTM數(shù)據(jù)驅(qū)動(dòng)模型計(jì)算框圖
本文研制的系統(tǒng)軟件服務(wù)于水庫(kù)洪水預(yù)報(bào)專業(yè)人員,服務(wù)于企業(yè)內(nèi)部系統(tǒng),業(yè)務(wù)功能純粹,人機(jī)交互用戶體驗(yàn)要求較高,計(jì)算量大,因此,本系統(tǒng)采用經(jīng)典的B/S結(jié)構(gòu)模式,見圖3。用戶通過終端設(shè)備將請(qǐng)求發(fā)送給專用服務(wù)器進(jìn)行處理,并將業(yè)務(wù)數(shù)據(jù)統(tǒng)一存儲(chǔ)到后臺(tái)數(shù)據(jù)庫(kù)中,便于其他系統(tǒng)獲取預(yù)報(bào)結(jié)果數(shù)據(jù)并發(fā)布信息。B/S結(jié)構(gòu)無需安裝客戶端,軟件升級(jí)方便,跨平臺(tái)、跨網(wǎng)絡(luò)訪問更容易。
圖3 洪水預(yù)報(bào)系統(tǒng)物理結(jié)構(gòu)圖
為方便洪水預(yù)報(bào)的實(shí)施,系統(tǒng)軟件共分為八大功能模塊:
1)首頁。反映雨量站、水文站測(cè)站分布情況。
2)原始數(shù)據(jù)獲取。從其它數(shù)據(jù)庫(kù)讀取雨量、水位、流量等原始數(shù)據(jù)。
3)預(yù)報(bào)數(shù)據(jù)準(zhǔn)備。對(duì)預(yù)報(bào)用到的實(shí)時(shí)數(shù)據(jù)進(jìn)行整理、計(jì)算與處理,為洪水預(yù)報(bào)做好數(shù)據(jù)準(zhǔn)備。
4)新安江模型。該功能模塊又分為兩個(gè)部分,①可實(shí)現(xiàn)對(duì)日徑流進(jìn)行模擬預(yù)報(bào)、實(shí)時(shí)預(yù)報(bào),兩者的區(qū)別在于模擬預(yù)報(bào)采用實(shí)際發(fā)生的真實(shí)日數(shù)據(jù),而實(shí)時(shí)預(yù)報(bào)用到的數(shù)據(jù)前段是真實(shí)日數(shù)據(jù),后段是預(yù)估日數(shù)據(jù)(例如:區(qū)間面雨量,上游水庫(kù)出庫(kù)流量等)。②可實(shí)現(xiàn)對(duì)小時(shí)洪水進(jìn)行模擬預(yù)報(bào)、實(shí)時(shí)預(yù)報(bào)以及實(shí)時(shí)檢驗(yàn)。對(duì)歷史洪水進(jìn)行模擬預(yù)報(bào)的目的是檢驗(yàn)?zāi)P途?;?duì)實(shí)時(shí)洪水可進(jìn)行實(shí)時(shí)預(yù)報(bào)并隨時(shí)對(duì)已發(fā)生的洪水過程進(jìn)行實(shí)時(shí)檢驗(yàn),及時(shí)預(yù)報(bào)了解誤差并進(jìn)行實(shí)時(shí)修正。
5)智能預(yù)報(bào)。同樣,智能預(yù)報(bào)功能模塊也分為兩個(gè)部分,即:日徑流預(yù)報(bào)和洪水預(yù)報(bào),其作用與新安江模型相同,僅僅用到的預(yù)報(bào)模型不一樣,兩個(gè)模型進(jìn)行預(yù)報(bào)也便于方案比較。
6)預(yù)報(bào)方案管理。對(duì)實(shí)時(shí)洪水所做的實(shí)時(shí)預(yù)報(bào)方案進(jìn)行比較與評(píng)定。
7)數(shù)據(jù)庫(kù)維護(hù)。對(duì)原始數(shù)據(jù)表、中間計(jì)算數(shù)據(jù)表、結(jié)果數(shù)據(jù)表可進(jìn)行編輯修改。
8)用戶管理。對(duì)訪客、預(yù)報(bào)員、管理員等身份進(jìn)行權(quán)限管理。
本系統(tǒng)基于B/S結(jié)構(gòu)模式開發(fā),在系統(tǒng)服務(wù)器端采用LINUX操作系統(tǒng)和MySQL數(shù)據(jù)庫(kù)系統(tǒng);在客戶端建議使用Google Chrome瀏覽器。系統(tǒng)軟件開發(fā)工具主要使用Python和Java,系統(tǒng)界面采用Java開發(fā),后端的模型計(jì)算采用Python編寫。系統(tǒng)軟件界面如圖4所示,該圖左欄反映了本系統(tǒng)中的具體八個(gè)功能模塊。
圖4 洪水預(yù)報(bào)系統(tǒng)軟件界面
兩種模型分別對(duì)21場(chǎng)洪水的模擬預(yù)報(bào)結(jié)果比較情況見表1,部分場(chǎng)次洪水模擬預(yù)報(bào)過程見圖5。
表1 21場(chǎng)次洪水模擬預(yù)報(bào)結(jié)果對(duì)比表
圖5 兩種模型部分場(chǎng)次洪水模擬預(yù)報(bào)對(duì)比圖
以20200616-0619作為示例計(jì)算時(shí)段,分別采用兩種模型進(jìn)行實(shí)時(shí)洪水預(yù)報(bào),將計(jì)算結(jié)果進(jìn)行對(duì)比,時(shí)間段分別為1 d、2 d和3 d。如表2及圖6所示。
表2 兩種模型不同時(shí)段預(yù)報(bào)檢驗(yàn)效果對(duì)比表(20200616-0619)
1)模擬預(yù)報(bào)結(jié)果表明:LSTM模型的指標(biāo)除了20161025和20170924這兩場(chǎng)洪水以外,其它場(chǎng)次洪水均要好于新安江模型。特別是確定性系數(shù)和洪量誤差均要好于新安江模型,其合格率均達(dá)到90%以上。
2)實(shí)時(shí)預(yù)報(bào)結(jié)果表明:通過對(duì)1 d、2 d和3 d的實(shí)時(shí)預(yù)報(bào)檢驗(yàn),兩種模型的確定性系數(shù)、洪峰誤差、洪量誤差以及洪水過程,LSTM模型均好于新安江模型。
1)LSTM模型模擬預(yù)報(bào)的結(jié)果確定性系數(shù)和洪量誤差均要好于新安江模型,前者合格率達(dá)到90.5%,后者合格率僅達(dá)到81%。
2)LSTM模型1 d、2 d和3 d的實(shí)時(shí)預(yù)報(bào)檢驗(yàn)結(jié)果確定性系數(shù)、洪峰誤差、洪量誤差以及過程均好于新安江模型。由此可見,在場(chǎng)次洪水實(shí)時(shí)預(yù)報(bào)時(shí),LSTM模型自帶實(shí)時(shí)預(yù)報(bào)滾動(dòng)修正功能,實(shí)時(shí)預(yù)報(bào)效果更好。
3)通過對(duì)安康水庫(kù)洪水預(yù)報(bào)模擬計(jì)算、模擬預(yù)報(bào)、實(shí)時(shí)預(yù)報(bào)2類模型,8種計(jì)算模式的研究及驗(yàn)證,LSTM模型比新安江模型達(dá)到更高的精度,說明LSTM模型完全可以用于安康水庫(kù)洪水預(yù)報(bào)的實(shí)際操作。因此,該項(xiàng)目的研究具有理論價(jià)值及應(yīng)用價(jià)值。
4)安康水庫(kù)智能化洪水預(yù)報(bào)系統(tǒng)軟件采用目前計(jì)算機(jī)領(lǐng)域最流行的B/S結(jié)構(gòu)模式開發(fā),雖然開發(fā)難度較大,但使用及維護(hù)更方便。因此,該項(xiàng)目在水文預(yù)報(bào)專業(yè)領(lǐng)域具有先進(jìn)性和實(shí)用性。