潘道宏,譚成宇
(1.江蘇省水文水資源勘測局 鹽城分局,江蘇 鹽城 224015; 2.東臺市水利建設(shè)總公司,江蘇 東臺 224220)
通榆河輸水測驗(yàn)分析需要研究下游斷面流量與其上游斷面流量、河道沿線匯水、區(qū)域降雨、水工程運(yùn)行調(diào)度等多種因素綜合影響的復(fù)變函數(shù)關(guān)系。曼寧公式和圣維南方程組可用以解決此類問題,但也有很多情況不便使用。
神經(jīng)網(wǎng)絡(luò)簡稱人工神經(jīng)網(wǎng)絡(luò),是一種數(shù)據(jù)處理模型,在生物神經(jīng)網(wǎng)絡(luò)啟示下建立。它模擬相互連接的大量人工神經(jīng)元進(jìn)行計(jì)算,自動根據(jù)輸入的信息調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)和神經(jīng)元間的權(quán)值,對輸入數(shù)據(jù)進(jìn)行建模。
本文嘗試使用神經(jīng)網(wǎng)絡(luò)徑向基函數(shù)模擬通榆河水面線、河道糙率分析計(jì)算、河道流量演算,效果較為理想。
RBF網(wǎng)絡(luò)能夠逼近任意的非線性函數(shù),具有良好的泛化能力,并有很快的學(xué)習(xí)收斂速度,已成功應(yīng)用于非線性函數(shù)逼近、數(shù)據(jù)分類等。RBF網(wǎng)絡(luò)是前向網(wǎng)絡(luò),它由3層構(gòu)成:①輸入層,節(jié)點(diǎn)個數(shù)等于輸入維數(shù);②隱含層,節(jié)點(diǎn)個數(shù)決定于問題復(fù)雜度,其節(jié)點(diǎn)與輸入節(jié)點(diǎn)相連;③輸出層,節(jié)點(diǎn)個數(shù)等于輸出維數(shù),其若干個線性單元與所有隱含節(jié)點(diǎn)相連。它的基函數(shù)采用徑向基函數(shù),把輸入向量空間轉(zhuǎn)換到隱含層空間,將線性不可分的問題轉(zhuǎn)化位線性可分問題。
RBF網(wǎng)絡(luò)分為正則化網(wǎng)絡(luò)和廣義網(wǎng)絡(luò),后者由前者稍加變化得到。假如有n個訓(xùn)練樣本,從第i個隱含節(jié)點(diǎn)到第j個輸出節(jié)點(diǎn)的權(quán)值為ωij,正則化徑向基網(wǎng)絡(luò)結(jié)構(gòu)見圖1。廣義徑向基網(wǎng)絡(luò)結(jié)構(gòu)見圖2。
圖1 正則化徑向基網(wǎng)絡(luò)結(jié)構(gòu)
圖2 廣義徑向基網(wǎng)絡(luò)結(jié)構(gòu)
與正則化網(wǎng)絡(luò)類似,廣義網(wǎng)絡(luò)有m個輸入節(jié)點(diǎn)。不同的是:
設(shè)實(shí)際輸出Yk=[yk1,yk2…,ykj],輸出單元的個數(shù)為j,則假設(shè)輸入樣本為Xk,第j個輸出神經(jīng)元的結(jié)果是:
選擇了I個新的基函數(shù)φ(Xk,Xi)和相應(yīng)新的權(quán)值ωij來逼近正則化網(wǎng)絡(luò)中的N個隱含節(jié)點(diǎn)。
以2006年(6月21日8時(shí))通榆河?xùn)|臺(泰)-濱海樞紐(通)水面線(表1)進(jìn)行分析。
表1 通榆河水面線(6月21日8時(shí))
徑向基網(wǎng)絡(luò)目標(biāo)誤差設(shè)為0,擴(kuò)散速度spread設(shè)為280。測試數(shù)據(jù)xx采用1~140的140個數(shù)據(jù)。程序如下:
plot(x,y,’ro’);
hold on;
xx=1:1:140;
yy=sim(net,xx);
plot(xx,yy,’c-’);
hold on;
y1=round(sim(net,x)*100)/100;
plot(x,y1,’b+’);
hold off;
legend(’輸入原始數(shù)據(jù)’,’擬合線’,’擬合值’);
title(’徑向基函數(shù)擬合得曲線’);
xlabel(’里程(km)’),ylabel(’水位(km)’),
擬合結(jié)果見圖3。
圖3 通榆河水面線擬合結(jié)果(2006年6月21日8時(shí))
由圖3可見,徑向基網(wǎng)絡(luò)較好擬合了水面線,最大擬合誤差0.03 m。誤差情況見表2。
值得說明,如果spread選擇過小,可能造成過學(xué)習(xí)。
表2 擬合誤差情況表
2006-2010年供水期東臺(通)-斗龍港段實(shí)測資料見表3。
表3 通榆河?xùn)|臺(通)-斗龍港段供水期河道糙率計(jì)算表
由曼寧公式知,斷面流量與其上下游水位、過水?dāng)嗝婷娣e、濕周、糙率等5個因素有關(guān)。應(yīng)用網(wǎng)絡(luò),以斷面流量、斷面面積、濕周、東臺(通)水位作為輸入對糙率進(jìn)行分類。
代碼如下:
%%清空工作空間
clear,clc
close all;
rng(now)
M=4;
%% 定義輸入樣本
strr = {’東臺(通)~斗龍港段20060616’,’東臺(通)~斗龍港段20060623’,’東臺(通)~斗龍港段20070609’,’東臺(通)~斗龍港段20070617’,’東臺(通)~斗龍港段20070622’,’東臺(通)~斗龍港段20070606’,’東臺(通)~斗龍港段20080616’,’東臺(通)~斗龍港段20080627’,’東臺(通)~斗龍港段20080605’,’東臺(通)~斗龍港段20090618’,...
’東臺(通)~斗龍港段20090629’,’東臺(通)~斗龍港段20090625’,’東臺(通)~斗龍港段20100603’,’東臺(通)~斗龍港段20100613’};
data = [75.8,321,86.66,0.76; %20060616,即實(shí)測時(shí)間2006年06月16日,下同
93.6,324,86.86,0.87; %20060623
39.6,332,87.4,0.89; %20070609
80.3,302,85.29,0.60; %20070617
77.5,302,85.29,0.61; %20070622
60.2,345,88.45,1.09; %20080606
96.2,339,87.96,1.09; %20080616
128,37.4,90.55,1.48; %20080627
69.3,349,88.8,1.19; %20080605
53.4,337,87.87,1.02; %20090618
70.4,338,87.89,1.05; %20090629
79.4,312,85.93,0.75; %2009625
93,340,87.98,1.07; %20100603
80.9,340,87.98,1.06]’; %20100613
N=length(data);
%%建立網(wǎng)絡(luò)
net = selforgmap([2,2]);
data = mapminmax(data);
tic
net = init(net);
net = train(net, data([1,2,3,4],:));
toc
%% 測試
y = net(data([1,2,3,4],:));
result = vec2ind(y);
score = zeros(1,M);
for i=1:M
t = data(:, result==i);
score(i) = mean(t(:));
end
[~,ind] = sort(score);
result_ = zeros(1,N);
for i=1:M
result_(result == ind(i)) = i;
end
fprintf(’ 測次 分類 ’);
for i = 1:N
fprintf(’ %-8s 第 %d 類 ’, strr{i}, result_(i)) ;
end
分類結(jié)果見圖4。
圖4 通榆河水面線(2006年6月21日8時(shí))擬合結(jié)果
從圖4分類結(jié)果看,徑向基函數(shù)按照糙率的大小對數(shù)據(jù)進(jìn)行分類,盡管輸入項(xiàng)沒有糙率,但數(shù)據(jù)間隱含的曼寧公式表達(dá)的規(guī)律已被挖掘出來。
為說明神經(jīng)網(wǎng)絡(luò)的潛力,本文分別用馬斯京根法和徑向基函數(shù)演算通榆河流量問題。
2.3.1 馬斯京根法
馬斯京根法的公式為:
3個系數(shù)滿足:
C0+C1+C2=1
現(xiàn)取2007年7月11日至8月2日東臺(通)與大團(tuán)(通南)站流量過程(表4)進(jìn)行分析。
由表3數(shù)據(jù)率定馬斯京根法流量演算模型參數(shù)K=9 665.6,X=4.2。大團(tuán)(通南)流量率定最大相對誤差11.5%,平均相對誤差3.98%,最小相對誤差0.0%。
運(yùn)用率定參數(shù)K=9 665.6、X=4.2,由東臺(通)2006年7月6-15日流量運(yùn)用馬斯京根法演算大團(tuán)(通南)流量,見表5。
表4 馬斯京根法流量演算模型參數(shù)率定表
表5 馬斯京根法演算大團(tuán)(通南)流量精度統(tǒng)計(jì)表
由表5可知,驗(yàn)證最大誤差14.9%,平均相對誤差7.06%,最小相對誤差0.0%,精度較高。
2.3.2 神經(jīng)網(wǎng)絡(luò)法
由馬斯京根法知:
大團(tuán)(通南)流量t=F(東臺(通)t-1,東臺(通)t,大團(tuán)(通南)t-1)
因此,選擇NAR模型。網(wǎng)絡(luò)結(jié)構(gòu)見圖5。
圖5 NAR網(wǎng)絡(luò)結(jié)構(gòu)
確定訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)、測試數(shù)據(jù)分別為75%、15%、15%,神經(jīng)元為10,延遲天數(shù)為1。結(jié)果表明,訓(xùn)練集17次、驗(yàn)證集3次輸出值與目標(biāo)值絕對誤差在1.0~3.2。測試集3次中,第22次絕對誤差為0;第6次絕對誤差為-11.6,相對誤差為-4.7%;第10次絕對誤差為-28.4,相對誤差為14.3%。精度優(yōu)于馬斯京根法。
本文從實(shí)例出發(fā),用神經(jīng)網(wǎng)絡(luò)模擬河道水面曲線,對河道糙率數(shù)據(jù)進(jìn)行深度挖掘,進(jìn)而對河道流量演算問題進(jìn)行研究。
模擬水面線的方法,還可應(yīng)用于水位流量關(guān)系率定和仿真,對于編制防汛自動報(bào)訊系統(tǒng)具有重要潛在價(jià)值。分類方法可用于閘壩站水文出水流態(tài)判別、水文資料系列的一致性檢查、模糊系統(tǒng)的聚類分析等可抽象成分類的問題。河道流量演算方面,神經(jīng)網(wǎng)絡(luò)相當(dāng)于或高于馬斯京根法精度,但操作更簡便。如果把演算代碼封裝成仿真模塊,可直接移植于防汛調(diào)度系統(tǒng)。