史騰飛,吳娟
(1.鄭州科技學院,河南鄭州,450064;2.綏化學院,黑龍江綏化,152061)
水文預測能夠為水資源的管理、分配、以及自然災害預警等方面的工作提供重要的依據,其重要性不言而喻。而近年來,隨著自然環境變化的不確定性進一步加劇,這對于水文領域的預報工作無疑提出了更高的要求,在這項工作中應用各種先進技術作為支撐已是大勢所趨。為此,在相關工作中應當引入人工神經網絡技術,以實現更為精準的水文預測。
人工神經網絡簡稱為ANN,始于上世紀40年代,隨著理論研究的不斷深入,人工神經網絡也得到了不斷發展和完善。自上世紀90年代以來,人工神經網絡相關的研究在我國逐步展開,并已經取得了較大的進展。整體來看,人工神經網絡具有以下幾方面的特點:一是容錯性較好;二是具有自組織、自學習和推理等多方面的自適應能力;三是非線性連接,以確保系統具有更高性能[1-2]。
人工神經算法主要通過模擬人的大腦組織進行運算,其主要由以下三部分構成:“樹突”、“軸突”和“細胞體”,三者之間相互連接,同時也各自具有特定的功能[3]。信息由“樹突”輸入,經“細胞體”處理后,再由“軸突”輸出,傳遞到下一個“神經元”當中。當然,如輸出到下一個“神經元”的信號參數尚未達到臨界值,則下一個“神經元”則處于抑制狀態,不會傳遞相應的信號。相對于人的大腦的細胞神經元而言,人工神經網絡算法在此基礎上進行了一定的簡化,神經元的輸入和輸出的關系可表示為:

在公式中,xj(j為正整數)是從各個神經元組織傳遞進來的信息,wij則表示神經元i和神經元j之間傳遞的權值。
BP神經網絡屬于多層前饋型人工神經網絡的一部分,其主要基于誤差反向傳播算法進行。整體來看,BP神經網絡具有以下幾方面的特點。
一是信息儲存采用分布式結構,數據信息的存儲并不依賴于單個處理器,而是網絡中每個處理器都分別儲存部分信息。二是采用信息并行處理,信息在神經網絡模型中的處理和儲存能夠做到同步完成,與以往的處理方式相比,其效率和質量均得到顯著提升。三是具有更強的自適應和自學習能力,能夠通過對其訓練來逐步確定合適的權值,以更好適應外界環境的變化。四是容錯能力和魯棒性較強,即便是損壞或丟失了部分網絡信息,模型仍然有能力找回并恢復原來的網絡信息,以確保網絡仍能夠繼續運轉[4-5]。
該地區位于我國西北地區某河流下游的綠洲地帶,其經濟社會發展的水源全部依靠一條起源于冰川融水的河流。近年來,該地區的耕地面積不斷擴大,導致用水需求逐漸升高,部分地區出現了地下水超量開采的情況。在這種情況下,工作人員在該地區設置了數十個地下水觀測點位,對相關的數據信息進行監測。但由于這種觀測依賴于人工采樣,且采樣時間和采樣時機不固定,因此造成部分數值的誤差較大,甚至部分數據長期缺失,影響了觀測的準確性。為此,需要采用人工神經網絡技術,以提高水文預測效果。
人工神經網絡參數的確定主要分為以下幾個方面:
一是對隱含層和各層神經元的數量進行確認,在本次設計中,為了確保提高模型精度不會消耗大量的樣本訓練時間,需要采用式算法進行各隱含層對應神經元個數的確認,在開始階段使用少量神經元,并依次增加神經元的數量,找到能夠使得模型訓練和預測都能達到較高精度的神經元數量。
二是對激勵函數進行選擇,激勵函數主要用于“神經元”中的輸入信號求和以及其他的函數運算,以得到輸出信號。在本次設計中,主要采用單極性Sigmoid函數,其公式如下:

