利用相似性搜索和改进bp神经网络预测水位的方法

文档序号:6626310阅读:395来源:国知局
利用相似性搜索和改进bp神经网络预测水位的方法
【专利摘要】本发明公开一种利用相似性搜索和改进的BP神经网络预测水位的方法,根据待预测日前十五日的水位与前五十年拥有相似水文特征月份的水位进行相似性度量,查找出其与每一年最相近的水位时间段,然后将这五十年的最相近的水位时间段以及后一日的水位作为训练集,采用基于遗传算法的BP神经网络进行预测。该方法包括数据预处理,旨在弥补数据缺失错误等;相似性搜索,利用动态弯曲距离和滑动窗口技术,找出该十五日水位与前五十年相似月份水位最小的距离即最相似序列;基于遗传算法的BP神经网络,用遗传算法建立系统层次结构进行全局寻优,并利用BP神经网络的学习训练能力进行预测。本发明能够提前预测水位,为防洪抗灾提供有效的技术支持。
【专利说明】利用相似性搜索和改进BP神经网络预测水位的方法

【技术领域】
[0001]本发明涉及一种利用相似性搜索和基于遗传算法改进的BP神经网络预测水位的技术,尤其涉及对水位信息的相似性搜索以及基于遗传算法的BP神经网络预测技术,属于信息【技术领域】。

【背景技术】
[0002]时间序列是属性值在是时间顺序上的特征,即为时间的积累,随着时代的前行,水文数据也在慢慢的积累,这些水文数据拥有大量、种类多、维度高、更新快等特点,如何对这些数据进行有力的分析,从中得到有用的信息成为人们关注的焦点。随着科学技术的发展以及水文数据的积累,人们给予防洪抗灾更多的关注。如果对于一个流域的某日或多日水位能够进行有效的预测,这将为洪水预报,防洪调度提供有力的技术支持。
[0003]目前存在很多水文预测的方法,但它们都有一些缺陷。使用最广的是水文领域的模型预测,但这些模型一般只能用在特定的流域,它们相互之间具有唯一的对应关系,即适应性弱,并且更注重水文知识的应用,无法得到的很好的推广;排除水文专业知识的局限,比较容易接受的是计算机领域的方法,这更强调对数据的分析,应用各种方法对往年大量数据分析来达到预测的目的,比如基于神经网络的预测,其可能收敛到局部最小值,无法对收敛速度进行控制等;支持向量机的预测,无法实施大规模的训练样本。


【发明内容】

