发明名称 基于神经网络的潮水水位和时间预测方法
摘要 本发明涉及一种基于神经网络的潮水水位和时间预测方法。经验式的预报往往具有较大的误差。本发明具体步骤是:首先搭建BP神经网络框架;然后初始化BP神经网络框架,利用随机函数产生的值赋值给权值和偏置值,调用init函数来初始化整个神经网络网络;对历史潮水水位数据和潮水到达时间数据进行归一化处理;训练BP神经网络,对BP神经网络进行测试;最后利用反归一化处理后得到预测值。本发明利用历史潮水水位数据和历史潮水到达时间数据预测得到数据精度优于传统潮水预测方法。
申请公布号 CN101625733B 申请公布日期 2012.08.22
申请号 CN200910101081.3 申请日期 2009.08.03
申请人 杭州电子科技大学 发明人 薛安克;王瑞荣;王建中;吴峰;邹洪波;张作一
分类号 G06N3/02(2006.01)I;G06N3/08(2006.01)I;G01F23/00(2006.01)I 主分类号 G06N3/02(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.基于神经网络的潮水水位和时间预测方法,其特征在于该方法包括如下步骤:步骤(1).搭建BP神经网络框架,调用Matlab6.5函数库中的newff函数,Net=newff(PR,[s<sub>1</sub>s<sub>2</sub>…s<sub>i</sub>],{TF<sub>1</sub> TF<sub>2</sub>…TF<sub>i</sub>},BTF,BLF,PF);Net为BP神经网络框架,PR为输入矩阵中由最大元素和最小元素决定的一个取值范围,S<sub>i</sub>为第i层神经元的个数,TF<sub>i</sub>为第i层的传递函数,1≤i≤N<sub>1</sub>,N<sub>1</sub>为神经网络总层数,BTF为BP神经网络的训练函数,BLF为控制权值和阈值的参数,PF为网络性能函数;步骤(2).初始化BP神经网络框架;利用随机函数产生的值赋值给权值和偏置值,然后调用init函数来初始化整个神经网络网络;步骤(3).对历史潮水水位数据和潮水到达时间数据进行归一化处理;潮水水位数据的归一化处理方法为:利用公式<maths num="0001"><![CDATA[<math><mrow><mover><mi>x</mi><mo>^</mo></mover><mo>=</mo><mfrac><mrow><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub></mrow><mrow><msub><mi>x</mi><mi>max</mi></msub><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub></mrow></mfrac></mrow></math>]]></maths>其中x<sub>max</sub>为潮水水位数据中的最大值,x<sub>min</sub>为潮水水位数据中的最小值;x为待处理的潮水水位数据,<img file="F2009101010813C00012.GIF" wi="26" he="67" />为潮水水位数据归一化处理后的值;潮水到达时间的归一化处理方法为:将格式为24小时制的时间数据的后两位取出,除以60,得出的结果为时间值中的分钟部分;将时间数据的前两位取出,除以24,得出的结果为时间值中的小时部分步骤(4).训练BP神经网络;具体方法是:a、设置网络训练次数、训练目标误差和用来显示的训练步数;b、利用归一化后的潮水水位数据按历史日期顺序,将从第一个数据开始的连续三个数据组成输入矩阵P的第一行,第四个数据组成目标矩阵T的第一行;从第二个数据开始的连续三个数据组成输入矩阵P的第二行,相应的第四个数据组成目标矩阵T的第二行,以此类推;该两矩阵均为N-3行,N为历史数据长度;利用归一化后的潮水到达时间数据将分为小时和分钟两部分,按历史日期顺序,按照步骤b组成输入矩阵P′和目标矩阵T′,因此输入矩阵每行为6个数据,目标矩阵每行为2个数据;同样,该两矩阵均为N-3行,N为历史数据长度;c、利用输入矩阵P和目标矩阵设为T,通过调用train函数,对BP神经网络进行潮水水位数据训练直至收敛;利用输入矩阵P′和目标矩阵设为T′,通过调用train函数,对BP神经网络进行潮水到达时间数据训练直至收敛;步骤(5).对BP神经网络进行测试,将用于测试的历史数据按照步骤(4)b中的输入矩阵格式,组成用于潮水水位预测网络测试的矩阵P_test以及用于潮水到达时间预测网络测试的矩阵P′_test;然后直接调用Matlab工具箱中的sim函数,对测试输入进行仿真;步骤(6).反归一化处理:对测试所得的潮水水位数据按照如下公式进行反归一化处理,得到最终的潮水水位数据x′,<maths num="0002"><![CDATA[<math><mrow><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><msup><mover><mi>x</mi><mo>^</mo></mover><mo>&prime;</mo></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>max</mi></msub><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>x</mi><mi>min</mi></msub><mo>,</mo></mrow></math>]]></maths>其中<img file="F2009101010813C00022.GIF" wi="36" he="79" />为仿真测试得到的潮水水位数据,x<sub>max</sub>为潮水水位数据中的最大值,x<sub>min</sub>为潮水水位数据中的最小值;测试所得的潮水到达时间数据为小时部分和分钟部分,将小时部分乘以24所得值设为A,将分钟部分乘以60所得值设为B,则A×100+B即为测试所得潮水到达时间值。
地址 310018 浙江省杭州市江干区下沙高教园区2号大街