首页> 中国专利> 利用相似性搜索和改进BP神经网络预测水位的方法

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

摘要

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

著录项

  • 公开/公告号CN104239489A

    专利类型发明专利

  • 公开/公告日2014-12-24

    原文格式PDF

  • 申请/专利权人 河海大学;

    申请/专利号CN201410454011.7

  • 申请日2014-09-05

  • 分类号G06F17/30(20060101);G06N3/02(20060101);G06Q10/04(20120101);G06Q50/00(20120101);

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人李玉平

  • 地址 211100 江苏省南京市江宁区佛城西路8号

  • 入库时间 2023-12-17 04:44:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-12

    未缴年费专利权终止 IPC(主分类):G06F17/30 专利号:ZL2014104540117 申请日:20140905 授权公告日:20180320

    专利权的终止

  • 2018-03-20

    授权

    授权

  • 2015-01-14

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140905

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

技术领域

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

背景技术

时间序列是属性值在是时间顺序上的特征,即为时间的积累,随着时代的 前行,水文数据也在慢慢的积累,这些水文数据拥有大量、种类多、维度高、 更新快等特点,如何对这些数据进行有力的分析,从中得到有用的信息成为人 们关注的焦点。随着科学技术的发展以及水文数据的积累,人们给予防洪抗灾 更多的关注。如果对于一个流域的某日或多日水位能够进行有效的预测,这将 为洪水预报,防洪调度提供有力的技术支持。

目前存在很多水文预测的方法,但它们都有一些缺陷。使用最广的是水文 领域的模型预测,但这些模型一般只能用在特定的流域,它们相互之间具有唯 一的对应关系,即适应性弱,并且更注重水文知识的应用,无法得到的很好的 推广;排除水文专业知识的局限,比较容易接受的是计算机领域的方法,这更 强调对数据的分析,应用各种方法对往年大量数据分析来达到预测的目的,比 如基于神经网络的预测,其可能收敛到局部最小值,无法对收敛速度进行控制 等;支持向量机的预测,无法实施大规模的训练样本。

发明内容

发明目的:针对现有技术中存在的问题,为提高水位预测的精度以及适应性, 本发明提供一种利用相似性搜索和基于遗传算法改进的BP神经网络预测水位的 方法。

技术方案:一种利用相似性搜索和基于遗传算法改进的BP神经网络预测水 位的方法,包括:

a)数据预处理:预处理过程包括:数据选择(data selection)、数据清洗(data  cleaning)、数据转换(data transformation)。首先确定需要处理的数据即待预测 日前十五日水位和前五十年相同月份的水位值,这就是数据选择;对于水文时间 序列中存在的缺失和噪声需要进行清洗,使之不影响结果的正确性;水文时间序 列是海量的高维数据,其中蕴含的噪声点(短期的波动)会影响相似性判别,所 以需要对时序数据进行平滑处理即数据转换;

b)相似性度量:根据动态时间弯曲距离,利用待预测日前十五日的水位在五 十年同月份水位中查找最相似的水位时间段,将这五十组相似水位及相应的后一 日水位作为训练集;

所述同月份水位:即搜索月份的确定,根据流域水位的水文特性,每年每个 季度或者每个月份的水位信息具有一定的特性,比如:太湖流域的水文特点以及 季节变换规律是5月份水位比较平缓,6月份则稍稍有所上升。因此在确定搜索 月份的时候必须充分考虑流域的水文特点及季节变换规律,将与待搜索十五日的 水位特性有相近水文特点的月份列入搜索范围。

确定好搜索月份后,根据动态时间弯曲(Dynamic Time Warping,DTW)方 法,利用滑动窗口技术,在五十年的每年的搜索月份中查找出每年与待搜索十五 日水位最相似的水位,并将其起始终止日期标记出来,同时取出每年相似水位后 一日的水位,这样就能得到五十组相似水位+后一日水位(相当于待预测日的水 位)的训练集。

