李 宏 亮
(廣西壯族自治區(qū)水利電力勘測設(shè)計(jì)研究院,南寧 530023)
中長期徑流預(yù)報對于開展水庫優(yōu)化調(diào)度、洪水管理、河道航運(yùn)管理和河流取用水規(guī)劃等工作具有重要作用。中長期徑流預(yù)報是指根據(jù)水文現(xiàn)象所具有的客觀規(guī)律,利用有效的水文氣象資料,采用某些數(shù)學(xué)方法或者其他方法,對預(yù)見期大于流域最大匯流時間且在一年以內(nèi)的徑流預(yù)報方式。由于水文系統(tǒng)十分復(fù)雜,系統(tǒng)的影響因素眾多,影響方式與影響程度難以精確度量,造成了中長期徑流預(yù)報很難取得精確結(jié)果。但是國內(nèi)外的科研工作者對中長期徑流預(yù)報進(jìn)行了大量研究并取得了大量成果,給予后來者很多寶貴的經(jīng)驗(yàn),有力地推動了中長期徑流預(yù)報的發(fā)展。Hamlet[1]利用成因分析法研究了尼爾尼諾和太平洋濤動現(xiàn)象與哥倫比亞河流之間的旱澇關(guān)系。Foufoular Gegious[2]通過小波分解技術(shù),在降水序列-頻率尺度的基礎(chǔ)上進(jìn)行能量分解,從而為研究降水形成機(jī)制開辟了新路徑。楊道輝[3]通過探求發(fā)現(xiàn)基于粒子群算法的人工神經(jīng)網(wǎng)絡(luò)預(yù)報模型能夠加快收斂速度,可以有效減小徑流預(yù)報結(jié)果的誤差。丁濤[4]提出了一種基于混沌水文時間序列的區(qū)間預(yù)測法,并結(jié)合模糊聚類算法計(jì)算對于區(qū)間風(fēng)險度下的預(yù)測區(qū)間。Box等[5]提出自回歸滑動平均模型(ARMA)由于其直觀的時間相依形式,其參數(shù)具有現(xiàn)實(shí)的物理意義并能反映水文序列的統(tǒng)計(jì)特征,從而被廣泛地應(yīng)用在中長期預(yù)報中。因此,本文通過加權(quán)平均法集合三種不同預(yù)報模型的優(yōu)點(diǎn)建立集合預(yù)報模型,更精確無誤地進(jìn)行中長期徑流預(yù)報。
漓江桂林水文站以上流域集雨面積為2 762 km2,漓江桂林水文站多年平均流量為133 m3/s,多年最小月平均流量實(shí)測值為10.8 m3/s,最小月平均流量為5.9 m3/s,最枯日流量僅為3.8 m3/s。近年來,隨著經(jīng)濟(jì)發(fā)展,桂林市市區(qū)人口急增,桂林城市用水每天向漓江取用的水總量達(dá)60 萬m3,相當(dāng)于7 m3/s,城市用水已經(jīng)超過漓江最小月平均流量5.9 m3/s,桂林市及沿江兩岸群眾的引水安全受到嚴(yán)重威脅。由于枯水期水量較少,漓江風(fēng)景名勝區(qū)旅游通航受到嚴(yán)重影響,在冬季,百里漓江有時僅能通航10~20 km,大大減少了旅游通航里程甚至斷航,極大地影響了漓江的山水自然景觀和旅游形象。因此,開展漓江桂林?jǐn)嗝娴闹虚L期徑流預(yù)報模型工作刻不容緩。
BP(BackPropagation)神經(jīng)網(wǎng)絡(luò)模型是人工神經(jīng)網(wǎng)絡(luò)模型的一種,模型在1986年被首次提出并在全世界范圍內(nèi)迅速成為應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。該模型屬于誤差反饋模型,即輸入值經(jīng)過模型計(jì)算,在輸出端進(jìn)行結(jié)果輸出,如果輸出的結(jié)果精度達(dá)不到預(yù)期的要求,則將計(jì)算結(jié)果的誤差逆向反饋到網(wǎng)絡(luò)層中的每一個元素中,以此作為調(diào)節(jié)連接節(jié)點(diǎn)權(quán)重的依據(jù)。之后不斷重復(fù)該過程,直到計(jì)算結(jié)果精度滿足要求或者計(jì)算次數(shù)達(dá)到預(yù)定值為止。BP神經(jīng)網(wǎng)絡(luò)模型算法的學(xué)習(xí)規(guī)則是采用了數(shù)學(xué)中的最速下降法,通過正向計(jì)算和誤差反向傳播來不斷地調(diào)整連接的權(quán)值和閾值,從而使模型計(jì)算出來的結(jié)果誤差平方和最小。BP神經(jīng)網(wǎng)絡(luò)模型是一種典型的前饋神經(jīng)網(wǎng)絡(luò),模型具有三層結(jié)構(gòu),即模型輸入層、模型隱含層和模型輸出層,其中相鄰兩層的全部神經(jīng)元互相連接,同一層之間的神經(jīng)元沒有聯(lián)系,模型結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP 神經(jīng)網(wǎng)絡(luò)模型算法主要由兩部分組成,即數(shù)據(jù)的前向計(jì)算和計(jì)算誤差的反向傳播。前向計(jì)算時,數(shù)據(jù)經(jīng)過輸入層→隱含層→輸出層計(jì)算得到模型結(jié)果,在計(jì)算過程中,每層神經(jīng)元只會影響下一層的神經(jīng)元,與本層神經(jīng)元和前層神經(jīng)元沒有關(guān)聯(lián)。當(dāng)模型計(jì)算結(jié)果達(dá)不到預(yù)期時,則需要進(jìn)行誤差的反向傳播計(jì)算。通過前向計(jì)算和誤差反向傳播這兩個過程不斷的交替進(jìn)行, 使用最速下降法不斷尋求更加合理的權(quán)向量,從而使模型計(jì)算結(jié)果誤差函數(shù)達(dá)到最小值。
多元線性回歸方程的建立方法為:經(jīng)過分析,對已經(jīng)挑選到的k個預(yù)報因子X1,X2,…,Xk通過回歸分析,建立這些因子與預(yù)報對象y的關(guān)系,其數(shù)學(xué)模型為:
(1)
式中:β0,β1,…,βk等為回歸方程中的回歸系數(shù),同時也被稱為預(yù)報系數(shù),y=[y1,y2,…,yn]T是y的n次觀測值,Xi=[x1i,x2i,…,xni]T為多元線性回歸方程實(shí)測預(yù)報因子的值,ε=[ε1,ε2,…,εn]T為多元線性回歸方程的殘差項(xiàng)。
將上式應(yīng)用最小二乘法可導(dǎo)出如下方程組:
(2)
(3)
(4)
(5)
根據(jù)最小二乘估計(jì)法可得:β=(XTX)-1XTy與β0,β1,…,βk確定后,對預(yù)報時段進(jìn)行預(yù)報,同時可以對訓(xùn)練樣本進(jìn)行模擬并統(tǒng)計(jì)合格率。
Elman 神經(jīng)網(wǎng)絡(luò)包含信息的延時和反饋,是一種非常典型的動態(tài)遞歸神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)模型自 1990 年被J.L.Elman提出之后,已經(jīng)在全世界范圍內(nèi)得到了廣泛的應(yīng)用。遞歸神經(jīng)的動態(tài)特性主要體現(xiàn)在網(wǎng)絡(luò)信號的延時遞歸,即模型某時刻的輸出結(jié)果不僅僅與該時刻的模型輸入值有關(guān),同時也與該時刻以前的輸入值有關(guān),這就是網(wǎng)絡(luò)系統(tǒng)動態(tài)性的體現(xiàn)。動態(tài)系統(tǒng)不僅有優(yōu)勢,同時也存在一些問題:系統(tǒng)中的遞歸信號會隨時間不斷變化,因此系統(tǒng)在運(yùn)行過程中存在穩(wěn)定性問題。所以在神經(jīng)網(wǎng)絡(luò)模型權(quán)值賦值時需要考慮其合理性,否則神經(jīng)網(wǎng)絡(luò)在運(yùn)行過程中容易崩潰。因此在遞歸型神經(jīng)網(wǎng)絡(luò)模型的設(shè)計(jì)和應(yīng)用中需要關(guān)注網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性,以保證遞歸神經(jīng)網(wǎng)絡(luò)模型能夠正常的運(yùn)行。
Elman神經(jīng)網(wǎng)絡(luò)作為一種動態(tài)反饋模型,不僅僅具有該類模型都有的輸入層、隱含層和輸出單元,同時還有一個特殊的聯(lián)系單元。這個單元的作用是用來記錄隱含層之前的輸出值,也可以稱它為延時算子,由于這個延時算子的存在,才使Elman 神經(jīng)網(wǎng)絡(luò)具有動態(tài)記憶的能力。Elman神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示。
圖2 Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
本文使用了BP神經(jīng)網(wǎng)絡(luò)模型、多元線性回歸模型和Elman神經(jīng)網(wǎng)絡(luò)模型進(jìn)行徑流中長期預(yù)報,為了集合上述模型各自的優(yōu)勢,減少模型計(jì)算誤差,提高中長期徑流預(yù)報的精度,現(xiàn)采用加權(quán)平均法對以上多個模型進(jìn)行綜合分析。在建立多模型集合預(yù)報方法時,最重要的是確定各個模型的權(quán)重,而對權(quán)重分配影響最大的兩個因素分別是預(yù)報精度和穩(wěn)定性[18]?;谏鲜隼碚?,建立多模型集合預(yù)報的過程如下所示。
(1)多模型權(quán)重確定。模型穩(wěn)定性主要表現(xiàn)在兩個方面,即波動幅度和整體波動性。其中波動幅度由最大誤差值和最小誤差值的差值進(jìn)行表示,其計(jì)算方法如下所示:
Eb=Dmax-Dmin
(6)
式中:Eb為波動幅度;Dmax、Dmin分別為最大、最小相對誤差。
整體波動性則體現(xiàn)在多數(shù)預(yù)報結(jié)果相對變化的大小,預(yù)報模型的整體波動性計(jì)算如下式:
(7)
式中:Ez為整體波動幅度;Di,j為預(yù)測的第i,j個預(yù)測月份的相對誤差;n為預(yù)報樣本數(shù)量。
模型精度則用相對誤差的均方根表示,計(jì)算公式如下:
(8)
多模型集合預(yù)報首先要保證預(yù)報結(jié)果的精度不降低,其次要考慮整體的波動性和波動幅度[18]。設(shè)共有m個預(yù)報模型,第i個(i≤3)預(yù)報模型的權(quán)重計(jì)算如下所示:
(9)
(2)上述權(quán)重分配的過程中主要是考慮了穩(wěn)定度和精度,該分配方法能使加權(quán)平均值與真實(shí)值更加接近,同時也會使計(jì)算誤差趨于穩(wěn)定,因此可以采用最小二乘法集合模型架構(gòu)。設(shè)集合模型每個月份的預(yù)報結(jié)果為p,則有:
(10)
式中:a′、b′為任意的實(shí)數(shù);ak為各個中長期徑流預(yù)報模型的預(yù)報結(jié)果。
預(yù)報因子是影響預(yù)報對象的前期因素,在多元回歸方程中是作為自變量,因此對它的正確挑選是預(yù)報結(jié)果好壞的關(guān)鍵因素。在挑選徑流中長期預(yù)報因子時,最先需要考慮的因素是預(yù)報因子與徑流之間的物理聯(lián)系[19];其次要對預(yù)報因子及徑流數(shù)據(jù)進(jìn)行處理,為了能夠挑選出和預(yù)報對象有密切聯(lián)系的預(yù)報因子,同時要保證各預(yù)報因子之間的相關(guān)性最小,避免選取的預(yù)報因子相互重復(fù)。由于漓江流域歷史資料不全,所掌握的降雨資料有限且缺測漏測時間長,因此本模型中預(yù)報因子的挑選考慮僅局限在流量因子范圍內(nèi)。
統(tǒng)計(jì)分析漓江流域桂林(三)水文站1958-2016年的實(shí)測年徑流序列,計(jì)算得桂林站多年平均徑流量為128.09 m3/s。根據(jù)實(shí)測徑流資料,采用差積曲線法,進(jìn)行徑流系列代表性分析,桂林站年徑流差積曲線圖見圖3。
從差積曲線計(jì)算結(jié)果可以看出,桂林站年徑流系列豐枯交替變化明顯,具有連豐連枯、豐枯交替的規(guī)律,整個系列為完整的豐平枯周期,具有比較好的代表性。
本文采用了4種方法進(jìn)行中長期預(yù)報,用4種模型對2016年流量數(shù)據(jù)分別進(jìn)行月、旬尺度預(yù)報計(jì)算。其中月預(yù)報是對2016年一整年以月尺度進(jìn)行預(yù)報,旬預(yù)報是指2016年1月上旬到2016年3月下旬。以上述3種時間尺度預(yù)報結(jié)果對模型進(jìn)行檢驗(yàn)。
采用的BP和ELMAN神經(jīng)網(wǎng)絡(luò)模型輸入層、隱含層和輸出層神經(jīng)元個數(shù)分別為t、8和1個,t為輸入層神經(jīng)元個數(shù),視各時間尺度的具體情況而不同。BP神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)率為0.77,沖量因子為0.95,誤差精度為0.05,最大訓(xùn)練次數(shù)為10 000 次。ELMAN神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)率為0.48,誤差精度為0.001,最大迭代次數(shù)為10 000 次。
當(dāng)一次水文預(yù)報的誤差在許可范圍內(nèi)時,即預(yù)報的誤差值小于許可誤差,預(yù)報則被認(rèn)為是合格預(yù)報,合格預(yù)報的次數(shù)和總預(yù)報次數(shù)的百分比稱為預(yù)報合格率[20,21]。許可誤差采用《水文情報預(yù)報規(guī)范》(GB/T22482-2008)規(guī)定的實(shí)測流量的20%[20]。合格率的計(jì)算公式[20]如下所示,其中QR為合格率,n為合格預(yù)報的次數(shù),m為總預(yù)報的次數(shù)。
(11)
按照預(yù)報合格率的大小不同可以將預(yù)報項(xiàng)目精度分為不同的等級。當(dāng)預(yù)報精度達(dá)到乙級及以上時可以作為正式預(yù)報進(jìn)行預(yù)報結(jié)果發(fā)布,精度達(dá)到丙等級時,由于預(yù)報精度不高,僅能作為參考預(yù)報。精度評定等級如表1所示[20]。
表1 預(yù)報項(xiàng)目精度等級表
4種模型的月預(yù)報結(jié)果如表2所示,可以看出:對2016全年的月尺度徑流預(yù)測中,BP神經(jīng)網(wǎng)絡(luò)模型和ELMAN神經(jīng)網(wǎng)絡(luò)模型預(yù)報合格率均為83.3%;多元線性回歸模型預(yù)報合格率為75%;集合預(yù)報模型預(yù)報合格率為91.7%。因此,上述4種模型均能較為準(zhǔn)確的預(yù)報月平均流量,但僅有集合預(yù)報模型可以達(dá)到甲級預(yù)報精度。月預(yù)報徑流過程曲線圖如圖4所示,對比實(shí)測值與各模型結(jié)果來看,BP神經(jīng)網(wǎng)絡(luò)模型和ELMAN神經(jīng)網(wǎng)絡(luò)模型的模擬結(jié)果與實(shí)測值的過程趨勢擬合度最高,且對于峰值的預(yù)報也最接近于實(shí)測值。通過計(jì)算可以得到月徑流預(yù)報總量表如表3所示,可以看出ELMAN神經(jīng)網(wǎng)絡(luò)模型的預(yù)報徑流總量最接近實(shí)測值。
表2 4種模型2016年月預(yù)報流量誤差統(tǒng)計(jì)
圖4 2016年月預(yù)報過程曲線圖
表3 月徑流預(yù)報總量表
旬預(yù)報結(jié)果如表4所示,可以看出:對2016年1月上旬到2016年3月下旬的旬尺度徑流預(yù)測中,BP神經(jīng)網(wǎng)絡(luò)模型和ELMAN神經(jīng)網(wǎng)絡(luò)模型預(yù)報合格率都為66.7%,預(yù)報精度僅能達(dá)到丙級;多元線性回歸模型預(yù)報合格率為77.8%,達(dá)到了乙級預(yù)報精度;而集合預(yù)報模型預(yù)報合格率為88.9%,達(dá)到了甲級預(yù)報精度。旬預(yù)報徑流過程曲線圖如圖5所示,對比實(shí)測值與各模型結(jié)果來看,多元線性回歸模型和集合預(yù)報模型的模擬結(jié)果與實(shí)測值的過程趨勢擬合度較好,且對于峰值的預(yù)報也最接近于實(shí)測值。通過計(jì)算可以得到旬徑流預(yù)報總量表如表5所示,可以看出多元線性回歸模型、BP神經(jīng)網(wǎng)絡(luò)模型與ELMAN神經(jīng)網(wǎng)絡(luò)模型的預(yù)報徑流總量均很接近于實(shí)測值。對于旬均流量,3種單獨(dú)模型中僅有多元線性回歸可以達(dá)到預(yù)報精度要求,而集合了其他3種模型優(yōu)點(diǎn)的集合預(yù)報模型可以將大部分旬的徑流預(yù)報相對誤差控制在20%以內(nèi),可作為正式預(yù)報結(jié)果發(fā)布。
表4 4種模型2016年旬預(yù)報流量誤差統(tǒng)計(jì)
圖5 2016年旬預(yù)報過程曲線圖
表5 旬徑流預(yù)報總量表
本文采用BP神經(jīng)網(wǎng)絡(luò)、多元線性回歸、Elman神經(jīng)網(wǎng)絡(luò)與集合預(yù)報模型對漓江桂林?jǐn)嗝孢M(jìn)行月、旬尺度的中長期徑流預(yù)報,結(jié)果表明:在進(jìn)行月尺度預(yù)報時,三種模型與集合預(yù)報模型均能較為準(zhǔn)確的預(yù)報桂林?jǐn)嗝媪髁?,可以?yīng)用于工程實(shí)際。在進(jìn)行旬尺度預(yù)報時,僅有集合預(yù)報模型可以達(dá)到甲級預(yù)報精度要求。對比分析四種模型預(yù)報結(jié)果得出結(jié)論。
(1)對比三種單獨(dú)模型與集合預(yù)報模型預(yù)報結(jié)果,ELMAN神經(jīng)網(wǎng)絡(luò)模型在月尺度的預(yù)報效果要優(yōu)于其余獨(dú)立模型。這說明神經(jīng)網(wǎng)絡(luò)模型不僅簡化了徑流預(yù)報過程,而且預(yù)報精度較高,可用于解決實(shí)際應(yīng)用中非線性水文問題。此外,Elman神經(jīng)網(wǎng)絡(luò)模型預(yù)報效果較BP神經(jīng)網(wǎng)路模型預(yù)報精度更高,這說明Elman模型在結(jié)構(gòu)中承接層的設(shè)置加強(qiáng)了模型對動態(tài)信息的處理能力,具有適應(yīng)時變特性的能力[22]。而多元線性回歸模型在旬尺度的預(yù)報效果較優(yōu)于其余獨(dú)立模型,但僅有集合預(yù)報能夠?qū)鹆终局虚L期徑流預(yù)報進(jìn)行作業(yè)預(yù)報,這說明集合預(yù)報有效地減小了模型誤差。
(2)集合預(yù)報模型在月、旬尺度的預(yù)報效果均遠(yuǎn)遠(yuǎn)高于其余三種模型。這說明不同中長期徑流預(yù)報模型具有不同特點(diǎn),集合預(yù)報模型集合了三種模型各自的優(yōu)勢,有效地減小了模型計(jì)算誤差,使誤差趨于穩(wěn)定,增加了預(yù)報模型的穩(wěn)定性,具有相當(dāng)高的工程實(shí)用性。
(3)受限于原始輸入資料的匱乏,模型預(yù)報因子較少,導(dǎo)致在進(jìn)行精度要求較高的旬尺度預(yù)報時,BP神經(jīng)網(wǎng)絡(luò)模型、Elman神經(jīng)網(wǎng)絡(luò)模型預(yù)報效果較差。未來可考慮引入更多預(yù)報因子如大氣環(huán)流指標(biāo)進(jìn)行篩選,可以進(jìn)一步提升桂林?jǐn)嗝娴闹虚L期徑流預(yù)報模型精度。