本發(fā)明涉及河流流域水文預(yù)測,尤其涉及一種基于數(shù)據(jù)驅(qū)動的滾動式徑流預(yù)報方法及系統(tǒng)。
背景技術(shù):
1、徑流預(yù)報在防洪減災(zāi)等領(lǐng)域具有重要作用,目前徑流預(yù)報的方法主要包括水文模型預(yù)報和數(shù)據(jù)驅(qū)動兩種。水文模型能夠很好地對產(chǎn)匯流過程進(jìn)行描述,但建模過程需要較高的專業(yè)知識,且參數(shù)率定較為困難,針對不同河流流域需要分別建模,泛化能力不足。隨著水文歷史數(shù)據(jù)的不斷積累,數(shù)據(jù)驅(qū)動模型借助海量歷史數(shù)據(jù)實(shí)現(xiàn)深層次分析,能夠挖掘出歷史數(shù)據(jù)中隱藏的規(guī)律,逐漸展示出良好的適應(yīng)性和泛化能力。采用神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、梯度提升決策樹等數(shù)據(jù)模型,對汛期有洪水、汛期無洪水、枯期等多種情況下的徑流進(jìn)行預(yù)報,需要越來越多的數(shù)據(jù),以及越來越多的模型參數(shù),同時也造成了訓(xùn)練過程越來越困難。
2、經(jīng)過研究,發(fā)現(xiàn)對于特定地域,一定的地理環(huán)境下,在相似降雨條件下產(chǎn)生徑流的過程也是相似的,也就是說,根據(jù)歷史相似降雨條件預(yù)測徑流,不僅具有較強(qiáng)的解釋性還能顯著減少參與模型訓(xùn)練的數(shù)據(jù)量,對提高預(yù)報精度以及擴(kuò)展預(yù)測期也具有重要意義。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明提供了一種基于數(shù)據(jù)驅(qū)動的滾動式徑流預(yù)報方法及系統(tǒng),根據(jù)當(dāng)前降雨量特征獲取歷史上相似降雨情境下徑流情況,根據(jù)相似降雨情境下徑流特點(diǎn)對當(dāng)前徑流進(jìn)行預(yù)報,使用相對較小數(shù)據(jù)量實(shí)現(xiàn)徑流預(yù)報,對防洪減災(zāi)、提高預(yù)報精度等方面具有重要意義。
2、第一個方面,本發(fā)明公開了一種基于數(shù)據(jù)驅(qū)動的滾動式徑流預(yù)報方法,包括以下步驟:
3、步驟s101:根據(jù)滑窗大小l和滑窗步長step對歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分,構(gòu)建樣本數(shù)據(jù)庫;其中,l和step為整數(shù),l大于step,step大于0;
4、步驟s102:獲取當(dāng)前徑流序列r和當(dāng)前降雨量序列f;其中,r={rt-1,rt-2,…,rt-l+1},f={ft-1,ft-2,…,ft-l+1},t表示當(dāng)前時刻;
5、步驟s103:使用當(dāng)前降雨量序列f在樣本數(shù)據(jù)庫中進(jìn)行相似度計(jì)算,獲取相似度最高的k個樣本;
6、步驟s104:基于當(dāng)前徑流序列r、當(dāng)前降雨量序列f、相似度最高的k個樣本,利用徑流預(yù)報模型計(jì)算徑流預(yù)報值rt;其中,徑流預(yù)報模型的類型包括時序神經(jīng)網(wǎng)絡(luò)模型和加權(quán)均值模型。
7、優(yōu)選地,根據(jù)滑窗大小l和滑窗步長step對歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分,構(gòu)建樣本數(shù)據(jù)庫,具體為:
8、讀取歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù),將歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)在時間軸上進(jìn)行對齊,根據(jù)設(shè)定的滑窗步長step在歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)上滑動,每滑動一個滑窗步長step獲得一個樣本,每個樣本包括l個歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)。
9、作為進(jìn)一步的改進(jìn)方案,樣本數(shù)據(jù)庫還包括歷史預(yù)測數(shù)據(jù);歷史預(yù)測數(shù)據(jù)包括徑流預(yù)測值和徑流預(yù)報模型的類型;
10、讀取歷史預(yù)測數(shù)據(jù);將歷史預(yù)測數(shù)據(jù)與歷史徑流數(shù)據(jù)以及歷史降雨量數(shù)據(jù)在時間軸上進(jìn)行對齊,根據(jù)設(shè)定的滑窗步長step在歷史預(yù)測數(shù)據(jù)、歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)上滑動,每滑動一個滑窗步長step獲得一個樣本,每個樣本包括l個歷史徑流數(shù)據(jù)、l個歷史降雨量數(shù)據(jù)、l個歷史預(yù)測數(shù)據(jù)。
11、優(yōu)選地,使用當(dāng)前降雨量序列f在樣本數(shù)據(jù)庫中進(jìn)行相似度計(jì)算,相似度最高的k個樣本,具體為:
12、遍歷樣本數(shù)據(jù)庫中的每個樣本,將該樣本的l個歷史降雨量數(shù)據(jù)組織為向量,計(jì)算該向量與當(dāng)前降雨量序列f={ft-1,ft-2,…,ft-l+1}的相似度;根據(jù)相似度對樣本進(jìn)行降序排序,獲取相似度最高的k個樣本,以及相似度最高的k個樣本的相似度集合s,s={s1,s2,…,sk}。
13、作為進(jìn)一步的改進(jìn)方案,使用k-means算法對樣本數(shù)據(jù)庫中的歷史降雨量數(shù)據(jù)進(jìn)行聚類,獲得n個簇以及每個簇的特征向量;計(jì)算當(dāng)前降雨量序列f與每個簇的特征向量的相似度;根據(jù)相似度對簇進(jìn)行降序排序,獲取前a個簇;獲取前a個簇中的樣本;計(jì)算前a個簇中每個樣本與當(dāng)前降雨量序列f={ft-1,ft-2,…,ft-l+1}的相似度;根據(jù)相似度對前a個簇中的樣本進(jìn)行降序排序,獲取相似度最高的k個樣本,以及相似度最高的k個樣本的相似度集合s,s={s1,s2,…,sk}。
14、優(yōu)選地,利用徑流預(yù)報模型計(jì)算徑流預(yù)報值rt,具體為:按照公式(1)對相似度集合s進(jìn)行歸一化處理;
15、??????????????????????(1);
16、其中,1≤i≤k,?1≤j≤k,按照公式(2)使用加權(quán)均值模型計(jì)算徑流預(yù)報值rt,
17、????????(2)。
18、作為進(jìn)一步的改進(jìn)方案,獲取相似度最高的k個樣本中第i個樣本中的第l個歷史徑流數(shù)據(jù)以及相應(yīng)的歷史預(yù)測數(shù)據(jù);按照公式(3)計(jì)算預(yù)測誤差,
19、???????????(3);
20、按照公式(1)對相似度集合s進(jìn)行歸一化處理;
21、?????????????????????(1);
22、其中,1≤i≤k,?1≤j≤k,按照公式(4)使用加權(quán)均值模型計(jì)算徑流預(yù)報值rt,
23、???(4)。
24、優(yōu)選地,利用徑流預(yù)報模型計(jì)算徑流預(yù)報值rt,具體為:
25、利用k個相似樣本訓(xùn)練時序神經(jīng)網(wǎng)絡(luò)模型;使用當(dāng)前降雨量序列f輸入訓(xùn)練好的時序神經(jīng)網(wǎng)絡(luò)模型,獲得徑流預(yù)報值rt。
26、作為進(jìn)一步的改進(jìn)方案,獲得當(dāng)前徑流序列r={rt-1,rt-2,…,rt-l+1}以及對應(yīng)的預(yù)測值序列pr={prt-1,prt-2,…,prt-l+1};
27、按照公式(5)計(jì)算預(yù)測總誤差α,
28、?????????(5);
29、其中,t-1≤m≤t-l+1,利用公式(6)對徑流預(yù)報值rt進(jìn)行修正,得到修正后的徑流預(yù)報值,
30、?????????????(6)。
31、第二個方面,本發(fā)明公開了一種基于數(shù)據(jù)驅(qū)動的滾動式徑流預(yù)報系統(tǒng),包括以下功能模塊:
32、樣本數(shù)據(jù)庫構(gòu)建模塊:根據(jù)滑窗大小l和滑窗步長step對歷史徑流數(shù)據(jù)和歷史降雨量數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分,構(gòu)建樣本數(shù)據(jù)庫;其中,l和step為整數(shù),l大于step,step大于0;
33、數(shù)據(jù)獲取模塊:獲取當(dāng)前徑流序列r和當(dāng)前降雨量序列f;其中,r={rt-1,rt-2,…,rt-l+1},?f={ft-1,ft-2,…,ft-l+1},t表示當(dāng)前時刻;
34、相似樣本獲取模塊:使用當(dāng)前降雨量序列f在樣本數(shù)據(jù)庫中進(jìn)行相似度計(jì)算,獲取相似度最高的k個樣本;
35、徑流預(yù)報模塊:基于當(dāng)前徑流序列r、當(dāng)前降雨量序列f、相似度最高的k個樣本,利用徑流預(yù)報模型計(jì)算徑流預(yù)報值rt;其中,徑流預(yù)報模型的類型包括時序神經(jīng)網(wǎng)絡(luò)模型和加權(quán)均值模型。
36、本發(fā)明通過對當(dāng)前降雨量特征與樣本數(shù)據(jù)庫中歷史降雨特征進(jìn)行相似度計(jì)算,獲得k個較為相似的樣本,利用相似樣本的徑流特征,通過加權(quán)計(jì)算均值的方式預(yù)測當(dāng)前徑流,或者,利用相似樣本訓(xùn)練時序神經(jīng)網(wǎng)絡(luò)模型,通過時序神經(jīng)網(wǎng)絡(luò)模型預(yù)報徑流,減少了參與徑流預(yù)報的數(shù)據(jù)規(guī)模,提高了預(yù)報的精度、速度,對汛期防洪減災(zāi)具有重要意義。