c)遗传算法:在训练前,先通过遗传算法对染色体的选择交叉变异等遗传运 算找到BP神经网络最优的初始权值。并且,当BP神经网络陷入极小值时,再 次转入遗传算法优化网络参数。当满足精度要求后获取最优权值和阈值;

所述获取最优初始权值:是指产生初始群体并进行群体编码,针对参加训练 的输入因子,由于神经网络规模较大,所以用实数编码,即将一个实数直接作为 一个染色体的基因位。按照神经网络的常规方法生成网络的权重,编码的组成部 分有:输入层与隐含层的连接权值、隐含层与输出层的连接权值、隐含层阈值、 输出层阈值。将这些连接在一起形成一个长串,上面每一个位置代表着网络的一 个权值和阈值,这就构成了一个个体,产生多个这样的个体就构成了初始群体;

所述获取最终的最优权值阈值:根据个体得到的BP神经网络的最优初始权 值阈值,用训练数据训练BP神经网络得到系统输出即期望的预测输出,个体适 应度值就是实际输出与期望输出之间的误差绝对值。将适应度值低的个体进行选 择交叉变异,符合优化原则的即为最优权值阈值。

d)利用BP神经网络训练得到预测值:将由遗传算法得到的最优初始权值以 及满足条件的最优权值阈值代入BP神经网络进行训练,得到样本的实际输出与 期望输出之间的误差,再按照正常的训练原则调整权值矩阵,再次进行训练,直 到得到最终的权值,最后根据待预测日前十五日的水位得到预测值。

有益效果:与现有技术相比,本发明所提供的利用相似性搜索和遗传算法改 进的BP神经网络预测水位的方法有很强的适应性,不受流域的限制,利用相似 性搜索能够获取最有效的训练集,并且利用遗传算法改进BP神经网络,避免其 陷入局部最小值,能够大大提高训练效果。

附图说明

图1为本发明实施例的方法流程图;

图2为本发明实施例的数据预处理流程图;

图3为本发明实施例的相似性搜索执行流程图;

图4为本发明实施例的遗传算法改进的BP神经网络执行流程图;

图5为本发明实施例的遗传算法执行流程图;

图6为本发明实施例的BP神经网络执行流程图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本 发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发 明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

如图1所示:

a)数据预处理:包括数据选择、数据清洗、数据转换。

首先确定需要处理的数据即待预测日前十五日水位和前五十年相同月份的 水位值,这就是数据选择;对于水文时间序列中存在的缺失和噪声需要进行清洗, 使之不影响结果的正确性;水文时间序列是海量的高维数据,其中蕴含的噪声点 (短期的波动)会影响相似性判别,所以需要对时序数据进行平滑处理即数据转 换;

b)相似性度量:根据动态时间弯曲距离,利用待预测日前十五日的水位在五 十年同月份水位中查找最相似的水位时间段,将这五十组相似水位及相应的后一 日水位作为训练集;

所述同月份水位:即搜索月份的确定,根据流域水位的水文特性,每年每个 季度或者每个月份的水位信息具有一定的特性,比如:太湖流域的水文特点以及 季节变换规律是5月份水位比较平缓,6月份则稍稍有所上升。因此在确定搜索 月份的时候必须充分考虑流域的水文特点及季节变换规律,将与待搜索十五日的 水位特性有相近水文特点的月份列入搜索范围。

确定好搜索月份后,根据动态时间弯曲方法,利用滑动窗口技术,在五十年 的每年的搜索月份中查找出每年与待搜索十五日水位最相似的水位,并将其起始 终止日期标记出来,同时取出每年相似水位后一日的水位,这样就能得到(五十 组相似水位+后一日水位(相当于待预测日的水位))的训练集。

c)遗传算法:在训练前,先通过遗传算法对染色体的选择交叉变异等遗传运 算找到BP神经网络最优的初始权值。并且,当BP神经网络陷入极小值时,再 次转入遗传算法优化网络参数。当满足一定的精度后获取最优权值和阈值;

