基于MATLAB的神经网络洪峰预测

合集下载

在Matlab中实现神经网络的方法与实例

在Matlab中实现神经网络的方法与实例

在Matlab中实现神经网络的方法与实例神经网络是一种模拟人类大脑神经系统的计算模型,它能够通过学习数据的模式和关联性来解决各种问题。

在计算机科学和人工智能领域,神经网络被广泛应用于图像识别、自然语言处理、预测等任务。

而Matlab作为一种功能强大的科学计算软件,提供了一套完善的工具箱,可以方便地实现神经网络的建模和训练。

本文将介绍在Matlab中实现神经网络的方法与实例。

首先,我们会简要介绍神经网络的基本原理和结构,然后详细讲解在Matlab中如何创建并训练神经网络模型,最后通过几个实例展示神经网络在不同领域的应用。

一、神经网络的原理和结构神经网络模型由神经元和它们之间的连接构成。

每个神经元接收输入信号,并通过权重和偏置进行加权计算,然后使用激活函数对结果进行非线性变换。

这样,神经网络就能够模拟复杂的非线性关系。

常见的神经网络结构包括前馈神经网络(Feedforward Neural Network)和循环神经网络(Recurrent Neural Network)。

前馈神经网络是最基本的结构,信号只能向前传递,输出不对网络进行反馈;而循环神经网络具有反馈连接,可以对自身的输出进行再处理,适用于序列数据的建模。

神经网络的训练是通过最小化损失函数来优化模型的参数。

常用的训练算法包括梯度下降法和反向传播算法。

其中,梯度下降法通过计算损失函数对参数的梯度来更新参数;反向传播算法是梯度下降法在神经网络中的具体应用,通过反向计算梯度来更新网络的权重和偏置。

二、在Matlab中创建神经网络模型在Matlab中,可以通过Neural Network Toolbox来创建和训练神经网络模型。

首先,我们需要定义神经网络的结构,包括输入层、隐藏层和输出层的神经元数量,以及每个神经元之间的连接权重。

例如,我们可以创建一个三层的前馈神经网络模型:```matlabnet = feedforwardnet([10 8]);```其中,`[10 8]`表示隐藏层的神经元数量分别为10和8。

matlab30个案例分析案例14-SVM神经网络的回归预测分析

matlab30个案例分析案例14-SVM神经网络的回归预测分析