[0004]发明目的:针对现有技术中存在的问题,为提高水位预测的精度以及适应性,本发明提供一种利用相似性搜索和基于遗传算法改进的BP神经网络预测水位的方法。
[0005]技术方案:一种利用相似性搜索和基于遗传算法改进的BP神经网络预测水位的方法,包括:
[0006]a)数据预处理:预处理过程包括:数据选择(data select1n)、数据清洗(datacleaning)、数据转换(data transformat1n)。首先确定需要处理的数据即待预测日前十五日水位和前五十年相同月份的水位值,这就是数据选择;对于水文时间序列中存在的缺失和噪声需要进行清洗,使之不影响结果的正确性;水文时间序列是海量的高维数据,其中蕴含的噪声点(短期的波动)会影响相似性判别,所以需要对时序数据进行平滑处理即数据转换;
[0007]b)相似性度量:根据动态时间弯曲距离,利用待预测日前十五日的水位在五十年同月份水位中查找最相似的水位时间段,将这五十组相似水位及相应的后一日水位作为训练集;
[0008]所述同月份水位:即搜索月份的确定,根据流域水位的水文特性,每年每个季度或者每个月份的水位信息具有一定的特性,比如:太湖流域的水文特点以及季节变换规律是5月份水位比较平缓,6月份则稍稍有所上升。因此在确定搜索月份的时候必须充分考虑流域的水文特点及季节变换规律,将与待搜索十五日的水位特性有相近水文特点的月份列入搜索范围。
[0009]确定好搜索月份后,根据动态时间弯曲(Dynamic Time Warping, DTW)方法,利用滑动窗口技术,在五十年的每年的搜索月份中查找出每年与待搜索十五日水位最相似的水位,并将其起始终止日期标记出来,同时取出每年相似水位后一日的水位,这样就能得到五十组相似水位+后一日水位(相当于待预测日的水位)的训练集。
[0010]c)遗传算法:在训练前,先通过遗传算法对染色体的选择交叉变异等遗传运算找到BP神经网络最优的初始权值。并且,当BP神经网络陷入极小值时,再次转入遗传算法优化网络参数。当满足精度要求后获取最优权值和阈值;
[0011]所述获取最优初始权值:是指产生初始群体并进行群体编码,针对参加训练的输入因子,由于神经网络规模较大,所以用实数编码,即将一个实数直接作为一个染色体的基因位。按照神经网络的常规方法生成网络的权重,编码的组成部分有:输入层与隐含层的连接权值、隐含层与输出层的连接权值、隐含层阈值、输出层阈值。将这些连接在一起形成一个长串,上面每一个位置代表着网络的一个权值和阈值,这就构成了一个个体,产生多个这样的个体就构成了初始群体;
[0012]所述获取最终的最优权值阈值:根据个体得到的BP神经网络的最优初始权值阈值,用训练数据训练BP神经网络得到系统输出即期望的预测输出,个体适应度值就是实际输出与期望输出之间的误差绝对值。将适应度值低的个体进行选择交叉变异,符合优化原则的即为最优权值阈值。
[0013]d)利用BP神经网络训练得到预测值:将由遗传算法得到的最优初始权值以及满足条件的最优权值阈值代入BP神经网络进行训练,得到样本的实际输出与期望输出之间的误差,再按照正常的训练原则调整权值矩阵,再次进行训练,直到得到最终的权值,最后根据待预测日前十五日的水位得到预测值。
[0014]有益效果:与现有技术相比,本发明所提供的利用相似性搜索和遗传算法改进的BP神经网络预测水位的方法有很强的适应性,不受流域的限制,利用相似性搜索能够获取最有效的训练集,并且利用遗传算法改进BP神经网络,避免其陷入局部最小值,能够大大提闻训练效果。

【专利附图】

【附图说明】
[0015]图1为本发明实施例的方法流程图;
[0016]图2为本发明实施例的数据预处理流程图;
[0017]图3为本发明实施例的相似性搜索执行流程图;
[0018]图4为本发明实施例的遗传算法改进的BP神经网络执行流程图;
[0019]图5为本发明实施例的遗传算法执行流程图;
[0020]图6为本发明实施例的BP神经网络执行流程图。

