王長鵬,齊俊,蔡永寧,杲廣文,吳凱
(濟南市勘察測繪研究院,山東 濟南 250101)
水資源是生產生活中的重要自然資源,河流徑流是水文系統的重要內容,河流徑流量預測對于汛期防洪、水運灌溉、河流發電等水資源的有效利用起著重要作用[1]。河流徑流的生成過程是一個巨大的非線性系統,在建模方面難度較大[2]。同時,河流徑流量的影響因素頗多,各項因素的數據單位不統一、數值差異大等客觀條件制約,預測系統要求有較好的數據容錯能力[3]。構建一個預測精度高、預測速度快的河流徑流預測系統,不僅能夠完善理論研究,而且對生產實踐具有指導意義[4]。
當前,國內外在河流中長期徑流量預測這方面的研究還處于摸索階段,提出了諸多的模型與方法,張利平等在2004年利用4種相空間模型對吉林白山水庫的汛期徑流量和月徑流量進行預測,取得了不錯的預測效果[5]。鐘平安等在2007年用小波分析法對水庫入庫徑流量進行預測,分析了預測結果與時間、流域等因素的相關關系[6]。王富強等在2009年用多維關聯規則數據挖掘算法對嫩江江橋站的汛期徑流量進行了預測,結果表明該算法在河流的中長期徑流量預測中有良好應用[7]。Kim等在2006年通過對回歸模型和神經網絡的組合方法對比實驗,得出了組合預測方法相較原來的單項預測方法在預測精度上有了提高[8]。Dehuri S等提出了通過粒子群算法優化BP模型預測徑流量的一種方法,實驗表明兩者結合的神經網絡算法在預測精度和速度上具備一定的優勢[9]。
上述研究具有一定的預測效果,但是,水文系統十分復雜,徑流量與降水、蒸發、人類活動等影響因子之間存在著高度的非線性相關性[10],無法利用單一的數學模型確定建立一個有強大的非線性映射、擬合效果佳的徑流量預測模型,反映水文數據規律。
因此,針對河流徑流量預測方面的問題,本文進行了深入研究并提出了對應的解決方案,通過優化粒子群算法強大的全局尋優效果來確定BP神經網絡最優解的網絡連接權值和閾值,優化它在迭代過程中的收斂速度,將改進的混合算法用于訓練BP神經網絡,并對河流徑流量進行預測,用預先準備好未經過訓練的數據測試改進后的模型在預測精度上是否有提升。
在標準粒子群優化算法(Particle Swarm Optimization,簡稱PSO算法)中,慣性權重ω決定當前速度相對原有速度的加速程度,能夠影響PSO算法的全局搜索和局部搜索能力[11]。由于PSO算法極易早熟,算法后期的時候收斂緩慢,容易在全局最優解附近一直進行尋優,將ω從最大慣性權重值到最小慣性權重值進行遞減的方法,來優化問題的最優解尋找[12]。
慣性權重ω的計算公式為:
(1)
在式(1)中,ωset是一個常數值。為了使尋找全局最優解過程中保證有一個合適的收斂速度,設置一個合理的ωset值獲取到全局最優解。
在式(1)中,di表示的是第i個粒子到最優粒子之間的由式(2)得到的歐幾里得距離:
(2)
在式(2)中,D代表的是每個粒子的問題空間對應的最大維數值,Si,j和Pg,j各自表示的是在第t次的迭代過程中第i個粒子在j維度上的位置值,對應j維位置上最好的粒子,用來求得兩個粒子直接的歐幾里得距離。dmax和dmin分別代表了粒子群中的所有粒子和最優粒子之間的最大、最小歐幾里得距離[13]。當粒子不是當前的最優解時,通過隨時間變化的ω值來調節搜索速度,當計算距離變小時,說明離當前的最優粒子越來越近,反之,則說明離當前的最優粒子越來越遠。

在標準PSO模型中,學習加速常數值c1,c2分別表示每個粒子向pi與pg運動的靠近加速權重數值[14]。通過對粒子當前速度的改變,影響粒子的運動,對粒子目標區域進行搜索,尋找最優解有著重要影響[15],將加速常數c1,c2從距離最優粒子的平均距離和某維度最大距離的比值隨迭代次數變化的方法,來優化問題的最優解尋找。
本文提出了加速常數c1,c2隨迭代次數、所有粒子和最優粒子的平均距離與某維度最大距離比值的非線性變化的一種方案,以實現加速常數c1,c2自動變化的目的。加速常數c1,c2的計算公式為:
(3)

(4)
在式(4)中,N代表的是粒子群的粒子數量。
(5)

當初始階段t較小時,較大的學習常數c1值可以加快粒子群的搜索速度,較快地向全局最優解靠攏;當t逐漸增大時,學習常數c1值隨之減小,較大的學習常數c2值可以保證在全局最優解附近搜索而不跳過。
改進后的IPSO算法相較于標準PSO算法在收斂速度上更快,穩定性更高。改進的IPSO算法計算目標函數最優適應值更小,說明預測誤差更小,預測的精度更優。
改進的IPSO算法同標準BP神經網絡這兩者進行結合,構成IPSO-BP的混合算法模型。在IPSO-BP混合模型訓練網絡的時候,首先將BP模型的所有連接權值和閾值作為粒子群空間中的各個粒子的位置向量Si,并初始化Si。然后,將BP模型的均方誤差值當作每一個粒子的適應度函數值,記錄適應值最小值時候的BP模型作為網絡的最佳權值和閾值。
改進的IPSO-BP模型的訓練步驟流程圖如圖1所示:

圖1 改進IPSO算法訓練BP模型步驟流程圖
為了驗證訓練好的改進IPSO-BP模型預測日徑流量,本文以長江干線大埠街至上巢湖段的宜昌水文站所掌握的2008年~2013年的歷史日徑流量數據對其徑流量進行預測。
本文所采用的長江干線大埠街至上巢湖段的宜昌水文站2008年~2013年的歷史日徑流量數據等由武漢市航道局提供。真實數據本身存在噪聲數據,而且不利于直接用改進的IPSO-BP結構模型直接進行徑流量真實數值的預測。對原始數據進行預處理,確保為改進的IPSO-BP神經網絡模型提供準確、適當的特征值,提高預測的準確度。將歷史徑流量數據分為兩部分,一部分為訓練數據,用來訓練改進的IPSO-BP神經網絡,剩余數據用來測試IPSO-BP結構模型,用它的預測效果與真實值進行對比。
對數據的預處理操作主要包含數據的降噪處理、數據時序化處理以及數據歸一化處理等內容。
神經網絡結構中歸一化輸入層的輸入參數一般通過以下公式進行:
(6)
式(6)中y為輸入數據歸一化后的參數值;x為輸入數據,是經過降噪處理和時序化后的實際數據;xmax為該輸入參數的最大實際數據的數值;xmin為該輸入參數的最小實際數據的數值。
將河流水位、流速、降水量和溫度數據歸一化后的部分結果數據如表1所示:

輸入數據歸一化表 表1

輸出數據歸一化表 表2
表1的輸入數據歸一化表和表2的輸出數據歸一化表,表明數據預處理成功,實驗數據已經準備完畢,可以進行下一步的模型驗證。
在將實驗數據進行預處理后,將它們用來進行神經網絡模型的訓練,剩下連續的90天數據為測試數據樣本,用來驗證訓練好的神經網絡模型的可靠性和預測能力。
用實驗數據分別使用的標準BP神經網絡模型、標準PSO-BP神經網絡模型和改進IPSO-BP神經網絡模型對數據進行了訓練和驗證。
通過預測的精度和模型的收斂速度兩方面來對這3個模型進行了對比分析。日徑流量預測的精度通過預測徑流量與實際徑流量的誤差比較來衡量,分別比較誤差值小于3%和誤差值小于5%的統計樣本數占總測試樣本數的比例來進行判斷預測精度的好壞。
如圖2所示,為訓練好的改進IPSO-BP模型對日徑流量進行的預測。

圖2 改進的IPSO-BP模型預測日徑流量
如圖3所示,為訓練好的改進IPSO-BP日徑流量預測模型所對應的預測均方誤差曲線。

圖3 改進的IPSO-BP神經網絡誤差曲線
如圖4所示,為標準BP神經網絡模型、標準PSO-BP神經網絡模型和本文提出的改進IPSO-BP神經網絡模型的算法均方誤差的收斂速度快慢比較。

圖4 改進的IPSO-BP模型和各種模型的均方誤差比較
通過圖4,我們可以清楚地看出各種模型的迭代收斂速度,其中改進的IPSO-BP神經網絡模型相較于其他2種算法模型在收斂速度方面有著明顯優勢。
因此,在保證神經網絡模型的收斂速度確實占優的同時,我們還要驗證改進后IPSO-BP神經網絡是否在預測結果誤差精度值上面相較于其他模型有明顯改善。

各個模型性能比較表 表3
通過表3各個模型性能對比表,我們可以看出,在各個誤差精度相同的條件下,3種模型的性能指標比較中,改進后IPSO-BP神經網絡模型在同樣的誤差指標下面擁有更高的成功收斂數量百分比,說明它在預測精度方面明顯擁有更高的精確性。
通過實驗對比3種神經網絡模型,我們能夠從中得到相應的結論:改進的IPSO-BP神經網絡模型在河流的日徑流量預測中,它的全局搜索能力明顯改善,在搜索速度方面也有了較大的提升,同時,在此基礎上它還保證了算法預測的精度要求。因此,可以說改進的IPSO-BP神經網絡模型算法,確實是優于標準BP神經網絡算法以及標準的PSO-BP神經網絡算法。
通過動態調節慣性權重和學習加速常數來改變粒子群的粒子速度和位置,將改進的IPSO算法和BP神經網絡結構模型相結合,建立改進后IPSO-BP神經網絡模型,通過歷史真實數據對模型進行訓練,利用訓練好的模型對宜昌水文站的日徑流量數據進行預測,改進后IPSO-BP神經網絡模型在收斂的速率方面和預測的誤差精度方面都比其他兩種算法模型有顯著優勢。由于受客觀因素和作者水平的限制,在河流日徑流預測方面還存在著很多的不足,需要以后進行更加深入的研究,提出更加完善的預測模型或預測方法。