謝梓彬
(潮州市鳳溪水庫管理處,廣東 潮州 515656)
圖1為水庫水位預測系統的示意圖。如圖可知,水電站庫水位的預測因子包括歷史徑流量、歷史水庫水位和耗電量。基于人工神經網絡將水庫水位預測系統劃分為兩部分。一部分是將歷史流量數據代入預測模塊,然后預測未來一段時間內的大壩徑流量。另一部分是將預測的徑流量、歷史庫水位和耗電量三個數據一同代入大壩模型,以預測未來水庫水位。

圖1 水庫水位預測系統圖示
本文選擇過去十年中的歷史庫水位、大壩來水流量和耗電量三組數據進行模型預測分析。其中,每組數據收集了大約10 300個,剔除一些無效數據后剩下大約94 000個可用數據。圖2為2007年某河流的歷史年徑流量數據,由圖可知一年中總有一些時段的流量值較高。由此可將徑流數據按照時間劃分為三個季節,如圖3所示,且這種規律往往每年重復出現。文中選擇三個不同季節的隨機樣本進行ANN訓練,最后使用一個完整年份的樣本數據進行驗證。

圖2 2007年某河的歷史年徑流量數據

圖3 根據某河的年徑流量確定的季節情況
使用預測系統時,應將非平穩時間序列(NSTS)的流量數據轉化為平穩時間序列(NSTS)的流量數據,且所調用的轉換函數必須可以恢復原始數據,不會造成重大數據損失。鑒于以上條件,本文將所用數據對數化(即:ln(x1),…,ln(xn))。該法可以減小大幅度的波動,且小幅度的波動也會得到更均勻的時間序列[1]。
此外,時間序列變換還可以加大功率譜密度(PSD)中的信號峰值,如圖4所示。功率譜密度分析可以近似地確定信號的周期性和峰值的數量,有助于分別設置預測水平和ANN輸入層神經元的最大數量。如圖4中,預測時間節點可以設置為6 h、8 h、12 h和24 h,而進入神經元的最大數量設置為16。

圖4 某河年流量16個峰值的功率譜密度
多步預測是一種估計未知變量直至水平的方法。這種預測方法主要基于離散時間序列的數據,且這些數據通??梢悦枋鲆酝淖兓厔?。圖5為多步預測兩個過程的示意圖,首先使用以往離散時間序列的數據進行第一步預測,然后將第一步預測值并代入第二步再預測,最后獲得兩步預測的最終結果[2]。
圖5(a)為閉環預測(CLP),在第一個離散時刻k中,X表示一組最后可用的離散數據,其X的范圍在[k-h,k],并規定h大小取決于預測要求,Xp(k+1)則是用于下一個預測序列中的初始值。將Xp(k+1)代入下一個預測模塊,獲取最后的預測數據,重復以上操作,直至交互作用計時器達到h。
圖5(b)為開環預測(OLP),該預測輸出僅基于歷史數據。所以在離散時刻k中,X為一組可用的離散數據,該數據被作為預測系統的輸入值,其取值范圍是[k-2h,k-h]。在估計預測輸出值Xp(k1)之后,將獲取的數據集向前移動,然后進行下一次交互。重復以上過程直至滿足h的預測。

圖5 時間序列多步預測系統示意圖
CLP法是根據前一部分的預測值獲取最后的預測輸出值。CLP法可能會導致預測中的累積誤差,而這在OLP法過程中并不存在。但由于CLP法不像OLP法那樣過于依賴于訓練階段和次數,所以CLP預測法可以隨時調整水位。
在控制和自動化領域,動態系統的識別是基礎。后者可以基于數學建模,但當系統復雜且未知時,建模將變得困難。研究發現根據已獲取的輸入和輸出數據使用統計技術,可以成功建立非線性動力系統的模型,如:NARMA(非線性自回歸移動平均)。此外,ANN也可以用于系統建模,在擾動前ANN獲得模型相比多項式建立的模型更加穩定,因此ANN模型預測效果相對更好。
本文采用ANN模型,且使用ANN訓練方案獲取水電站模型如圖6所示。由圖6可知,實際壩段是將歷史的徑流量和耗電量數據關聯到離散輸入信號X(k),同時將歷史庫水位數據作為系統的實際輸出信號Y(k+1),接著把上述三個信號作為本次ANN訓練集的離散輸入信號。把預測的水庫水位Yp(k+1)作為輸出信號,然后將預測的水庫水位和實際輸出的水庫水位Y(k+1)進行比較,最后獲取兩者之間的誤差。其誤差用于調整ANN內各參數的權重,使其結果更接近于實際情況。由于使用計算機模擬時內存占有率高,所以本文采用BFGS算法進行權重的數值優化,該法可以有效解決內存占有率高的問題還能迅速達到模型計算的收斂[3-4]。

圖6 ANN模擬訓練實際大壩的圖示
綜上所述,經過訓練的神經網絡可以估計實際大壩的動態,如圖7所示。本文利用ANN建立大壩模型。其中,由于模型中沒有水庫水位的實際數據,所以對水庫水位的預測輸出信號Yp(k+1)必須反饋給大壩模型。由于預測值均基于實際值,所以這里可能再次產生累積誤差。

