本發明屬于水文預報技術領域,更具體地,涉及一種耦合神經網絡和分布式vic模型的水文預報方法及系統。
背景技術:
傳統的可變下滲能力(variableinfiltrationcapacity,vic)水文模型能夠考慮流域內降雨、蒸發、植被覆蓋、土壤等自然條件的空間變化情況,但其簡單的線性疊加匯流模塊很難反映河道匯流過程中人類活動對其造成的影響。神經網絡模型能夠對多維非線性問題進行辨識和模擬,但在相同的參數配置下其優化結果存在浮動,存在一定的不確定性和不可重復性。
綜上,現有水文預報方法很難反映河道匯流過程中人類活動對其造成的影響,且現有水文預報方法簡單結合神經網絡模型也存在不確定性和不可重復性。
技術實現要素:
針對現有技術的缺陷,本發明的目的在于現有水文預報方法很難反映河道匯流過程中人類活動對其造成的影響,且現有水文預報方法簡單結合神經網絡模型也存在不確定性和不可重復性的技術問題。
為實現上述目的,第一方面,本發明實施例提供了一種耦合神經網絡和分布式vic模型的水文預報方法,包括:根據當前流域降雨量量、溫度、地形、植被覆蓋以及土壤品種信息,建立流域內各子流域的vic模型,所述vic模型用于模擬各子流域當前徑流序列;分析每個子流域前期實測徑流序列與每個子流域當前實測徑流序列的相關性,依據赤池信息準則(akaikeinformationcriterion,aic)準則從每個子流域前期實測徑流序列中選取與每個子流域當前徑流序列的相關性高于相關性閾值的序列集;將為每個子流域當前徑流序列選取的序列集作為輸入構建三層神經網絡模型,對所述vic模型模擬的每個子流域當前徑流序列進行校正;將校正后的各子流域的當前徑流序列作為輸入構建三層神經網絡模型,對各子流域的徑流序列進行匯流并校正得到流域出流序列;其中,三層神經網絡獨立運行多次,取區間值作為最終校正結果,三層神經網絡用于概化大壩、水庫或農業對流域的調蓄作用,提高水文預報精度。
其中,相關性閾值可取經驗值,也可根據實際需要選擇,例如可取0.9。
本發明引入aic準則與互相關性方法,先使用神經網絡模型對子流域的模擬誤差進行校正,再輸入神經網絡匯流模型中,極大的減小了vic模型模擬誤差,可以概化大壩、水庫或農業對流域的調蓄作用,提高水文預報精度。本發明使用神經網絡區間預報均值法,獨立運行多次神經網絡,取平均值作為最終模擬結果,能夠減少不確定性,均化模擬值,提高適用性。
可選地,每個子流域校正后的當前徑流序列為:
其中,
可選地,當子流域為三個時,流域出流序列為:
其中,qall(t)表示在t時刻的流域出流序列,
可選地,該方法還包括:使用最速下降法對三層神經網絡模型進行訓練。
可選地,該方法還包括:根據率定與校驗期數據,運用嘗試錯誤法(tryanderror)確定三層神經網絡隱含層的節點數。
第二方面,本發明實施例提供了一種耦合神經網絡和分布式vic模型的水文預報系統,包括:vic模型建立模塊、前期序列集選取模塊、徑流序列校正模塊以及流域出流序列校正模塊。
vic模型建立模塊,用于根據當前流域降雨量量、溫度、地形、植被覆蓋以及土壤品種信息,建立流域內各子流域的vic模型,所述vic模型用于模擬各子流域當前徑流序列。
前期序列集選取模塊,用于分析每個子流域前期實測徑流序列、vic模型模擬的每個子流域當前徑流序列以及每個子流域當前實測徑流序列的互相關性,依據aic準則從每個子流域前期實測徑流序列中選取與每個子流域當前徑流序列的相關性高于相關性閾值的序列集。
徑流序列校正模塊,用于將為每個子流域當前徑流序列選取的序列集作為輸入構建三層神經網絡模型,對所述vic模型模擬的每個子流域當前徑流序列進行校正。
流域出流序列校正模塊,用于將校正后的各子流域的當前徑流序列作為輸入構建三層神經網絡模型,對各子流域的徑流序列進行匯流并校正得到流域出流序列。
其中,三層神經網絡獨立運行多次,取區間值作為最終校正結果,三層神經網絡用于概化大壩、水庫或農業對流域的調蓄作用,提高水文預報精度。
可選地,徑流序列校正模塊得到的每個子流域校正后的當前徑流序列為:
其中,
可選地,當子流域為三個時,所述流域出流序列校正模塊得到的流域出流序列為:
其中,qall(t)表示在t時刻的流域出流序列,
可選地,徑流序列校正模塊和流域出流序列校正模塊使用最速下降法對三層神經網絡模型進行訓練。
可選地,徑流序列校正模塊和流域出流序列校正模塊根據率定與校驗期數據,運用嘗試錯誤法確定三層神經網絡隱含層的節點數。
總體而言,通過本發明所構思的以上技術方案與現有技術相比,具有以下有益效果:
1、現有vic模型只能適用于不受人類活動影響的理想流域,而本發明通過結合神經網絡模型考慮人類活動對出流的影響,可模擬大壩、水庫、農業、工業用水對河道的影響。
2、現有適用于子流域的vic模型模擬結果存在一定誤差,vic模型直接用于輸入神經網絡匯流模型,會影響匯流結果。本發明引入aic準則與互相關性方法,先使用神經網絡模型對子流域的模擬誤差進行校正,再輸入神經網絡匯流模型中,極大的減小了vic模型模擬誤差。
3、現有技術中神經網絡在相同的結構下運行的結果存在一定的隨機性,結果存在浮動。本發明使用神經網絡區間預報均值法,獨立運行多次神經網絡,取平均值作為最終模擬結果,能夠減少不確定性,均化模擬值,提高適用性。
附圖說明
圖1為本發明實施例提供的一種耦合神經網絡和分布式vic模型的水文預報方法流程示意圖;
圖2為本發明實施例提供的各子流域徑流與總流域出流相關性示意圖;
圖3為本發明實施例提供的一種耦合神經網絡和分布式vic模型的架構示意圖;
圖4為本發明實施例提供的一種耦合神經網絡和分布式vic模型的水文預報系統結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
圖1為本發明實施例提供的一種耦合神經網絡和分布式vic模型的水文預報方法流程示意圖,如圖1所示,包括步驟s101至步驟s104。
s101,根據當前流域降雨量量、溫度、地形、植被覆蓋以及土壤品種信息,建立流域內各子流域的vic模型,所述vic模型用于模擬各子流域當前徑流序列。
s102,分析每個子流域前期實測徑流序列、vic模型模擬的每個子流域當前徑流序列以及每個子流域當前實測徑流序列的互相關性,依據aic準則從每個子流域前期實測徑流序列中選取與每個子流域當前徑流序列的相關性高于相關性閾值的序列集。
s103,將為每個子流域當前徑流序列選取的序列集作為輸入構建三層神經網絡模型,對所述vic模型模擬的每個子流域當前徑流序列進行校正。
s104,將校正后的各子流域的當前徑流序列作為輸入構建三層神經網絡模型,對各子流域的徑流序列進行匯流并校正得到流域出流序列;其中,三層神經網絡獨立運行多次,取區間值作為最終校正結果,三層神經網絡用于概化大壩、水庫或農業對流域的調蓄作用,提高水文預報精度。
可選地,每個子流域校正后的當前徑流序列為:
其中,
可選地,當子流域為三個時,計算子流域序列與總流域序列的相關性,如圖2所示為各子流域徑流與總流域出流相關性示意圖,選取每個子流域輸入序列個數分別為r、m和n。
流域出流序列為:
其中,qall(t)表示在t時刻的流域出流序列,
可選地,該方法還包括:使用最速下降法對三層神經網絡模型進行訓練。
可選地,該方法還包括:根據率定與校驗期數據,運用嘗試錯誤法確定三層神經網絡隱含層的節點數。
圖3本發明實施例提供的一種耦合神經網絡和分布式vic模型的架構示意圖。
如圖3所示,以一個流域包括三個子流域為例,首先分別建立各個子流域的vic模型,詳細步驟如下:
在獲取流域降雨、溫度、地形、植被覆蓋、土壤等數據的基礎上,從上至下分別建立流域內各子流域的vic模型。該模型通過計算能量平衡、植被蒸騰和土壤蒸發、冠層水量平衡、地表徑流、基流以及產匯流過程得到各子流域的出流過程。
vic模型的能力平衡計算主要包括地表溫度、感熱通量、潛熱通量以及地熱變化,其中感熱通量、潛熱通量以及地熱變化由地表溫度確定,潛熱通量是水量平衡和能力平衡的連接因子。地表覆蓋的能量由下式計算:
rn=h+ρwlee+g
rn=(1-α)rs+ε(rl-σts4)
其中rn是凈輻射,h是感熱通量,ρw是水密度,le是水的蒸發潛熱,ρwlee是潛熱通量,e包括植被蒸發、蒸騰以及裸土蒸發,g是地表熱通量。α是某類植被覆蓋類型的地表反射率,rs是向下的短波輻射,ε是比輻射率,rl是向下的長波輻射,σ是stefan-boltzmann常數。ts是地表溫度,ta是大氣溫度,rh是熱通量的空氣動力學阻抗。地表熱通量g通過對兩層土壤的熱量估計來計算:cs是土壤熱傳導能力系數,t1-是d1處在時段末土壤溫度,t2是d2深度的恒溫度,κ是土壤的熱傳導系數。
vic模型規定流域按網格劃分,在每個計算網格內,地表假定有n+1種類型,第1到第n種地表為植被,第n+1種地表為裸土。對于每個網格內土層間的水分交換、蒸發及產流,是由不同的植被類型決定的,最終是通過每種植被類型的葉面積指數、植被阻抗和植被根系在上下層土壤中的比例來計算的,這些植被參數根據植被的蒸散發潛力以及空氣動力學阻抗、地表蒸發阻抗和葉面氣孔阻抗等屬性分別確定的。
vic模型中的土壤分為三層,第一層表示有很小降雨發生時,立即會有裸土蒸發,第二層土壤產生直接徑流,第三層控制基流的發生。對于土壤飽和容量分布不均勻對直接徑流的影響,vic模型引進流域飽和容量曲線的思想,且只針對上層土壤。基于大尺度的考慮,忽略不透水面積上的計算。
根據前期各子流域實測流量自相關信息,運用互相關方法結合aic準則,選取各子流域的前期流量值作為輸入分別構建三層神經網絡模型,對子流域模擬結果進行校正,使用最速下降法對模型進行訓練,各子流域神經網絡模型獨立運行多次,例如100次,取其區間均值作為最終校正結果。分析每個子流域輸入變量的自相關性,相關性分析公式如下所示:
其中,r表示相關性系數,n表示序列時序個數,j表示子流域的編號,xi,j表示第j個子流域i時刻序列值,xi+1,j表示第j子流域第i+1時刻序列值,
再使用aic準則,優選出出最優的前期輸入變量。aic準則是赤池信息準則,它建立在熵的概念基礎上,可以權衡所估計模型的復雜度和此模型擬合數據的優良性。在一般的情況下,aic可以表示為:aic=2k-2ln(l),其中:k是參數的數量,l是似然函數。假設條件是模型的誤差服從獨立正態分布。為使n轉為觀察數,引入rss(剩余平方和),那么aic變為:aic=2k+nln(rss/n)。各子流域根據所選出的輸入序列,輸入神經網絡模型:
其中
研究神經網絡校正后的各子流域流量與流域總出流的互相關關系,互相關方法結合aic準則,選取各子流域的前期輸入序列作為神經網絡匯流模型的輸入,率定期與檢驗期數據同時運用tryanderror方法獲取隱含層的節點數,模型獨立運行多次,例如100次,取其區間均值作為最終校正結果,該方法概化大壩、水庫、農業等對河道的調蓄作用,可提高水文模擬精度。應用互相關方法結合aic準則,選取每個子流域不同前期輸入量作為輸入,驅動神經網絡匯流模型。
其中qall(t)是流域總出流量,
圖4為本發明實施例提供的一種耦合神經網絡和分布式vic模型的水文預報系統結構示意圖,如圖4所示,包括:vic模型建立模塊、前期序列集選取模塊、徑流序列校正模塊以及流域出流序列校正模塊。
vic模型建立模塊,用于根據當前流域降雨量量、溫度、地形、植被覆蓋以及土壤品種信息,建立流域內各子流域的vic模型,所述vic模型用于模擬各子流域當前徑流序列。
前期序列集選取模塊,用于分析每個子流域前期實測徑流序列與每個子流域當前實測徑流序列的相關性,依據aic準則從每個子流域前期實測徑流序列中選取與每個子流域當前徑流序列的相關性高于相關性閾值的序列集。
徑流序列校正模塊,用于將為每個子流域當前徑流序列選取的序列集作為輸入構建三層神經網絡模型,對所述vic模型模擬的每個子流域當前徑流序列進行校正。
流域出流序列校正模塊,用于將校正后的各子流域的當前徑流序列作為輸入構建三層神經網絡模型,對各子流域的徑流序列進行匯流并校正得到流域出流序列。
其中,三層神經網絡獨立運行多次,取區間值作為最終校正結果,三層神經網絡用于概化大壩、水庫或農業對流域的調蓄作用,提高水文預報精度。
可選地,徑流序列校正模塊得到的每個子流域校正后的當前徑流序列為:
其中,
可選地,當子流域為三個時,所述流域出流序列校正模塊得到的流域出流序列為:
其中,qall(t)表示在t時刻的流域出流序列,
可選地,徑流序列校正模塊和流域出流序列校正模塊使用最速下降法對三層神經網絡模型進行訓練。
可選地,徑流序列校正模塊和流域出流序列校正模塊根據率定與校驗期數據,運用嘗試錯誤法確定三層神經網絡隱含層的節點數。
需要說明的是,圖4還可包括更多或者更少的部件,各部件的功能具體可參見前述圖1、圖2和圖3所示的具體實施例,在此不做贅述。
以上,僅為本申請較佳的具體實施方式,但本申請的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本申請揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本申請的保護范圍之內。因此,本申請的保護范圍應該以權利要求的保護范圍為準。