所述获取最优初始权值:是指产生初始群体并进行群体编码,针对参加训练 的输入因子,由于神经网络规模较大,所以用实数编码,即将一个实数直接作为 一个染色体的基因位。按照神经网络的常规方法生成网络的权重,编码的组成部 分有:输入层与隐含层的连接权值、隐含层与输出层的连接权值、隐含层阈值、 输出层阈值。将这些连接在一起形成一个长串,上面每一个位置代表着网络的一 个权值和阈值,这就构成了一个个体,产生多个这样的个体就构成了初始群体;

所述获取最终的最优权值阈值:根据个体得到的BP神经网络的最优初始权 值阈值,用训练数据训练BP神经网络得到系统输出即期望的预测输出,个体适 应度值就是实际输出与期望输出之间的误差绝对值。将适应度值低的个体进行选 择交叉变异,符合优化原则的即为最优权值阈值。

d)BP神经网络:将由遗传算法得到的最优初始权值以及满足条件的最优权 值阈值代入BP神经网络进行训练,得到样本的实际输出与期望输出之间的误差, 再按照正常的训练原则调整权值矩阵,再次进行训练,直到得到最终的权值,最 后根据待预测日前十五日的水位得到预测值。

如图2为数据预处理流程图:

实际生活中,由于观测设备故障、系统滞后等原因,造成水文数据库中一个 或连续多个时间点的数据缺失。这样的低质量数据在一定程度上会影响相似性的 判别结果,进而影响预测结果的准确性,因此必须对水文观测数据加以预处理。 采用插值,数据填充,序列平滑等变换方法对时间序列进行预处理,为相似性搜 索模型做准备。预处理过程包括:数据选择、数据清洗、数据转换。

首先确定需要处理的数据即某流域待预测日前十五日水位和前五十年相同 月份的水位值,这就是数据选择;

对于水文时间序列中存在的缺失需要进行清洗,使之不影响结果的正确性, 对于时间序列中的数据缺失,其形成原因常是数据收集过程中数据采集设备故 障,网络传输缺失或人工遗漏。忽略这些数据或者简单使用数据进行补全,通常 会影响相似性查询的结果,导致不可靠的匹配结果,进而影响预测的结果。使用 相关时间序列在该时间段上的总体平均值来填补缺失;例如参考临近的多个测站 对应时间段的信息;

水文时间序列是海量的高维数据,其中蕴含的噪声点(短期的波动)会影响 相似性判别,所以需要对时序数据进行平滑处理即数据转换。利用离散小波变换 (DWT)进行多尺度的变换,得到低频信号直到满足所要求的平滑程度为止。

如图3为相似性搜索执行流程图。包括如下步骤:

步骤101,按照权利书中所说的确定好搜索月份后,将待匹配序列即待预测 日前十五日的水位时间序列以及待搜索序列即搜索月份的水位时间序列进行标 准化。采用零-均值方法,对于原始序列C,将其标准化为序列C′,其中u和v 分别为该序列的平均值和标准差:

ci,=ci-uv---(1)

步骤102,确定滑动窗口的长度,一般为待匹配序列长度的1/2或2倍,即 [7,21],并将匹配长度初始化为7;

步骤103,判断匹配的长度是否介于滑动窗口长度的最小值和最大值之间即 [7,21],若是,则进行下一步,否则进行步骤106;

步骤104,判断是否以此长度的滑动窗口将一条搜索序列匹配结束,若不是 则进行下一步,否则将滑动窗口的长度加一进行步骤103;

步骤105,计算一定长度的滑动窗口每向后移一位得到的序列与待匹配序列 之间的DTW距离,并标记相应序列起始终止位置。计算长度分别为m和n时间 序列X和Y之间的DTW距离过程如下:

(1)构造X和Y之间的矩阵M,M中坐标(i,j)对应的值mij为xi与yj之 间的欧式距离d(xi,yi);

(2)构造累计矩阵R,坐标(i,j)对应的值得计算公式如下:

r1,1=d(x1,y1)   (2)

ri,j=d(xi,yj)+min{ri-1,j-1,ri-1,j,ri,j-1}

(3)最终时间序列弯曲路径的最小累加值rm,n就是时间序列X和Y之间的 DTW距离。