圖7 訓練后的神經網絡預估庫水位圖示
本文首先對流量數據進行PSD分析,然后再估計ANN入口層中神經元的最大數量。研究中ANN采用一個輸入層兩個隱含層的拓撲結構,并定義輸入層和第二隱藏層中的神經元個數必須相等??紤]到圖4中的峰值數量,對ANN進行幾次訓練,以確定不同季節的神經元最佳配置。在這一階段,由于BFGS算法的快速收斂,所以每個ANN配置只需進行100次訓練。表1為冬季不同人工神經網絡訓練實例結果。其中,表1第6行是ANN最好的配置選擇,因為它的驗證誤差最小,且輸入神經元的數量未超過16個。
因此,從季節類型(見圖3)與多步驟預測方法(見圖5)的組合中,可以獲得6組預測因子。在不同預測水平,CLP法的預測值不像OLP法那樣過于依賴樣本訓練。因此,CLP法可以用于不同的預測水平,而OLP法需要針對不同水平進行多次不同的樣本訓練。
由圖6的訓練方法,獲取夏季、初冬季和正冬季三個季節的大壩模型。如上所述,用于ANN訓練和大壩模型學習的歷史數據包括徑流量、耗電量和水庫水位。首先將數據代入模型中,然后使用BFGS算法優化ANN的結構,并以誤差最小確定最佳的ANN大壩模型。最后根據徑流預測模塊的輸出值、圖7所示的耗電量和最佳大壩模型來估計未來的水庫水位。由于大壩模型不依賴于任何預測水平,所以該模型與同一季節的任何水流預測均相兼容。

表1 不同神經網絡在正冬季的訓練結果
本文針對每日不同的預測水平,通過22 d的現場實際監測獲取試驗結果。為了確定更合適的預測水平,根據預測期間的準確性對結果進行比較。當流量和水庫水位預測的均方根誤差(RMSE)分別≤± 8 m3/s和± 0.5 m時,說明流量和水庫水位符合預測的標準。
如上所述,通過兩種多步驟實施的預測方法(見圖5)與三個氣候季節(見圖3)相結合的形式,獲得了6個徑流量預測因子。由于試驗監測是在兩個季節過渡期進行,所以使用冬季和夏季兩個季節相互比較。表2為夏季不同試驗水平徑流量的預測結果。如表2所示,當預測水平較小時(如3 h和6 h)預測的成功率上升,RMSE減小(SD離散程度較高)。此外,通過比較成功預測的百分比,發現同一季節和預測水平,CLP法預測值優于OLP法預測值。而如圖8所示,相同水平不同季節條件下,CLP法夏季的預測比初冬季的預測效果更好。然而,最高的預測成功率(大于80%)僅出現在低預測水平(3 h)。圖9(a)和圖9(b)分別為在初冬和初夏兩個季節中CLP法對每日徑流量預測的RMSE,同時還繪制了徑流量預測的標準線(灰色虛線)。

表2 徑流量預測結果

圖8 CLP法預測徑流量的成功率對比情況

圖9 CLP法對每日徑流量預測的RMSE

圖10 CLP法每日水庫水位預測的RMSE
如圖7所示,將徑流量的預測結果用于給定生產定額條件下未來水庫水位的預測。因為CLP法預測性能及其效果均高于其他預測方法,所以本文選擇CLP法的預測結果。圖10(a)和圖10(b)分別是冬季和夏季22 d試驗期間每日水庫水位預測的RMES,根據RMSE最小成功繪制出預測的水庫水位基準線。其中,水庫水位的預測結果和正確預測百分比如表3所示,根據兩個季節水庫水位預測中的平均RMES和SD,發現在預測水平較短和數據較為集中時,預測的水庫水位呈現顯著降低的趨勢。同時,通過分析預測的成功率和表2中的徑流預測結果可以看出水庫水位的預測具有顯著性提高。然而,由圖11發現在夏季預測時采用CLP方法(用于徑流)和大壩模型(用于水庫水位)預測的效果略高于初冬季。

表3 水庫水位預測結果匯總

圖11 CLP法與大壩模型水庫水位預測成功率比較
盡管所有預測水平的預測成功率均超過了70.0%,但同一水平的徑流量預測結果并不高。其中,圖12為徑流量預測系統(CLP方法)與水庫水位預測系統(CLP +大壩模型)夏季預測成功率的對比,其中水庫水位的估算是基于同一氣候季節的徑流預測結果。通過以上對比表明,“大壩模型”提高了水庫水位的預測能力。即使在徑流量預測結果不太準確的情況下,水電站的大壩也可以減輕人為自然狀態下的擾動作用。

圖12 CLP法與大壩模型水庫水位預測成功率比較
22 d的現場實測結果表明:相同水平和季節進行比較時,CLP法預測值優于OLP法。且僅在低水平(如:3 h)和夏季時徑流預測成功率較高(>70%)。
利用耗電量和徑流量預測結果,然后基于ANN大壩模型可以成功估算水庫水位。從水庫水位估算結果來看,最佳預測情況與較低預測水平相關。但在所有情況下,水庫水位預測的成功率均大于70%。