%% SVM神经网络的回归预测分析---上证指数开盘指数预测%%% 清空环境变量function chapter14tic;close all;clear;clc;format compact;%% 数据的提取和预处理% 载入测试数据上证指数(1990.12.19-2009.08.19)% 数据是一个4579*6的double型的矩阵,每一行表示每一天的上证指数% 6列分别表示当天上证指数的开盘指数,指数最高值,指数最低值,收盘指数,当日交易量,当日交易额.load chapter14_sh.mat;% 提取数据[m,n] = size(sh);ts = sh(2:m,1);tsx = sh(1:m-1,:);% 画出原始上证指数的每日开盘数figure;plot(ts,'LineWidth',2);title('上证指数的每日开盘数(1990.12.20-2009.08.19)','FontSize',12);xlabel('交易日天数(1990.12.19-2009.08.19)','FontSize',12);ylabel('开盘数','FontSize',12);grid on;% 数据预处理,将原始数据进行归一化ts = ts';tsx = tsx';% mapminmax为matlab自带的映射函数% 对ts进行归一化[TS,TSps] = mapminmax(ts,1,2);% 画出原始上证指数的每日开盘数归一化后的图像figure;plot(TS,'LineWidth',2);title('原始上证指数的每日开盘数归一化后的图像','FontSize',12);xlabel('交易日天数(1990.12.19-2009.08.19)','FontSize',12);ylabel('归一化后的开盘数','FontSize',12);grid on;% 对TS进行转置,以符合libsvm工具箱的数据格式要求TS = TS';% mapminmax为matlab自带的映射函数% 对tsx进行归一化[TSX,TSXps] = mapminmax(tsx,1,2);% 对TSX进行转置,以符合libsvm工具箱的数据格式要求TSX = TSX';%% 选择回归预测分析最佳的SVM参数c&g% 首先进行粗略选择:[bestmse,bestc,bestg] = SVMcgForRegress(TS,TSX,-8,8,-8,8);% 打印粗略选择结果disp('打印粗略选择结果');str = sprintf( 'Best Cross Validation MSE = %g Best c = %g Best g = %g',bestmse,bestc,bestg); disp(str);% 根据粗略选择的结果图再进行精细选择:[bestmse,bestc,bestg] = SVMcgForRegress(TS,TSX,-4,4,-4,4,3,0.5,0.5,0.05);% 打印精细选择结果disp('打印精细选择结果');str = sprintf( 'Best Cross Validation MSE = %g Best c = %g Best g = %g',bestmse,bestc,bestg); disp(str);%% 利用回归预测分析最佳的参数进行SVM网络训练cmd = ['-c ', num2str(bestc), ' -g ', num2str(bestg) , ' -s 3 -p 0.01'];model = svmtrain(TS,TSX,cmd);%% SVM网络回归预测[predict,mse] = svmpredict(TS,TSX,model);predict = mapminmax('reverse',predict',TSps);predict = predict';% 打印回归结果str = sprintf( '均方误差MSE = %g 相关系数R = %g%%',mse(2),mse(3)*100);disp(str);%% 结果分析figure;hold on;plot(ts,'-o');plot(predict,'r-^');legend('原始数据','回归预测数据');hold off;title('原始数据和回归预测数据对比','FontSize',12);xlabel('交易日天数(1990.12.19-2009.08.19)','FontSize',12);ylabel('开盘数','FontSize',12);grid on;figure;error = predict - ts';plot(error,'rd');title('误差图(predicted data - original data)','FontSize',12);xlabel('交易日天数(1990.12.19-2009.08.19)','FontSize',12);ylabel('误差量','FontSize',12);grid on;figure;error = (predict - ts')./ts';plot(error,'rd');title('相对误差图(predicted data - original data)/original data','FontSize',12);xlabel('交易日天数(1990.12.19-2009.08.19)','FontSize',12);ylabel('相对误差量','FontSize',12);grid on;snapnow;toc;%% 子函数SVMcgForRegress.mfunction [mse,bestc,bestg] = SVMcgForRegress(train_label,train,cmin,cmax,gmin,gmax,v,cstep,gstep,msestep)%SVMcg cross validation by faruto%% by faruto%Email:patrick.lee@ QQ:516667408 /faruto BNU%last modified 2010.01.17%Super Moderator @ % 若转载请注明:% faruto and liyang , LIBSVM-farutoUltimateVersion% a toolbox with implements for support vector machines based on libsvm, 2009.% Software available at %% Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for% support vector machines, 2001. Software available at% .tw/~cjlin/libsvm% about the parameters of SVMcgif nargin < 10msestep = 0.06;endif nargin < 8cstep = 0.8;gstep = 0.8;endif nargin < 7v = 5;endif nargin < 5gmax = 8;gmin = -8;endif nargin < 3cmax = 8;cmin = -8;end% X:c Y:g cg:acc[X,Y] = meshgrid(cmin:cstep:cmax,gmin:gstep:gmax);[m,n] = size(X);cg = zeros(m,n);eps = 10^(-4);bestc = 0;bestg = 0;mse = Inf;basenum = 2;for i = 1:mfor j = 1:ncmd = ['-v ',num2str(v),' -c ',num2str( basenum^X(i,j) ),' -g ',num2str( basenum^Y(i,j) ),' -s 3 -p 0.1'];cg(i,j) = svmtrain(train_label, train, cmd);if cg(i,j) < msemse = cg(i,j);bestc = basenum^X(i,j);bestg = basenum^Y(i,j);endif abs( cg(i,j)-mse )<=eps && bestc > basenum^X(i,j)mse = cg(i,j);bestc = basenum^X(i,j);bestg = basenum^Y(i,j);endendend% to draw the acc with different c & g[cg,ps] = mapminmax(cg,0,1);figure;[C,h] = contour(X,Y,cg,0:msestep:0.5);clabel(C,h,'FontSize',10,'Color','r');xlabel('log2c','FontSize',12);ylabel('log2g','FontSize',12);firstline = 'SVR参数选择结果图(等高线图)[GridSearchMethod]'; secondline = ['Best c=',num2str(bestc),' g=',num2str(bestg), ...' CVmse=',num2str(mse)];title({firstline;secondline},'Fontsize',12);grid on;figure;meshc(X,Y,cg);% mesh(X,Y,cg);% surf(X,Y,cg);axis([cmin,cmax,gmin,gmax,0,1]);xlabel('log2c','FontSize',12);ylabel('log2g','FontSize',12);zlabel('MSE','FontSize',12);firstline = 'SVR参数选择结果图(3D视图)[GridSearchMethod]'; secondline = ['Best c=',num2str(bestc),' g=',num2str(bestg), ...' CVmse=',num2str(mse)];title({firstline;secondline},'Fontsize',12);。