【具体实施方式】
[0021]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0022]如图1所示:
[0023]a)数据预处理:包括数据选择、数据清洗、数据转换。
[0024]首先确定需要处理的数据即待预测日前十五日水位和前五十年相同月份的水位值,这就是数据选择;对于水文时间序列中存在的缺失和噪声需要进行清洗,使之不影响结果的正确性;水文时间序列是海量的高维数据,其中蕴含的噪声点(短期的波动)会影响相似性判别,所以需要对时序数据进行平滑处理即数据转换;
[0025]b)相似性度量:根据动态时间弯曲距离,利用待预测日前十五日的水位在五十年同月份水位中查找最相似的水位时间段,将这五十组相似水位及相应的后一日水位作为训练集;
[0026]所述同月份水位:即搜索月份的确定,根据流域水位的水文特性,每年每个季度或者每个月份的水位信息具有一定的特性,比如:太湖流域的水文特点以及季节变换规律是5月份水位比较平缓,6月份则稍稍有所上升。因此在确定搜索月份的时候必须充分考虑流域的水文特点及季节变换规律,将与待搜索十五日的水位特性有相近水文特点的月份列入搜索范围。
[0027]确定好搜索月份后,根据动态时间弯曲方法,利用滑动窗口技术,在五十年的每年的搜索月份中查找出每年与待搜索十五日水位最相似的水位,并将其起始终止日期标记出来,同时取出每年相似水位后一日的水位,这样就能得到(五十组相似水位+后一日水位(相当于待预测日的水位))的训练集。
[0028]c)遗传算法:在训练前,先通过遗传算法对染色体的选择交叉变异等遗传运算找到BP神经网络最优的初始权值。并且,当BP神经网络陷入极小值时,再次转入遗传算法优化网络参数。当满足一定的精度后获取最优权值和阈值;
[0029]所述获取最优初始权值:是指产生初始群体并进行群体编码,针对参加训练的输入因子,由于神经网络规模较大,所以用实数编码,即将一个实数直接作为一个染色体的基因位。按照神经网络的常规方法生成网络的权重,编码的组成部分有:输入层与隐含层的连接权值、隐含层与输出层的连接权值、隐含层阈值、输出层阈值。将这些连接在一起形成一个长串,上面每一个位置代表着网络的一个权值和阈值,这就构成了一个个体,产生多个这样的个体就构成了初始群体;
[0030]所述获取最终的最优权值阈值:根据个体得到的BP神经网络的最优初始权值阈值,用训练数据训练BP神经网络得到系统输出即期望的预测输出,个体适应度值就是实际输出与期望输出之间的误差绝对值。将适应度值低的个体进行选择交叉变异,符合优化原则的即为最优权值阈值。
[0031]d)BP神经网络:将由遗传算法得到的最优初始权值以及满足条件的最优权值阈值代入BP神经网络进行训练,得到样本的实际输出与期望输出之间的误差,再按照正常的训练原则调整权值矩阵,再次进行训练,直到得到最终的权值,最后根据待预测日前十五日的水位得到预测值。
[0032]如图2为数据预处理流程图:
[0033]实际生活中,由于观测设备故障、系统滞后等原因,造成水文数据库中一个或连续多个时间点的数据缺失。这样的低质量数据在一定程度上会影响相似性的判别结果,进而影响预测结果的准确性,因此必须对水文观测数据加以预处理。采用插值,数据填充,序列平滑等变换方法对时间序列进行预处理,为相似性搜索模型做准备。预处理过程包括:数据选择、数据清洗、数据转换。
[0034]首先确定需要处理的数据即某流域待预测日前十五日水位和前五十年相同月份的水位值,这就是数据选择;
[0035]对于水文时间序列中存在的缺失需要进行清洗,使之不影响结果的正确性,对于时间序列中的数据缺失,其形成原因常是数据收集过程中数据采集设备故障,网络传输缺失或人工遗漏。忽略这些数据或者简单使用数据进行补全,通常会影响相似性查询的结果,导致不可靠的匹配结果,进而影响预测的结果。使用相关时间序列在该时间段上的总体平均值来填补缺失;例如参考临近的多个测站对应时间段的信息;
[0036]水文时间序列是海量的高维数据,其中蕴含的噪声点(短期的波动)会影响相似性判别,所以需要对时序数据进行平滑处理即数据转换。利用离散小波变换(DWT)进行多尺度的变换,得到低频信号直到满足所要求的平滑程度为止。
[0037]如图3为相似性搜索执行流程图。包括如下步骤:
[0038]步骤101,按照权利书中所说的确定好搜索月份后,将待匹配序列即待预测日前十五日的水位时间序列以及待搜索序列即搜索月份的水位时间序列进行标准化。采用零-均值方法,对于原始序列C,将其标准化为序列C',其中u和V分别为该序列的平均值和标准差:
’ Ci — U ,1、
[0039]Ci =--⑴

