江河潮水水位的预测方法

文档序号:6363878阅读:949来源:国知局
专利名称:江河潮水水位的预测方法
技术领域
本发明属于自动化技术领域,涉及一种江河潮水水位的预测方法。
背景技术
一些江河大潮的潮水来势汹涌、水声轰隆磅礴、潮头陡立,每年都要吸 引数十万游人驻足两岸观潮。与此相反的另一面,这些江河大潮的水势和水 下暗流湍变莫测也对生活在两岸的人民、游客生命财产造成了很大的烕胁。 据数据统计,每年都会有人因不了解江河大潮的水势命丧于此。由此可见, 分析和预测江河大潮的潮水水位和大潮来临时间的变化规律对于保护游客和 两岸人民的生命和财产的安全就变得非常的有意义了。
传统的潮时预报方法有传播时间法和隔离滞后时间法,而潮水水位预测 方法则是根据前一天的潮水水位高度预测后一天的潮位高度,或者根据前一 个水文站点的高度预测后一个站点的水位高度。上述经验性的方法一定程度 弱化了潮水受到潮汐、径流、河道地形和风力风向等多重因素的影响关系, 弱化了他们之间所存在的某种高维非线性的映射关系。本发明力图运用近年
来所发展起来的BP人工神经网络理论,利用其高度容错、并行处理数据及可 以逼近任意非线性函数的能力来建立一个对潮位和潮时预测的模型,以期做 出 一个逼近真实值的预测效果。