用matlab编BP神经网络预测程序

用matlab编BP神经网络预测程序

求用matlab编BP神经网络预测程序求一用matlab编的程序P=[。

];输入T=[。

];输出% 创建一个新的前向神经网络net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')% 当前输入层权值和阈值inputWeights=net_1.IW{1,1}inputbias=net_1.b{1}% 当前网络层权值和阈值layerWeights=net_1.LW{2,1}layerbias=net_1.b{2}% 设置训练参数net_1.trainParam.show = 50;net_1.trainParam.lr = 0.05;net_1.trainParam.mc = 0.9;net_1.trainParam.epochs = 10000;net_1.trainParam.goal = 1e-3;% 调用TRAINGDM 算法训练BP 网络[net_1,tr]=train(net_1,P,T);% 对BP 网络进行仿真A = sim(net_1,P);% 计算仿真误差E = T - A;MSE=mse(E)x=[。

]';%测试sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%不可能啊我200928对初学神经网络者的小提示第二步:掌握如下算法:2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。

3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社,Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。

使用MATLAB进行数据预测和预测

使用MATLAB进行数据预测和预测

使用MATLAB进行数据预测和预测引言:数据预测和预测在许多领域中都具有重要的应用价值。

它们可以帮助我们预测未来的发展趋势,做出合理的决策,并在经营和决策中提供有力的支持。

在这一过程中,MATLAB作为一种功能强大的编程语言和数据分析工具,为我们提供了一个强大的工具箱,可以进行数据预测和预测。

数据预处理:在开始数据预测和预测之前,我们首先需要对数据进行预处理。

预处理包括数据清洗、数据归一化、特征选择等步骤。

通过这些步骤,我们可以提高数据的质量,减少噪声的影响,并使数据更适合于预测模型的建立。

数据清洗是指删除或修复数据中的错误值、缺失值和异常值。

在MATLAB中,我们可以使用一些函数和工具箱来处理这些问题。

例如,我们可以使用`isnan`函数来检测缺失值,并使用`fillmissing`函数来填充缺失值。

对于异常值,我们可以使用一些统计方法,如3σ原则或箱线图来识别和处理。

数据归一化是将不同尺度的数据映射到统一的尺度上。

这是因为不同尺度的数据可能对预测模型的训练和预测产生不利影响。

在MATLAB中,有许多方法可以实现数据归一化,如MinMax归一化、Z-score归一化等。

我们可以使用`mapminmax`函数来实现MinMax归一化,并使用`zscore`函数来实现Z-score归一化。

特征选择是从原始数据中选择最相关的特征,以降低数据维度并提高预测模型的准确性。

在MATLAB中,我们可以使用一些算法和函数来实现特征选择。

例如,我们可以使用`fsrnca`函数(基于相关系数的特征选择)或`sequentialfs`函数(基于逐步搜索的特征选择)来选择最佳特征子集。