计算一定长度的滑动窗口遍历完一条搜索序列后所有的DTW距离并记录 后,重复步骤104;

步骤106,对于一条搜索序列即五十年中一年的搜索月份的水位时间序列, 计算出待匹配序列与其所有的DTW距离,比较得出最短距离以及对应的起始终 止位置即对应起始终止日期,这样就得到了五十年中一年的最相似序列,将这条 序列及其后一日水位作为一个训练样本,其他年份以此类推,那么就得到了所有 的训练集。

如图4所示,为本实施例的遗传算法改进的BP神经网络执行流程图:

遗传算法初始种群中的每条染色体都由BP神经网络中的初始权值阈值组 成,并进行群体编码。将由初始化的BP神经网络得到的系统输出与实际输出之 间的误差绝对值作为个体适应度值。将适应度值低的个体进行选择交叉变异,符 合优化原则的作为最优权值阈值,输入到BP神经网络进行训练,不断运用BP 算法的学习,直到得到最终的权值,即确定出最适合的神经网络,最后根据待预 测日前十五日的水位得到预测值。

如图5所示,为本实施例的遗传算法执行流程图。包括如下步骤:

步骤201,产生初始群体并进行群体编码,针对参加训练的输入因子,使用 实数编码,即将一个实数直接作为一个染色体的基因位。按照神经网络的常规方 法生成网络的权重,编码的组成部分有:输入层与隐含层的连接权值、隐含层与 输出层的连接权值、隐含层阈值、输出层阈值。将这些连接在一起形成一个长串, 上面每一个位置代表着网络的一个权值和阈值,这就构成了一个个体,产生多个 这样的个体就构成了初始群体;

步骤202,根据个体得到的BP神经网络的最优初始权值阈值,用训练数据 训练BP神经网络得到系统输出,个体适应度值就是实际输出与系统输出之间的 误差绝对值ΔEi,个体适应度值f(i)就是:

f(i)=M/ΔEi   (3)

其中,M是大数,为了防止适应度值太小,这样可以使遗传算法向适应症 增大的方向进化;

步骤203,分析群体的适应度,如果符合优化原则,则直接输出最优个体及 参数即最优权值和阈值进入BP神经网络,否则进行下一步;

步骤204,根据每个个体的适应度值进行选择计算,保留拥有高适应度值的 个体,将适应度值最大的直接进入下一代,不进行交叉变异等遗传操作,这样可 以防止其退化。选择概率P(i)为:

P(i)=f(i)/Σi=1Nf(i)---(4)

其中,N为种群个体数目;

步骤205,交叉算子作用于整个个体产生新的一代,如第i个个体与第j个 个体在k位的交叉操作为:

aik=(1-α)aik+αajkajk=(1-α)ajk+αajk---(5)

其中,α是[0,1]之间的随机数;

步骤206,使用变异算子对群体中的个体进行结构变异调整产生新个体,将 第i个个体的第j个基因aij进行变异,变异操作如下:

f(g)=α(1-gGmax)2

aij=aij+(aij-amax)f(g)α>0.5aij+(amin-aij)f(g)α0.5---(6)

其中,amax和amin分别是aij的最大值和最小值,α是[0,1]之间的随机数,g 是当前的迭代次数,Gmax是最大进化次数。

经过选择交叉变异后的个体成为下一代群体,重复步骤203。

如图6所示,为本发明的BP神经网络执行流程图,具体包括如下步骤:

步骤301,网络建立:确定网络拓扑,将由遗传算法得到的最优初始权值以 及满足条件的最优权值阈值解码后代入BP神经网络进行训练;

步骤302,给定输入向量和目标输出,前五十年每年最相似的时间段水位为 输入向量,每年相似水位模式的后一日水位作为目标输出;

步骤303,求隐含层和输出层的输出及对应的训练误差;

步骤304,根据每次训练得到的误差来调整网络的权值和阈值,若训练误差 小于设定误差则调整权值矩阵,重复步骤303,经过反复迭代得到最终的网络;

步骤305,根据待预测日前十五日的水位输入BP神经网络得到预测值。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号