发明内容
本发明的目的针对现有技术的不足,提供一种江河潮水水位的预测方法, 本发明方法利用历史数据对潮水的水位进行自动识别、监测和跟踪,并实现 预报。
本发明的具体步骤是
步骤(l).以MATLAB 6. 5的工具箱函数库中的神经网络函数以及潮水水位 和时间的历史数据为基础构建神经网络模型。具体方法为
①获取潮水水位和时间的连续历史数据W组。潮水水位与时间数据正常情况一天有四组数据,分别为日潮水高潮位的时间和水位值、日潮水低潮位 的时间和水位值、夜潮水高潮位的时间和水位值、夜潮水低潮位的时间和水 位值。将这W组数据分为前后两组,前面的数据组为训练样本数据组iV,.组, 后面的数据组为测试样本数据组气.组,其中W = TV,. + 7Vy , 7V,./7Vy = 2 ~ 4 。
② 确定神经网络的训练模型为三层,输入层为4个节点,中间隐含层为 50个节点,输出层为l个节点。用newff函数创建BP神经网络函数,其中网 络参数设置为神经元传输函数选用tansig函数(双曲正切S形传输函数), 输出层传输函数选用purelin函数(线性传输函数),网络训练方法选用 traingdx函数,训练步数5000次,训练精度为O. 1。
步骤(2).利用MATLAB 6. 5工具箱函数中的神经网络训练函数train函数 进行网络训练,然后利用MATLAB 6. 5工具箱函数中的仿真函数sim函数进行 网络测试。具体方法为
③ 利用MATLAB 6. 5工具箱函数中的神经网络训练函数train函数进行网 络训练的方法是将训练样本数据组转化为4x(iV,-3)的矩阵作为train函数 的输入参数,运行train函数进行训练,训练过程将以达到精度要求或者达 到训练步骤数为停止条件。训练结束后将由系统自动生成一个神经网络模型, 各权值系数隐含,可在MATLAB 6.5系统中査看。
训练样本数据组7V,.转化为4x(A^-3)的矩阵的具体方法是将训练样本数 据组 的第一个数据到第四数据组成第一列,将训练样本数据组的第二个数 据到第五数据组成矩阵的第二列,将训练样本数据组的第三个数据到第六数 据组成矩阵的第三列,依次类推,直到组成4x(7V,.-3)的矩阵。
④ 利用MATLAB 6. 5工具箱函数中的仿真函数sim函数进行网络测试的方 法是将测试样本数据组转化为4x(乂-3)的矩阵作为sim函数的输入参数进 行网络测试。
测试样本数据组转化为4x(乂,3)的矩阵的具体方法是将测试样本数据 组的第一个数据到第四数据组成第一列,将测试样本数据组的第二个数据到 第五数据组成矩阵的第二列,将测试样本数据组的第三个数据到第六数据组成矩阵的第三列,依次类推,直到组成4x(A^-3)的矩阵。
步骤(3).使用经网络训练和网络测试后的神经网络模型和MATLAB 6. 5工 具箱函数的sim函数对下一个高潮位水位值或者下一个低潮位水位值进行预 测。具体方法是在sim函数中输入最后四组的数据作为sim函数的输入参 数,经sim函数计算后得到下一组数据的预测值,此预测值即为下一个高潮 位水位值或者下一个低潮位水位值。
本发明采用将江河潮水的历史数据按规则训练神经网络模型进行预测, 其最大的优点是能够仅仅使用历史潮水数据较为准确的短期预测潮水水位 值。和现行传统预报的方法相比,这种方法可以完全忽略风向、降雨、给排 水、河床变化等不确定因素影响,从而实现仅仅依靠历史数据进行潮水水位 的预测。忽视其他潮水水位因素影响仅仅依靠历史数据低成本地进行潮水水 位预测,这正是本发明的主要目的和最大优点。
具体实施例方式
针对钱塘江的某水文站潮水水位预测,具体实施步骤如下 步骤(l).以MATLAB 6.5的工具箱函数库中的神经网络函数以及钱塘江潮 水水位和时间的历史数据为基础构建神经网络模型。具体方法为
① 获取钱塘江某水文站1990年1410组潮水水位的水文数据。潮水水位 与时间数据正常情况一天有四组数据,分别为日潮水高潮位的时间和水位值、 曰潮水低潮位的时间和水位值、夜潮水高潮位的时间和水位值、夜潮水低潮 位的时间和水位值。将这7V组数据分为前后两组,前面的数据组为训练样本 数据组1000组,后面的数据组为测试样本数据组410组;
② 确定神经网络的训练模型为三层,输入层为4个节点,中间隐含层为 50个节点,输出层为l个节点。用newff函数创建BP神经网络函数,其中网 络参数设置为神经元传输函数选用tansig函数(双曲正切S形传输函数), 输出层传输函数选用purelin函数(线性传输函数),网络训练方法选用 traingdx函数,训练步数5000次,训练精度为O. 1。具体如下
net二newff (mi腦ax (p) , [50 l], {, tansig, , , purelin,} , , traingdx, , , learngdm, , , mse,);其中,如上参数构建的网络以网络名称net表示。 训练终止步骤数为5000次,训练误差精度为0. 1,具体设置如下
net.trainParam. epochs二5000; net.trainPaxam. goal二O.1;
步骤(2).利用MATLAB 6. 5工具箱函数中的神经网络训练函数train函数 进行网络训练,然后利用MATLAB 6. 5工具箱函数中的仿真函数sim函数进行 网络测试。具体方法为
③利用MATLAB 6. 5工具箱函数中的神经网络训练函数train函数进行网 络训练的方法是将训练样本数据组转化为4x997的矩阵作为train函数的输 入参数,运行train函数进行训练,具体为net=train(net, p, t);其中,train
函数参数表中的net表示构建的原始网络,p表示输入的训练样本组的矩阵, t表示用于反向修正权值的真实样本。训练过程将以达到精度要求或者达到训 练步骤数为停止条件。训练结束后将由系统自动生成一个神经网络模型,各 权值系数隐含,可在MATLAB 6. 5系统中查看。
利用MATLAB 6. 5工具箱函数中的仿真函数sim函数进行网络测试的方 法是:将测试样本数据组^.转化为4x407的矩阵作为sim函数的输入参数进行
网络测试。具体为『sim(net,p);其中,net为训练完成的网络,p为测试样本 组的矩阵,a为使用网络输出的仿真值。
步骤(3).使用经网络训练和网络测试后的神经网络模型和MATLAB 6. 5工 具箱函数的sim函数对下一个高潮位水位值或者下一个低潮位水位值进行预 测。具体方法是在sim函数中输入最后四组的数据作为sim函数的输入参
数,经sim函数计算后得到下一组数据的预测值,此预测值即为下一个高潮 位水位值或者下一个低潮位水位值。
采用本发明的使用神经网络对潮水预测方法,通过使用仓前水文站1990 年的1410组数据实验表明,水位预测的精度可以达到0. 1米,其相对误差率 控制在5%以下。
权利要求
1.江河潮水水位的预测方法,其特征在于该方法包括如下步骤步骤(1)以MATLAB 6.5的工具箱函数库中的神经网络函数以及潮水水位和时间的历史数据为基础构建神经网络模型,具体方法为①获取潮水水位和时间的连续历史数据N组;潮水水位与时间数据正常情况一天有四组数据,分别为日潮水高潮位的时间和水位值、日潮水低潮位的时间和水位值、夜潮水高潮位的时间和水位值、夜潮水低潮位的时间和水位值;将这N组数据分为前后两组,前面的数据组为训练样本数据组Ni组,后面的数据组为测试样本数据组Nj组,其中N=Ni+Nj,Ni/Nj=2~4;②确定神经网络的训练模型为三层,输入层为4个节点,中间隐含层为50个节点,输出层为1个节点;用newff函数创建BP神经网络函数,其中网络参数设置为神经元传输函数选用tansig函数,输出层传输函数选用purelin函数,网络训练方法选用traingdx函数,训练步数5000次,训练精度为0.1;步骤(2)利用MATLAB 6.5工具箱函数中的神经网络训练函数train函数进行网络训练,然后利用MATLAB 6.5工具箱函数中的仿真函数sim函数进行网络测试,具体方法为③利用MATLAB 6.5工具箱函数中的神经网络训练函数train函数进行网络训练的方法是将训练样本数据组转化为4×(Ni-3)的矩阵作为train函数的输入参数,运行train函数进行训练,训练过程将以达到精度要求或者达到训练步骤数为停止条件;训练结束后将由系统自动生成一个神经网络模型,各权值系数隐含,可在MATLAB 6.5系统中查看;训练样本数据组Ni转化为4×(Ni-3)的矩阵的具体方法是将训练样本数据组Ni的第一个数据到第四数据组成第一列,将训练样本数据组的第二个数据到第五数据组成矩阵的第二列,将训练样本数据组的第三个数据到第六数据组成矩阵的第三列,依次类推,直到组成4×(Ni-3)的矩阵;④利用MATLAB 6.5工具箱函数中的仿真函数sim函数进行网络测试的方法是将测试样本数据组转化为4×(Nj-3)的矩阵作为sim函数的输入参数进行网络测试;测试样本数据组转化为4×(Nj-3)的矩阵的具体方法是将测试样本数据组的第一个数据到第四数据组成第一列,将测试样本数据组的第二个数据到第五数据组成矩阵的第二列,将测试样本数据组的第三个数据到第六数据组成矩阵的第三列,依次类推,直到组成4×(Nj-3)的矩阵;步骤(3)使用经网络训练和网络测试后的神经网络模型和MATLAB 6.5工具箱函数的sim函数对下一个高潮位水位值或者下一个低潮位水位值进行预测,具体方法是在sim函数中输入最后四组的数据作为sim函数的输入参数,经sim函数计算后得到下一组数据的预测值,此预测值即为下一个高潮位水位值或者下一个低潮位水位值。
全文摘要
本发明涉及一种江河潮水水位的预测方法。传统的潮时预报方法有传播时间法和隔离滞后时间法,上述方法一定程度弱化了潮水受到潮汐、径流、河道地形和风力风向等多重因素的影响关系。本发明的具体步骤是首先以MATLAB 6.5的工具箱函数库中的神经网络函数以及潮水水位和时间的历史数据为基础构建神经网络模型,然后利用工具箱函数中的神经网络训练函数train函数进行网络训练,利用仿真函数sim函数进行网络测试,最后使用经训练和测试后的神经网络模型对下一个高潮位水位值或者下一个低潮位水位值进行预测。本发明使用历史潮水数据进行短期潮水水位值预测,这种方法可以完全忽略风向、降雨、给排水、河床变化等不确定因素影响。
文档编号G06N3/00GK101625732SQ200910101080
公开日2010年1月13日 申请日期2009年8月3日 优先权日2009年8月3日
发明者峰 何, 峰 吴, 王建中, 王瑞荣, 薛安克, 邹洪波 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1