F
[0040]步骤102,确定滑动窗口的长度,一般为待匹配序列长度的1/2或2倍,即[7,21],并将匹配长度初始化为7 ;
[0041]步骤103,判断匹配的长度是否介于滑动窗口长度的最小值和最大值之间即[7,21],若是,则进行下一步,否则进行步骤106 ;
[0042]步骤104,判断是否以此长度的滑动窗口将一条搜索序列匹配结束,若不是则进行下一步,否则将滑动窗口的长度加一进行步骤103 ;
[0043]步骤105,计算一定长度的滑动窗口每向后移一位得到的序列与待匹配序列之间的DTW距离,并标记相应序列起始终止位置。计算长度分别为m和η时间序列X和Y之间的DTW距离过程如下:
[0044](I)构造X和Y之间的矩阵M,M中坐标(i,j)对应的值Hiij为Xi与y」之间的欧式距离(Kxi, Ji);
[0045](2)构造累计矩阵R,坐标(i,j)对应的值得计算公式如下:
[0046]r1;1 = (Kx1, J1) (2)
[0047]ri; j = d (Xi, yj) +min Iri^^1, j, ri; }
[0048](3)最终时间序列弯曲路径的最小累加值就是时间序列X和Y之间的DTW距离。
[0049]计算一定长度的滑动窗口遍历完一条搜索序列后所有的DTW距离并记录后,重复步骤104 ;
[0050]步骤106,对于一条搜索序列即五十年中一年的搜索月份的水位时间序列,计算出待匹配序列与其所有的DTW距离,比较得出最短距离以及对应的起始终止位置即对应起始终止日期,这样就得到了五十年中一年的最相似序列,将这条序列及其后一日水位作为一个训练样本,其他年份以此类推,那么就得到了所有的训练集。
[0051]如图4所示,为本实施例的遗传算法改进的BP神经网络执行流程图:
[0052]遗传算法初始种群中的每条染色体都由BP神经网络中的初始权值阈值组成,并进行群体编码。将由初始化的BP神经网络得到的系统输出与实际输出之间的误差绝对值作为个体适应度值。将适应度值低的个体进行选择交叉变异,符合优化原则的作为最优权值阈值,输入到BP神经网络进行训练,不断运用BP算法的学习,直到得到最终的权值,即确定出最适合的神经网络,最后根据待预测日前十五日的水位得到预测值。
[0053]如图5所示,为本实施例的遗传算法执行流程图。包括如下步骤:
[0054]步骤201,产生初始群体并进行群体编码,针对参加训练的输入因子,使用实数编码,即将一个实数直接作为一个染色体的基因位。按照神经网络的常规方法生成网络的权重,编码的组成部分有:输入层与隐含层的连接权值、隐含层与输出层的连接权值、隐含层阈值、输出层阈值。将这些连接在一起形成一个长串,上面每一个位置代表着网络的一个权值和阈值,这就构成了一个个体,产生多个这样的个体就构成了初始群体;
[0055]步骤202,根据个体得到的BP神经网络的最优初始权值阈值,用训练数据训练BP神经网络得到系统输出,个体适应度值就是实际输出与系统输出之间的误差绝对值AEi,个体适应度值f (i)就是:
[0056]f (i) = M/ Δ Ei (3)
[0057]其中,M是大数,为了防止适应度值太小,这样可以使遗传算法向适应症增大的方向进化;
[0058]步骤203,分析群体的适应度,如果符合优化原则,则直接输出最优个体及参数即最优权值和阈值进入BP神经网络,否则进行下一步;
[0059]步骤204,根据每个个体的适应度值进行选择计算,保留拥有高适应度值的个体,将适应度值最大的直接进入下一代,不进行交叉变异等遗传操作,这样可以防止其退化。选择概率p(i)为:
[0060]Pd) = f(i) / yV , f(i)(4)


=1
[0061]其中,N为种群个体数目;
[0062]步骤205,交叉算子作用于整个个体产生新的一代,如第i个个体与第j个个体在k位的交叉操作为:
Iaik = (I — a)aik + aa,
[0063].、iA 'Α(5)
[ajk = (1 — a)aJk + aajk
[0064]其中,α是[0,I]之间的随机数;
[0065]步骤206,使用变异算子对群体中的个体进行结构变异调整产生新个体,将第i个个体的第j个基因au进行变异,变异操作如下:
[0066]= — ^~)2