在完成数据预处理后,我们可以使用各种算法和方法进行数据预测。

在MATLAB中,有许多经典的预测算法和函数可供选择。

以下是几个常用的预测方法。

1. 线性回归:线性回归是一种基本的预测方法,它使用线性模型来建立输入变量和输出变量之间的关系。

如何进行MATLAB神经网络的训练和预测

如何进行MATLAB神经网络的训练和预测

如何进行MATLAB神经网络的训练和预测【第一章】MATLAB神经网络的基础知识神经网络是一种模拟人类神经系统运行方式的计算模型,它通过模拟人类的感知、学习和决策过程,可以对复杂的问题进行处理和求解。

在实际应用中,MATLAB是一个常用的工具来进行神经网络的训练和预测。

本章将介绍MATLAB 神经网络的基础知识,包括神经网络的原理、MATLAB的神经网络工具箱以及神经网络训练和预测的一般步骤。

1.1 神经网络的原理神经网络由神经元(neuron)组成,每个神经元接收多个输入并产生一个输出。

神经网络的基本单元是感知器(perceptron),它由权重、偏置和激活函数组成。

权重决定了输入对输出的影响程度,偏置用于调整输出的偏移量,激活函数用于处理神经元的输出。

通过调整权重和偏置,神经网络可以学习和适应不同的输入输出模式。

常见的神经网络包括前馈神经网络(feedforward neural network)、循环神经网络(recurrent neural network)和卷积神经网络(convolutional neural network)。

前馈神经网络是最基本的神经网络类型,信息只能在网络中的一个方向流动,即从输入层到输出层。

循环神经网络具有反馈连接,可以记忆之前的状态信息,适用于序列数据的处理。

卷积神经网络则主要用于图像和语音等二维数据的处理。

1.2 MATLAB神经网络工具箱MATLAB提供了一个神经网络工具箱(Neural Network Toolbox),用于设计、训练和模拟神经网络。

该工具箱包括多种神经网络类型、各种激活函数、训练算法和性能函数等各种功能模块。

使用MATLAB神经网络工具箱可以方便地进行神经网络的建模和仿真。

在MATLAB神经网络工具箱中,神经网络被表示为一个网络对象(network object)。

网络对象由一系列图层(layer)组成,每个图层由若干个神经元组成。

网络对象还包括连接权重矩阵、偏置向量和训练参数等属性。

基于神经网络的短期水文预测方法

基于神经网络的短期水文预测方法

基于神经网络的短期水文预测方法短期水文预测是水文学中的重要研究领域,对于水资源管理和防洪减灾具有重要意义。

随着神经网络技术的发展和应用,基于神经网络的短期水文预测方法逐渐成为研究的热点。

本文将探讨基于神经网络的短期水文预测方法及其应用,分析其优势和不足,并展望未来发展方向。

一、引言随着气候变化和人类活动的影响,水资源管理和防洪减灾等问题变得越来越复杂。

准确预测未来一段时间内的降雨量、径流量等水文要素对于科学合理地管理和利用水资源具有重要意义。

传统的统计方法在一定程度上可以满足需求,但受到数据特征复杂、非线性关系等问题的限制。

二、基于神经网络的短期水文预测方法1. 神经网络原理神经网络是一种模拟人类大脑工作方式而设计出来的计算模型。

它由大量简单处理单元(神经元)相互连接而成,并通过学习调整连接权值以实现特定的功能。

神经网络具有自适应性、非线性映射能力和并行处理能力等特点,适用于处理复杂的非线性问题。

2. 数据预处理在应用神经网络进行短期水文预测之前,需要对原始数据进行预处理。

预处理包括数据清洗、缺失值填补、异常值检测和数据标准化等步骤,以提高神经网络模型的准确性和鲁棒性。

3. 神经网络模型构建基于神经网络的短期水文预测方法通常采用前馈神经网络(Feedforward Neural Network)模型。

该模型由输入层、隐藏层和输出层组成,其中隐藏层可以有多个。

