发明内容
本发明旨在提供一种水泥窑生产能耗的建模方法,来提高水泥炉窑的能耗预测模型的精度和预测准确性。
本发明采用以下技术方案。
水泥窑生产能耗的建模方法,包括:
从水泥窑分散控制系统中采集选定时间段的特定参数,作为样本数据集;根据获得的样本数据集构建训练样本集和测试样本集;
利用训练样本集和测试样本集训练水泥窑生产能耗模型完成水泥窑生产能耗的建模,所述水泥窑生产能耗模型为结合BP网络和Elman神经网络的组合神经网络模型。
进一步地,采集的特定参数包括生料粉磨细度、生料水分、石灰石硬度、水泥细度、助磨剂掺加量和/或环境温度。
进一步地,还包括主成分分析法对样本数据集进行数据预处理。
进一步地,所述BP网络的训练方法包括:
初始化BP神经网络,包括:确定网络输入层神经元个数、输出层神经元个数、确定隐藏层神经元个数、选用神经元激活函数、初始化网络输入层神经元到隐含层神经元的连接权值、网络隐含层神经元到输出层神经元的连接权值,初始化网络隐含层阈值,网络输出层阈值,并设置学习算法终止条件与学习速率;
计算网络隐藏层输出值;计算网络输出层的输出值;计算网络输出预测误差;
根据网络输出预测误差更新网络的连接权值,根据网络输出预测误差更新网络隐含层阈值和网络输出层阈值;迭代直至满足终止条件。
再进一步地,按以下公式计算网络隐藏层输出值H,
其中Hj表示网络隐藏层第j个神经元的输出值,wij为网络输入层神经元到隐含层神经元的连接权值,n为网络输入层神经元个数,xi为输入数据向量X中第i个的元素,i=1,2,...,n,n为输入数据向量X中元素个数,l为隐藏层神经元个数,a为网络隐含层阈值。
进一步地,按以下公式计算BP神经网络的预测输出值O,
其中O为网络输出层第k个的预测输出值,Hj表示网络隐藏层第j个神经元的输出值,bk为网络输出层第k个神经元,k=1,2,...,m,m为输出层神经元个数,l为隐藏层神经元个数。
进一步地,根据网络输出预测误差按照以下公式更新网络的连接权值:
wjk=wij+ηHjek
其中wij表示网络输出层到隐藏层的连接权值,wjk为网络隐含层神经元到输出层神经元的连接权值,η为学习速率,ek表示输出层第k个神经元的输出误差,Hj表示网络隐藏层第j个神经元的输出值,l为隐藏层神经元个数,xi为输入数据向量X中第i个的元素,i=1,2,...,n,n为输入数据向量X中元素个数。
再进一步地,根据网络输出预测误差按照以下公式更新网络隐含层阈值和网络输出层阈值:bk为网络输出层第k个神经元,k=1,2,...,m;Hj表示网络隐藏层第j个神经元的输出值
bk=bk+ek
其中aj为网络隐含层第j个神经元的阈值,η为学习速率,ek表示输出层第k个神经元的输出误差,wjk为网络隐含层神经元到输出层神经元的连接权值,bk为网络输出层第k个神经元,k=1,2,...,m,m为输出层神经元个数。
进一步地,采用求加权和的方式将BP神经网络的输出和Elman神经网络输出求线性组合,得到组合网络模型的预测值Y(t),表达式如下:
Y(t)=α1y1(t)+α2y2(t)
式中,y1表示BP神经网络的网络输出,y2表示Elman神经网络的输出,α1,α2分别为BP神经网络和Elman神经网络这两个子网络模型的组合系数,t为采样时刻;确定各样本点作用下组合网络模型预测值的绝对误差,以组合模型网络预测的最大绝对误差的绝对值达到最小为目标确定优化目标函数,对所述优化目标函数进行求解,获得各个子网络模型对应的组合系数值,最终获得组合网络模型。
再进一步地,第d个样本点作用下组合网络模型预测值的绝对误差的表达式如下:
d=1,2,...q,q为测试样本集中样本的数量;Y
d表示组合网络模型的预测输出;
表示组合网络模型的期望输出;e
d1表示在第d个样本点作用下BP神经网络模型的预测误差值,e
d2表示在第d个样本点作用下Elman子网络模型的预测误差值;
所述述优化目标函数表示如下:
本发明所取得的有益技术效果:
本发明提供一种水泥窑生产能耗的建模方法,该方法基于数据建模,结合前馈神经网络和反馈神经网络这两类神经网络的优点,通过结合BP网络和Elman网络的组合神经网络建立模型,并通过仿真实验验证了该方法既能保留BP神经网络静态逼近效果好的特性,也保留了Elman神经网络动态逼近效果好的优点,且较单一神经网络模型有更的高预测精度,可以更好地挖掘水泥炉窑烧成系统电能耗变化与相关参数的规律,也为水泥生产过程的能耗监管提供了更精确的参考依据。
具体实施方式
下面结合附图对本发明的实施方式作进一步详细说明:
实施例:水泥窑生产能耗的建模方法,如图3所示,包括以下步骤:
步骤1:从水泥窑分散控制系统(Distributed Control System,DCS)中随机收集某个时间段的关键参数数据,作为样本数据集;本实施例中采样间隔为5小时,从水泥窑分散控制系统(Distributed ControlSystem,DCS)中某个时间段的生料粉磨细度、生料水分、石灰石硬度、水泥细度、助磨剂掺加量、环境温度等变量值及对应电能消耗的实际数据,作为实验样本数据集。
步骤2:对原始实验样本数据集进行数据预处理;
步骤3:构建训练样本集和测试样本集;本实施例中,采用五折交叉验证方式训练和验证模型,即:将预处理后重新建立的4组数据集分别均分为五份。每一组中轮流选择其中一份为测试样本集T,其他四份数据为训练样本集P。
步骤4:基于步骤3的数据,利用组合神经网络建立能耗模型;
其中步骤2是通过下述方式实现的:
2:原始数据具有强耦合性,变量众多等特点,过多的输入变量会增加模型的结构复杂度,增加了建模时间。本专利选用主成分分析法PCA将多个变量通过线性变换选出少数具有代表性的综合变量作为神经网络的输入变量。主成分分析法PCA的具体实现步骤如下:
2-1:假设原始训练样本集P共有m个样本,每个样本包含n个输入变量,即神经网络的输入数据可由矩阵A表示:
其中xij,i=1,2,...m;j=1,2,...,n表示具体的神经网络输入样例。接着分别计算这n个变量对应数值的均值。然后对所有样例,都减去对应的均值得矩阵B,即:
2-2:定义第i个变量为Xi,i=1,2,...,n,即为矩阵A中的第i列,计算各变量间的协方差矩阵C:
对角线上分别是各个变量的方差值,非对角线上是协方差,协方差大于零表示这两个变量正相关,协方差小于零表示这两个变量负相关,协方差等于零表示这两个变量不相关,即两者独立。协方差的绝对值越大表示两者对彼此的影响越大,反之越小。
2-3:求协方差矩阵的特征值与特征向量:令|λI-C|=0,其中I为单位矩阵,求出协方差矩阵的特征值λi,i=1,2,...,n。并由λiαi=Cαi求出各特征值λi,i=1,2,...,n对应的特征向量αi
2-4:将求得的特征值按照从大到小的顺序排列,选择其中最大的K个,然后将其对应的K个特征向量分别作为列向量组成特征向量矩阵D。将样本点投影到选取的特征向量上,即投影后的数据可由矩阵F表示为:
F=B×D (4)
实现了由n个强耦合的输入变量选出k个具有代表性的综合变量作为神经网络的输入变量的过程,即这k个变量为主成分。
本实施例中,步骤4是通过下述方式实现的:
4-1:BP网络模型的训练,如图1所示,具体如下:
(1)神经网络初始化。根据研究对象的输入输出(X,Y)情况确定网络输入层节点个数n和输出层节点个数m、并根据相关经验公式与试凑法确定隐藏层节点个数l、选用合适的神经元激活函数、初始化网络输入层神经元到隐含层神经元的连接权值wij、网络隐含层神经元到输出层神经元的连接权值wjk,同时初始化网络隐含层阈值a,网络输出层阈值b,并设置学习算法终止条件与学习速率。
(2)计算网络隐藏层输出值。网络模型根据输入数据向量X=(x1,x2,...,xn),网络输出层到隐藏层的连接权值wij以及隐藏层阈值a,按公式(5)计算网络隐藏层输出结果H。
其中f为隐藏层的神经元激活函数;l为网络隐藏层节点个数。
(3)计算网络输出层的输出。根据网络隐含层的输出结果H,网络隐藏层到输出层的连接权值wjk及输出层阈值b,按公式(6)计算BP神经网络的预测输出值O。
(4)计算网络输出误差。根据BP神经网络的预测输出O和期望的实际输出值Y,按公式(7)计算模型的预测误差e。
ek=Yk-Ok (7)
(5)调整权值。将网络预测误差e并按公式(8)(9)更新网络的连接权值wij和wjk。
wjk=wij+ηHjek (9)
其中η为学习速率。
(6)调整阈值。以网络的预测误差值e为依据更新阈值a,b。
bk=bk+ek (11)
(7)判断学习算法的迭代是否满足终止条件,若满足则结束;若没有,则返回步骤(2)。
4-2:Elman神经网络的训练,如图2所示,执行流程与BP神经网络极为相似,只是在BP的隐藏层后面增加了一个用于反馈信息的承接层,Elman神经网络的状态空间非线性表达式如(12)-(14)所示。
y(k)=g(w3x(k)) (12)
x(k)=f(w1xc(k)+w2(u(k-1))) (13)
xc(k)=x(k-1) (14)
式中y为网络输出节点的m维数据向量;
x为网络中间层节点的n维单元向量;
u为r维的输入数据向量;
x为n维的反馈状态数据向量。
w3为中间层到输出层的连接权值;
w2为输入层到中间层的连接权值;
w1为承接层到中间层的连接权值。
g(*)表示输出层神经元的传递函数,可由中间层各节点输出的线性组合表示;
f(*)表示中间层神经元的传递函数,可由输入层各节点输出的线性组合表示。
采用误差平方和函数作为学习的目标函数,最终完成阈值和权值的修正。
4-3:构建组合神经网络模型,具体步骤如下:
(1)采用求加权和的方式将4-1中完成训练的BP网络与4-2中完成训练的Elman网络输出求线性组合,得到组合网络模型的预测值,如式(16)。
Y(t)=α1y1(t)+α2y2(t) (16)
式中y1表示BP神经网络的网络输出,y2表示Elman神经网络的输出,α1,α2分别为这两个子网络模型的组合系数,t为采样时刻;第d个样本点作用下组合网络模型预测值的绝对误差表达式。
(2)列写在第j个样本点作用下组合网络模型预测值的绝对误差表达式:
其中d=1,2,...q,q为测试样本集中样本的数量;Y
d表示组合网络模型的预测输出;
表示组合网络模型的期望输出;e
d1表示在第d个样本点作用下BP子网络模型的预测误差值,e
d2表示在第d个样本点作用下Elman子网络模型的预测误差值。
则组合网络模型预测误差绝对值的最大值可用J表示:
(3)以组合模型网络预测的最大误差绝对值达到最小为目标,求解子网络模型加权系数的问题可转化为函数优化问题,列写条件方程组如下:
通过求解该最优化问题,得到各个子网络模型对应的组合系数值,有了各子网模型的组合系数值后,将实验样本数据集作为组合网络模型的输入,校验所建立的组合网络模型。
本发明提供一种水泥窑生产能耗的建模方法,通过结合BP网络和Elman网络的组合神经网络建立模型,并通过仿真实验验证了该方法既能保留BP神经网络静态逼近效果好的特性,也保留了Elman神经网络动态逼近效果好的优点,且较单一神经网络模型有更的高预测精度,为水泥生产过程的能耗监管提供了更精确的参考依据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。