maxΓ—]ia" +(a".- aJr(裒)a > 0.5
[0067]= \、…(6)
— [a,-,- + (amin - ai7.)f(g)a<0.5
[0068]其中,amax和amin分别是au的最大值和最小值,α是[0,I]之间的随机数,g是当前的迭代次数,Gfflax是最大进化次数。
[0069]经过选择交叉变异后的个体成为下一代群体,重复步骤203。
[0070]如图6所示,为本发明的BP神经网络执行流程图,具体包括如下步骤:
[0071]步骤301,网络建立:确定网络拓扑,将由遗传算法得到的最优初始权值以及满足条件的最优权值阈值解码后代入BP神经网络进行训练;
[0072]步骤302,给定输入向量和目标输出,前五十年每年最相似的时间段水位为输入向量,每年相似水位模式的后一日水位作为目标输出;
[0073]步骤303,求隐含层和输出层的输出及对应的训练误差;
[0074]步骤304,根据每次训练得到的误差来调整网络的权值和阈值,若训练误差小于设定误差则调整权值矩阵,重复步骤303,经过反复迭代得到最终的网络;
[0075]步骤305,根据待预测日前十五日的水位输入BP神经网络得到预测值。
【权利要求】
1.一种利用相似性搜索和改进BP神经网络预测水位的方法,其特征在于,包括: a)数据预处理,包括:数据选择、数据清洗、数据转换; 首先确定需要处理的数据即待预测日前十五日水位和前五十年相同月份的水位值,这就是数据选择;对于水文时间序列中存在的缺失和噪声需要进行清洗,使之不影响结果的正确性即数据清洗;对时序数据进行平滑处理即数据转换,采用插值、数据填充、序列平滑等变换方法对时间序列进行预处理,为相似性搜索模型做准备; b)相似性度量:根据动态时间弯曲距离,利用滑动窗口技术,用待预测日前十五日的水位在五十年同月份水位中查找最相似的水位时间段,将这五十组相似水位及相应的后一日水位作为训练集; c)遗传算法:在训练前,先通过遗传算法对染色体的选择交叉变异等遗传运算找到BP神经网络最优的初始权值;并且,当BP神经网络陷入极小值时,再次转入遗传算法优化网络参数;当满足一定的精度后获取最优权值和阈值; d)BP神经网络即反向传播神经网络:将由遗传算法得到的最优初始权值以及满足条件的最优权值阈值代入BP神经网络进行训练,得到样本的实际输出与期望输出之间的误差,再按照正常的训练原则调整权值矩阵,再次进行训练,直到得到最终的权值,最后根据待预测日前十五日的水位得到预测值。
2.如权利要求1所述的利用相似性搜索和改进BP神经网络预测水位的方法,其特征在于,所述同月份水位:即搜索月份的确定,根据流域水位的水文特性,每年每个季度或者每个月份的水位信息具有一定的特性,因此在确定搜索月份的时候必须充分考虑流域的水文特点及季节变换规律,将与待搜索十五日的水位特性有相近水文特点的月份列入搜索范围; 确定好搜索月份后,根据动态时间弯曲方法,利用滑动窗口技术,在五十年的每年的搜索月份中查找出每年与待搜索十五日水位最相似的水位,并将其起始终止日期标记出来,同时取出每年相似水位后一日的水位,这样就能得到五十组相似水位+后一日水位的训练集。
3.如权利要求1所述的利用相似性搜索和改进BP神经网络预测水位的方法,其特征在于,所述获取最优初始权值:是指产生初始群体并进行群体编码,针对参加训练的输入因子,由于神经网络规模较大,所以用实数编码,即将一个实数直接作为一个染色体的基因位,生成网络的权重,编码的组成部分有:输入层与隐含层的连接权值、隐含层与输出层的连接权值、隐含层阈值、输出层阈值; 将这些连接在一起形成一个长串,上面每一个位置代表着网络的一个权值和阈值,这就构成了一个个体,产生多个这样的个体就构成了初始群体; 所述获取最终的最优权值阈值:根据个体得到的BP神经网络的最优初始权值阈值,用训练数据训练BP神经网络得到系统输出即期望的预测输出,个体适应度值就是实际输出与期望输出之间的误差绝对值;将适应度值低的个体进行选择交叉变异,符合优化原则的即为最优权值阈值。
【文档编号】G06N3/02GK104239489SQ201410454011
【公开日】2014年12月24日 申请日期:2014年9月5日 优先权日:2014年9月5日
【发明者】张鹏程, 万定生, 肖艳, 朱跃龙, 冯钧, 刘宗磊, 庄媛, 周宇鹏 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1