输入层接收水文要素数据,输出层给出对未来水文要素的预测结果。

隐藏层负责对输入数据进行非线性映射和特征提取。

4. 神经网络训练与优化神经网络模型需要通过训练来学习输入与输出之间的映射关系。

常用的训练算法包括误差反向传播算法(Backpropagation)和Levenberg-Marquardt算法等。

在训练过程中,可以采用交叉验证方法评估模型的泛化能力,并通过调整网络结构和参数来优化模型性能。

三、基于神经网络的短期水文预测方法的应用1. 降雨预测基于神经网络的短期降雨预测方法能够通过历史降雨数据和其他气象要素数据,准确地预测未来一段时间内的降雨量。

BP神经网络预测的matlab代码

BP神经网络预测的matlab代码

BP神经网络预测的matlab代码附录5:BP神经网络预测的matlab代码: P=[ 00.13860.21970.27730.32190.35840.38920.41590.43940.46050.47960.49700.52780.55450.59910.60890.61820.62710.63560.64380.65160.65920.66640.67350.72220.72750.73270.73780.74270.74750.75220.75680.76130.76570.7700]T=[0.4455 0.323 0.4116 0.3255 0.4486 0.2999 0.4926 0.2249 0.48930.2357 0.4866 0.22490.4819 0.2217 0.4997 0.2269 0.5027 0.217 0.5155 0.1918 0.5058 0.2395 0.4541 0.2408 0.4054 0.2701 0.3942 0.3316 0.2197 0.2963 0.5576 0.1061 0.4956 0.267 0.5126 0.2238 0.5314 0.2083 0.5191 0.208 0.5133 0.18480.5089 0.242 0.4812 0.2129 0.4927 0.287 0.4832 0.2742 0.5969 0.24030.5056 0.2173 0.5364 0.1994 0.5278 0.2015 0.5164 0.2239 0.4489 0.2404 0.4869 0.2963 0.4898 0.1987 0.5075 0.2917 0.4943 0.2902 ]threshold=[0 1]net=newff(threshold,[11,2],{'tansig','logsig'},'trainlm');net.trainParam.epochs=6000net.trainParam.goal=0.01LP.lr=0.1;net=train(net,P',T')P_test=[ 0.77420.77840.78240.78640.79020.7941 ] out=sim(net,P_test')友情提示:以上面0.7742为例0.7742=ln(47+1)/5因为网络输入有一个元素,对应的是测试时间,所以P只有一列,Pi=log(t+1)/10,这样做的目的是使得这些数据的范围处在[0 1]区间之内,但是事实上对于logsin命令而言输入参数是正负区间的任意值,而将输出值限定于0到1之间。

基于Matlab神经网络工具箱的伤员流流量预测研究

基于Matlab神经网络工具箱的伤员流流量预测研究
Ke r s Mal b n u a ewok tob x v l me o e w u d d p t n o p e i t n y wo d t ; e r l t r o l o ; ou f h o n e ai t w; r d ci a n t e f l o
tef W o ewo n e sa he e . h o ft u d dwa c iv d R嘲ut T ru hfrc s n ou ftewo n e ain o o iiin i h l h l B h o g oe at gv lmeo u d d p t t w f dvs n te i h e f l a o Koe nW a,te rsl wa aial o ss n t h cu ld t. . ra r h eut sb scl c n it t htea ta aa C y e wi =mh f n u o Us fMalb n u a n t ok tob xfr i eo t e rl ew r o lo a o
( . p r n fO ser s& G n c lg , a g a Ho ptl f e o d Mitr dc l ies y 1 De at t b ttc me o i y e oo y Ch n h i s i c n l ay Me ia v ri , aoS i Un t
工具 箱 预 测 伤 员流 流 量 结 果 可 靠 , 法b 神经 网络工具箱 ; l 伤员流流量 ; 预测
[ 国 图书 资 料 分 类 号】 T 2 21 ;P 1 【 中 P 1 . T 2 6 文献 标 识 码J A [ 章 编 号】 10 — 88 2 1 )4 0 l一 3 4 文 0 3 8 6 (0 0 0 — 0 8 O
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要洪峰流量的预测可以基本定型洪水的规模,可以提前制定合理的防洪预案,及时减少人员伤亡和财产损失,因而预报洪峰流量具有重要意义。

河道水情预报十分复杂,由于受各种因素的影响表现为非线性动力学过程,而且因素之间的变化及相互影响关系也难以确定。

鉴于人工神经网络有很强的处理大规模非线性动力学系统的能力,本文紧紧围绕人工神经网络的数学领域的知识,改进了BP网络洪水预报模型。

具体工作如下:针对洪水预报预测阶段可能超过历史洪峰的情况,在人工神经网络预报模型中,本文把输入单元和输出单元的数据规范在0.2到0.8之间,留有(0,0.2)和(0.8,1)的预报空间,使得预报模型能够顺利预报出高于历史洪峰的洪水水位。

另外,本文采用《水文情报预报规范》中的确定性系数作为目标函数,使得预报结果更加直观。

针对人工神经网络本身是一种静态网络,在复杂河道的预报模型中,本文引入了延迟单元法,即在数据处理时直接从样本模式中提取时间序列特征,使得这样的预报模型具备了对时间序列的识别能力。

本文将BP网络的洪水预报模型应用于武汉地区柳子巷水文站的洪水预报。

对这种预报模型进行了检验,结果表明在合理选择输入层单元数据和预见期的情况下,可以取得很好的预报成果。

关键词:人工神经网络,预报模型,洪水目录第一章绪论1.1水文预报的重要性1.2水文预报的发展1.3存在的问题第二章人工神经网络简介2.1人工神经网络简介2.2误差逆传播算法第三章洪水水位的人工神经网络预报模型3.1引言3.2洪水预报模型的建立3.2.1训练模式对的准备3.2.2输入单元数据的规范化3.2.3输出单元数据的规范化3.3预报结果及总结第四章应用于复杂河段的人工神经网络洪水预报模型4.1问题的提出4.2人工神经网络预报模型4.3应用实例4.4运算结果及分析4.5结论第五章结束语和展望第一章绪论1.1 水文预报的重要性水文系统受天文因子、气候因子、地质地貌因子以及人类活动等的综合作用,表现出高维性和非线性等复杂特征,因此比一般难以建立有效的水温长期预测模型。

而且水文预报是国民经济建设不可缺少的重要基本工作,是帮助人们更好地控制与利用水资源、与洪水作斗争、减少洪灾的有力武器。

水文预报是防汛抗旱的耳目和参谋,是防洪决策、水资源优化调度、水工程运行管理的科学依据,是各级防汛指挥机构的参谋和得力助手,对保护人民生命财产安全,充分发挥水工程效益,保障社会稳定和国民经济可持续发展起着极其重要的作用。

根据世界气象组织在加拿大、日本、美国等国家的调研结果,及时准确的洪水预报可以把洪水造成的损失减轻10%一15%。

1998年我国长江中下游发大洪水,由于及时准确的水文预报和防洪工程的作用,减少经济损失400多亿元[1]。

而据统计,近几年国家和地方对长江水文事业的投入,每年仅约为2亿元左右,可见水文预报的效益是巨大的。

洪水预报作为水文预报的一个重要组成部分,在防洪减灾中具有重要的理论意义和现实意义。

洪水预报的历史在我国可追溯到一千多年以前。

由于河道和洪水的传播规律十分复杂,古代的洪水预报基本上仅限于定性描述和粗略预测。

1.2 水文预报的发展新中国成立50多年来,我国的水文预报工作从无到有、由点到面迅速发展起来。

上世纪50-60年代学习、吸收原苏联和美国的洪水预报方法,为我国水文预报工作奠定了基础。

70-80年代,开始对不同区域的降雨径流关系进行研究,同时成功地开展了流域水文模型的研究与应用。

90年代,随着计算机在水文预报领域中的推广和水文模拟技术水平的提高,我国在水文预报方法、预报系统建设和新技术应用等方面有了很大的提高。

随着我国经济的发展和全民社会水患意识的不断增强,国家对水文工作的重要性有了更深刻的认识,从中央到地方各级水文部门相继开展了水文预报工作,许多基层水文站也发布当地河流和水库的水文预报。

据统计,1990年全国有1134处水文站(占该年全国水文站总数的35%)发布水文预报[1]。

同时人们对水文预报提出了定量和准确预报的要求,从而为水文工作的发展创造了更广阔的空间。

水文预报技术是水文预报的关键,我国水文预报技术的发展大致经历以下几个阶段[1]。

上世纪五六十年代奠定了水文预报的基础。

1955年,由华士乾主编的《洪水预报方法》一书,总结了新中国立国之初,特别是1954年长江、淮河特大洪水实际预报中的经验,主要吸收了美国、原苏联的洪水预报方法,并利用中国实际资料做了分析应用,第一次系统地提出了具有中国特色的洪水预报方法,为我国水文预报及其研究工作奠定了良好的基础。

随着水文预报的广泛开展和各地多年实践经验的积累,1950年后对洪水预报技术的研究主要是:根据洪水波动的理论对相应水位法进行改进;对应用河网总入流量进行洪水预报的研究;对河道洪水演算槽蓄曲线的研究以及对重点河段降雨径流预报研究分析等。

上世纪七八十年代获得了流域水文模型的丰硕成果[1]。

1970年以后,部分省、流域机构和高等院校分别对湿润、半湿润地区和干旱、半干旱地区的降雨径流关系进行了分析研究,对一些大江大河则采用分区降雨产汇流结合河道汇流计算的全河系预报,同时开展了流域水文模型的研究和应用。

在流域水文模型研究应用方面,如现为河海大学在蓄满产流模型基础上提出了新安江模型,在南方湿润地区得到广泛应用,效果很好,并被欧美一些国家采用。

与此同时,先后引进了一些确定性概念模型和应用系统工程理论分析方法的模型。

如美国斯坦福IV 模型、萨克拉门托模型,日本水箱模型和意大利CLS(约束线性系统)模型,并加以剖析和改进获得了丰硕的研究和应用成果。

例如,1982年水利电力部水文水利调度中心,在引进的意大利CLS模型基础上,用新安江模型算出各层的径流深度来代替CLS模型的降雨输入,改进后的模型为SCLS(综合约束线性系统)模型,取得了比较满意的成果。

上世纪九十年代取得了水文预报技术的新进展。

1990年后,随着计算机在水文预报领域中的推广应用和水文模拟技术的提高,国内的水文预报技术方法都取得了新进展。

与此同时,国外的水文预报技术也有了突飞猛进的变化。

不管是在水文预报的传统方法,如成因分析和水文统计方法,以及是新方法如模糊分析、人工神经网络、地理信息系统和灰色系统分析方法都取得了可喜的新进展。

上个世纪80年代中后期,在国外一些发达国家掀起了一股竟相研究和开发人工神经网络的热潮。

人工神经网络是把人工神经元按一定规则连接成的网络。

它具有大规模并行运算、分布式存储和处理、自适应和自学习能力,能广泛应用于各个领域。

上世纪90年代以来,人工神经网络在水文预报中的应用逐渐增多[12]。

蔡煜东等[13]采用Kohonen自组织神经网络模型研究了鄱阳湖年最高水位的分类预报阀题。

吴超现等[14]认为人工神经网络模型具有生物神经网络的一些特性,能够“学习”,因此易于应用在各种类型的流域系统;人工神经网络模型是高度非线性模型,能够有效地模拟本质为非线性的实际水文系统;人工神经网络模型在预报期和预报精度上较对比性模型(CAR,RWTL,AR)有明显的优越性。

钟登华等[15]提出了水文预报的时间序列神经网络模型,并指出探索利用输入输出数据进行建模的方法是十分必要的。

胡铁松等对人工神经网络在水文水资源中的应用现状作了全面的介绍,并认为神经网络为一些复杂水文水资源问题的研究提供了一条有效的途径。

丁晶等[16]认为当前单纯地分别应用确定性和不确定性方法,面临许多无法妥善处理的困难,因此有必要探索一种新思路和新途径。

新思路就是模拟人脑思维方式来处理极端复杂系统中出现的各种各样的问题(判别、分析、预测、控制、调度等);新途径就是在人工神经网络理论的基础上,通过分析和计算,建立适应性很强的人工神经网络模型。

胡铁松等[17]提出了径流长期分级预报的Kohonen网络方法,有效地克服了人为给定监督信号进行径流分级预报存在的不确定性给预报精度带来的影响。

冯国章等[l8]提出了基于径流形成机理的以时段降水量与前期径流量为预报因子的前向多层人工神经网络径流预报模型,分析了网络结构对预报精度的影响。

熊立华[19]等在将神经网络用于洪水实时预报时采用向后演算法,使得模型的权重系数可以在每一时间步长上进行自动更新。

吴建华[20]等应用一种在训练中包含有延迟功能的BP算法,针对现有洪水预报神经网络结构难以确定的问题,建立了延迟神经网络。

Gopakumaz R[21]等将多层感知机的神经网络用于卡拉拉邦的一些流域,结果表明人工神经网络通过不断的学习记忆可以对像洪水预报这种复杂持久系统的仿真模拟。

By Amin Elshorbagy[22]等在人工神经网络在径流预报中的性能评估一文中采用了人工神经网络技术,并且和线性和非线性回归技术做了比较,并对这三种方法的优缺点进行了讨论。

结果表明人工神经网络在很多实例中的很大优越性,当然在某些情况下另两种方法也是相当有效的。

P.Licznar[23]等将人工神经网络用于径流和土壤侵蚀预报,大量实验结果表明这种方法比WEPP方法有效。

在洪水预报新技术中,应用最广泛、发展前景最大的当属地理信息系统(GIS)[2]。

GIS是在计算机软件和硬件的支持下,运用系统工程和信息科学的理论,科学管理和综合分析具有空间内涵的地理数据,以提供对规划、管理、决策和研究所需信息的技术系统。

洪水预报的实质就是要对洪水在特定时空条件下的运动规律进行预报、预测,空间信息量大,而对空间信息的管理与分析正是GIS 的优势,而与遥感技术(RS)和全球卫星定位系统技术GPS)结合的GIS(合称三‘s’技术)功能更加强大。

Collier CG[24l描述了在降雨测量和预报中雷达和遥感方面的发展,并指出利用雷达数据能提高预报的精确度。

Philip B[25]利用NEXRAD 雷达在休斯敦和德克萨斯州的布雷湾分水岭进行水文预报,结果表明特别是在T.S.Allison风暴其问将会更有效。

研究表明,GIS在面雨量计算、流域蒸发量和土壤湿度计算、交互式实时联机预报、暴雨产流模型等方面都有广泛应用。

当然,除了GIS以外,还有其他一些类似的、基于计算机技术上的预报系统,如SMAR(Soil Moisture Accounting and Routing)模型及在此基础上改进而成的分布式任意时段长模型[26]。

80年代初,陈守煜等在水利、水文、水资源与环境科学领域中进行了模糊集的应用研究,并将模糊集分析与系统分析结合起来,形成了一个新的模糊随机系统分析体系,1997年陈守煜[27]又提出了中长期水文预报的综合分析理论模式与方法,该方法将水文成因分析、统计分析、模糊集分析有机地结合起来,为提高中长期水文预报的精度提供了一条新途径。

张云鹏[28]等对汛期来水的理沧实测资料运用最大数法和软化分法进行模糊聚类分析,得到汛期来水的多个预报模式;进而利用Gamma分布和模糊概率的方法,预报出汛期来水流量及其实现的概率。

相关文档
最新文档