法律状态公告日
法律状态信息
法律状态
2019-12-03
授权
授权
2017-11-24
实质审查的生效 IPC(主分类):G06N3/04 申请日:20170706
实质审查的生效
2017-10-24
公开
公开
技术领域
本发明涉及一种基于深度学习算法与混合整数线性规划相结合的水质波动区间预测方法,属于水环境保护与监测研究领域。
背景技术
水是生命之源,人类在生活和生产活动中都离不开水。随着我国经济快速发展、人口的膨胀以及河流湖泊的自净能力下降,我国江河湖泊普遍遭受不同程度污染,全国75%的湖泊出现了不同程度的富营养化。水污染降低了水体的使用功能,加剧了水资源短缺,对我国可持续发展战略的实施带来了负面影响。根据水质监测历史数据,建立水质预测模型,准确地预测水体中污染物浓度随时间发展变化的趋势,不仅可以实现对水质的实时分析评价、预警,而且可以有效控制和减少水质恶化造成的危害,达到对水质恶化的有效认知、控制的目标,使整个水系的安全保障体系进入良性循环。及时有效的水质预测可以为水质预警提供可靠的评价及预警依据,是水环境管理和污染控制的基础工作,也是近年来水环境保护和监测科学领域的研究热点之一。
水环境系统是一个受到生物、化学、物理、人为等多种因素影响的复杂系统,水质随时间非线性地变化,因此以传统方法很难建立一个精确的水质预测模型。然而,在一些局部水环境系统中,长期来看水质的变化是缓慢的、有规律可循的。另外,由于水质变化具有一定的随机不确定性,在实际应用中一定置信度下的区间预测能够提供有关不确定性的重要信息,有助于确定水质预测结果的可信度。
发明内容
本发明的目的在于针对现有技术的不足,提供一种水质波动区间预测方法,基于水质指标的历史时间序列数据,用深度学习和混合整数线性规划相结合的方法,对水质指标进行一定置信度下的精细的区间预测,从准确性和波动性两个角度进行预测。
本发明的目的是通过以下技术方案来实现的:一种基于深度学习算法与混合整数线性规划相结合的水质波动区间预测方法,该方法包括以下步骤:
(1)对水质历史数据进行预处理:修补缺失的历史数据,并进行归一化处理;将预处理后的数据分成相互独立的训练集和验证集;
(2)利用步骤(1)中经过预处理后的训练集的水质数据时间序列,进行基于深度学习LSTM(Long Short-Term Memory)模型的点预测建模,得到点预测模型;
(3)基于步骤(2)的点预测模型,利用步骤(1)中经过预处理后的验证集构造关于置信度c的基于混合整数线性规划的区间预测通用模型,通用模型的目标为最小化区间预测的平均相对区间宽度,目标函数如下:
其中U(valid_pij)和L(valid_pij)为最优预测区间的上下边界,valid_pij为LSTM点预测值,valid_rij为真实值,N是验证集中的样本数量;
约束条件如下:
U(valid_pij)=valid_pij×αj
L(valid_pij)=valid_pij×βj,
L(valid_pij)=valid_rij+valid_rij×μi,1-valid_rij×μi,2
U(valid_pij)=valid_rij+valid_rij×μi,3-valid_rij×μi,4
0≤μi,1≤Ii,1
0≤μi,2≤Ii,2
Ii,1+Ii,2=1
0≤μi,3≤Ii,3
0≤μi,4≤Ii,4
Ii,3+Ii,4=1
其中αj和βj为在当前时刻t后的第j个时刻的最优预测区间的上下边界比例系数,满足αj>0,βj>0,αj>βj;μi,1,μi,2,μi,3,μi,4为连续型变量,Ii,1,Ii,2,Ii,3,Ii,4为Bool型变量;
求解得到最优预测区间的上下边界比例系数αj和βj;
(4)基于步骤(2)得到的点预测模型和步骤(3)得到的最优预测区间的上下边界比例系数,求得未来时刻的水质波动的区间预测值。
进一步地,所述步骤(2)中,建立的点预测模型包含多隐含层、Relu激活函数和Dropout机制;并基于验证集确定最优的隐含层节点参数、Dropout比例、相关前置影响参数。
本发明的有益效果是:基于水质指标的历史时间序列数据,用深度学习和混合整数线性规划的方法对水质进行区间预测,不仅可以为水质预警提供可靠的评价及预警依据,而且可以促进整个水系的安全保障体系进入良性循环。本发明提出的方法集成了LSTM时间序列预测方法的优势,同时通过混合整数线性规划方法弥补了LSTM确定性预测方法的劣势,此外最优区间预测的混合整数线性规划方法在求解上避免了智能寻优算法易陷入局部最优解的问题。
附图说明
图1为本发明方法整体流程框图;
图2为双隐含层的LSTM时间序列点预测模型架构;
图3为水质指标部分测试样本的区间预测结果。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
基于深度学习算法与混合整数线性规划相结合的水质波动区间预测方法的整体流程框图如图1所示,具体包括以下步骤:
步骤一、水质指标的历史数据预处理
水质指标的预测属于时间序列预测问题,任何一个时间点的数据缺失都会在一定程度上影响整体预测的准确性,故有必要将水质监测历史数据补全。根据缺失点前后的已知数据,用最小二乘的方法构造拟合多项式,再根据这个多项式进行水质指标历史数据缺失值的补充。
在深度学习的模型训练中,一般会进行输入数据的归一化处理,以消除样本幅值对模型训练的不利影响。采取如下的归一化处理办法,将输入数据映射到[0,1]区间:
其中x是样本生数据,xmax和xmin分别为样本生数据的最大值和最小值,yp为x归一化处理后的数据。
步骤二、LSTM时间序列点预测方法
首先进行数据集划分。本实施例中以采用PH值、DO、CODMn和NH3-N四种水质指标为例,但不仅限于这四种水质指标。分别将PH值、DO、CODMn和NH3-N四种主要水质指标的历史时间序列数据,按60%、30%、10%划分为独立的训练集、验证集和测试集,如图1所示,其中测试集用于验证本发明方法的有效性。
假设当前时刻t下,已知量为y1,…,yt,需要预测未来t+1,…,t+m共计m时刻的值yt+1,…,yt+m。假设未来m个时刻的水质指标与其最临近的d个时刻的已知水质指标密切相关,构造训练样本数据集Xtrain{yk-m-d+1,…,yk-m}→Ytrain{yk-m+1,…,yk},k=t,…,m+d,将样本数据集中的{yk-m-d+1,…,yk-m}作为输入,送入LSTM网络,{yk-m+1,…,yk}作为网络模型理想输出的参照值。故可以确定,LSTM网络的输入层节点数为d个,输出层节点数为m个。
双隐含层的LSTM时间序列点预测模型架构如图2所示。本实施例中采用了近似生物神经激活函数Relu和随机丢弃机制Dropout。激活函数Relu模型曲线的变化特点:单侧抑制,相对宽阔的兴奋边界,稀疏激活性。很多研究使用非线性激活函数Relu代替常用的非线性激活函数,如Sigmoid,显示出遥遥领先的优势,主要表现在后者在训练深度结构模型时,容易趋于饱和态,降低训练速度,同时Relu还能生成非常稀疏的激活输出向量,因而能有效减少计算开销。Dropout是最近几年提出的防止模型过拟合的技术,其主要思想是在训练和预测时随机减少特征个数,即去掉输入数据中的某些维度,通过设置Dropout中的参数p,在训练和预测模型的时候,每次更新都会丢掉(总数*p)个特征。在图2中,被打叉的节点就是被丢弃的。Dropout的作用机理:通过随机选择忽略输入特征,使得每次训练的都是不同的模型;此外,输入特征都是以一定概率随机选出,因此不能保证每两个输入特征每次都同时出现,这样权重的更新不再依赖于有固定关系输入特征的共同作用,避免了某些特征仅仅在其它特定输入特征组合下才有效果的情况,从机制上避免了过拟合现象。
LSTM模型以预测值和真实值的均方误差作为损失参数,以损失参数最小为优化目标来更新模型的各部分权值。因此,为了判断具有不同隐含层参数以及不同前置影响参数d的LSTM模型的预测效果,针对验证集,定义所有时刻点的平均预测偏差
其中N是验证集中的样本数量,valid_pij和valid_rij是验证样本Yvalid-i中的第j(j=1,…,m)个分量的预测值和真实值。可见,Loss值越大,预测值和真实值的偏差越大,预测效果也越差;Loss值越小,预测效果也就越好。
LSTM时间序列点预测模型在Theano为后端的Keras平台上实现。
通过验证集样本的预测效果可以发现,具有不同隐含层参数的LSTM模型对于验证集所有时刻点的平均预测偏差基本上差别不大,模型具有较强的隐含层参数稳定性;Dropout比例参数p取0.2模型预测效果较好。同时,综合考虑预测模型效果和计算复杂度,样本X的前置影响参数d选择5较为合适。
步骤三、关于置信度c的基于混合整数线性规划的区间预测通用模型及求解
考虑到未来t+1,…,t+m时刻的m个预测值随着预测提前量的延长,预测偏差会有不同的特性,所以分别进行区间预测,以时刻t+j在标称置信度c下的最优区间预测为例进行说明。区间预测中有两个重要的指标,一个是区间可靠性,即预测目标应以不低于100*c%的概率落在预测区间内;另一个是区间精度,即在同等区间可靠性的前提下,区间宽度越小区间质量就越高,一般来讲目标值越大,其波动的区间也相对较大,所以区间宽度用相对区间宽度来表示。针对验证集中的样本LSTM点预测值valid_pij和其真实值valid_rij,最优区间预测问题可以转化成满足区间可靠性约束条件下的平均相对区间宽度最小化的问题。
构造优化目标,即最小化平均相对区间宽度
其中U(valid_pij)和L(valid_pij)为最优预测区间的上下边界。不失一般性,假设U(valid_pij)和L(valid_pij)与LSTM点预测值valid_pij之间满足如下关系
U(valid_pij)=valid_pij×αj>
和
L(valid_pij)=valid_pij×βj,(5)
其中αj和βj为时刻t+j的最优预测区间的上下边界比例系数。满足
αj>0>
βj>0(7)
αj>βj(8)
对一个验证集样本i,分别引入连续型变量μi,1,μi,2,μi,3,μi,4和Bool型变量Ii,1,Ii,2,Ii,3,Ii,4,其中μi,1,μi,2,Ii,1和Ii,2用来表明下界L(valid_pij)与真实值valid_rij之间的关系,满足
L(valid_pij)=valid_rij+valid_rij×μi,1-valid_rij×μi,2(9)
其中,
0≤μi,1≤Ii,1(10)
0≤μi,2≤Ii,2>
Ii,1+Ii,2=1(12)
同样,μi,3,μi,4,Ii,3和Ii,4用来表明区间上界U(valid_pij)与真实值valid_rij之间的关系,满足
U(valid_pij)=valid_rij+valid_rij×μi,3-valid_rij×μi,4(13)
其中
0≤μi,3≤Ii,3(14)
0≤μi,4≤Ii,4(15)
Ii,3+Ii,4=1(16)
可以发现,只有当Ii,4=1,同时Ii,1=0时,真实值才能落在预测区间中,所以关于标称置信度c的约束如下
目标(3)和约束(4)-(17)构成了一个混合整数线性规划问题,即基于LSTM点预测值的一定置信度下的最优区间预测方法。
对于验证集中的样本,首先用步骤二中训练好的模型,求出LSTM点预测值,再分别对于时刻t+1,…,t+m,进行各个时刻的最优预测区间上下界比例系数的建模及Cplex软件包的求解。
步骤四、水质波动的区间预测方法
对测试集样本,基于步骤二中训练好的LSTM点预测模型,求得LSTM点预测值;再用步骤三中求得的各个t+j(j=1,…,m)时刻的一定置信度下的上下区间最优比例系数,求出测试集的样本预测区间,水质指标部分测试样本的区间预测结果如图3所示。通过测试集的实际置信度与最优区间预测模型中标称置信度的差异比较来验证方法的有效性,测试集的实际置信度比验证集的标称置信度稍低,0.9的标称置信度对应测试集0.88的实际置信度,0.8的标称置信度对应测试集0.76的实际置信度,满足实际应用的需求。
对于未来时刻的水质预测,基于步骤二中训练好的LSTM点预测模型,以及步骤三中求出的一定置信度下的上下区间最优比例系数,用式(4)和(5)即可预测水质的波动区间。
机译: 单元分析方法,深度学习算法训练方法,单元分析器,深度学习算法训练装置,单元分析程序和深度学习算法训练程序
机译: 深度学习算法,细胞分析装置,深层学习算法,小区分析计划和深度学习算法培训计划的训练方法
机译: 细胞分析方法,深度学习算法,细胞分析仪,深层学习算法,小区分析计划和深度学习算法培训计划的训练方法