這種函數的非線性系數放大功能較好,能夠更好逼近網絡模型中輸出和輸入的非線性函數關系,為此本次設計中選用這種函數。
三是對模型訓練次數進行確定,為避免神經元過多導致的過度擬合,因此在實際操作過程中,將原始數據按照特定比例分為訓練樣本和測試樣本兩部分,預先設定訓練次數,待訓練完成后,使用余下的測試樣本,對模型的誤差精度進行檢驗,再通過多次類似的操作,找到最適合模型的訓練次數即可。
四是對樣本數據進行預處理,在本次設計中,主要采用標準化法,將樣本數據映射到相同的區間,以避免出現模型精度下降的問題。同樣,最終得到模型的預測結果時,要按變換的逆變換得到標準的實際值。
五是設定恰當的學習速率,學習速率的數值一般在0.001-0.800之間,如學習速率取值過大則會造成模型訓練過程中權值、閾值和模度等參數出現震蕩現象,導致模型不夠穩定;而學習速率取值過小又會造成訓練時間過長,影響到模型的效率。為此,在本次設計中,技術人員通過“試錯法”進行反復試驗,最終得到最合適的學習速率數值。
六是對誤差期望值進行設定,一般來說,期望誤差值在0.0001-0.0500之間,其主要由神經網絡隱含層神經元的數量決定。當這個數值過小時,容易出現過度擬合的情況,導致模型的泛化能力減弱。為此,在本次設計中,技術人員通過進行反復試驗,確定最合理的誤差期望值。
(1)數據的歸一化處理
在本次設計中,針對采集到的數據而言,取前70%用于模型的訓練,其余部分則用于檢驗模型以及預測。當然,在使用這些數據之前,還需要剔除其中的異常值,并以插值代替,以提高精確度。考慮到需要較快的速度進行網絡訓練,因此歸一化后的數據全部變換到[0.05,0.95]區間內,其數學表達式為:

預測結果可通過輸出數據運用此公式的逆函數得到。
(2)預測模型性能評價標準
在本次設計中,為評估預測模型的性能,通常采用擬合度、納什效率系數和百分比偏差進行預測,其中,擬合度代表觀測值與預測值曲線的擬合程度,其取值區間為[0,1],越接近1則證明擬合的優度更好,反之亦然;納什效率系數則一般用來驗證水文模型預測結果的好壞,其越接近1,則證明模擬結果越好,模型具有越高的可信度,如接近0,則表明模擬結果接近于觀測值的平均水平,即整體結果是可信的,若其為負數,則證明該模型“不可信”;百分比偏差則用于衡量模型輸出小于或大于相應的觀測值的百分比,并可以清楚地顯示模型的模擬性能。當其為正值時,證明模型的估計值過小,負值表示模型估計值大于實際值。在本次設計中,該人工神經網絡模型的擬合度為0.81,納什效率系數為0.56,且百分比偏差絕對值小于25%,證明該模型非常好。
(3)輸入變量統計特征
用于模型驗證的數據包括該地區所有觀測站記錄的歷史數據集合。
在神經網絡的應用環節當中,考慮到尚不存在一個統一的準則,且預測系統輸入和輸出之間的變量也不能被模型表達和分析,因此模型輸入變量的選擇只能從多個實驗結果中找出最合適的組合。考慮到訓練階段和測試階段各類型的數據存在著一定的差異,因此本次研究也對各個變量的影響程度進行了分析,最終以觀測站的降水量數據作為數據序列。
(4)模型結構與輸出
在本次設計中,使用三層BP神經網絡對模型進行訓練和測試。在訓練階段逐漸增加隱層神經元數量,以提高神經網絡的預測性能。當訓練階段已經能夠取得最佳的輸出結果后,即可確定隱層神經元的數量。在神經網絡訓練過程中,預先設定了網絡參數,通過網絡前向傳播得到模型誤差。上一步獲得的誤差信號將從輸出層傳播到輸入層,以調整模型中的參數。此過程將繼續,直到網絡輸出與預設目標匹配。
在該環節中,主要采用梯度下降算法進行訓練,在開始時設定神經元個數為1,然后神經元的數量逐漸增加。最后,選擇最佳的神經元個數作為模型的訓練結構。一般情況下,隱層神經元的數量提高也會使得訓練效果提高,但也容易造成模型準確性的下降。為此,在本次設計中,設置隱層神經元數量為7。
如上文所述,影響神經網絡模型訓練和預測性能的原因是多方面的。為了提高模型的訓練和預測精度,后續的模型仍需要在很多方面進行調整。為此,首先,針對不同的網絡模型選擇適當的模型誤差目標,避免模型出現過度學習而影響預測精度的情況;其次,確定合適的隱層神經元數量,以提高模型學習樣本信息的能力,有效提高模型預測的準確性。最后,選擇與預測變量相關性強的變量,剔除與預測變量不相關的變量,這對于提高模型的訓練和預測精度至關重要。通過相關實驗,其預測模型性能指標如表1所示。

表1 人工神經網絡預測模型的性能指標

D6 0.811 0.826 -21.30 D7 0.887 0.878 -19.87 D8 0.906 0.916 -15.53
根據表1中的預測結果不難看出,本次設計的神經網絡模型具有良好的預測精度,能夠較為準確地進行水文領域的相關預測行為,從而充分發揮其自身的特點和優勢。
人工神經網絡在水文領域中的應用優勢較為突出,能夠起到以往人工預測所無法達到的作用。當然,目前人工神經網絡的應用尚處于初步的發展階段,因此,在今后的相關工作中,應當對其做進一步的優化和創新,對算法等內容進行改進,以克服現在尚存在的不足,更好滿足預測精度與建模效率等需要。