一种发电机组备件需求的预测方法与流程

allin2022-09-03  151



1.本发明涉及核电应急柴油机备件需求预测技术领域,特别是涉及一种发电机组备件需求的预测方法。


背景技术:

2.目前对于核电应急柴油机备件需求预测领域的研究,已经形成了多种预测方法,如指数平滑模型、灰色预测法、arima模型、神经网络模型等。经调研,这些方法大多只使用备件需求量的历史数据对未来一段时间内的备件需求量进行预测,而备件需求量往往受其他运行因素的影响,如发电量一定的情况下带负载运行时长增加时继电器动作次数就相对减小,相应的继电器需求数量就相对减少。因此,将多种影响因素作为多个维度对备件需求量进行预测,其精确度相对较高。
3.随着深度学习技术的迅速发展,循环神经网络(rnn)已经在多个领域得到了广泛的应用,并取得了良好的效果。而在处理时间序列问题上循环神经网络是最常用的工具,因为它具有记忆功能,可以记住前几次的结果。但是它的记忆功能有限,不能够记住很久之前的结果,进而无法解决长距离依赖问题。


技术实现要素:

4.本发明的目的在于,提出一种发电机组备件需求的预测方法,建立基于gru与lstm组合神经网络的多维时间序列预测模型,采用多种设备运行数据作为输入数据的多个维度变量,提升预测效果及预测精度。
5.一方面,提供一种发电机组备件需求的预测方法,包括:
6.获取预设时间段内的多种柴油发电机组的运行数据;
7.将获得的运行数据按预设的格式组成训练数据集,根据预设的预处理规则对训练数据集进行归一化预处理,得到训练矩阵;
8.将所述训练矩阵作为输入量输入合预设的gru与lstm组合神经网络预测模型进行多维时间序列预测计算,输出柴油发电机组备件需求的预测结果。
9.优选地,将获得的运行数据按以下预设的格式组成训练数据集:
[0010][0011]
其中,x表示训练数据集,x表示训练数据集内的变量,即运行数据,n表示训练数据集内行的序数,m表示训练数据集内列的序数。
[0012]
优选地,所述根据预设的预处理规则对训练数据集进行归一化预处理具体包括:
[0013]
确定训练数据集内每列变量的最小值、最大值及极差值,其中,所述极差值为每列变量的最大值与最小值之间的差值;
[0014]
根据训练数据集内每列变量的最小值、最大值及极差值计算对应的训练变量,并
将计算得到的对应训练变量组成训练矩阵。
[0015]
优选地,根据以下公式计算对应的训练变量:
[0016][0017]
其中,表示训练矩阵内第i行第j列的训练变量,min
1≤j≤m
x
kj
表示训练数据集第j列变量的最小值,max
1≤j≤m
x
kj
为训练数据集第j列变量的最大值,max
1≤j≤m
x
kj-min
1≤j≤m
x
kj
为训练数据集第j列变量的极差,x
ij
表示训练数据集第i行第j列的变量。
[0018]
优选地,所述将计算得到的对应训练变量组成以下格式的训练矩阵:
[0019][0020]
其中,xr表示训练矩阵。
[0021]
优选地,所述合预设的gru与lstm组合神经网络预测模型具体包括:
[0022]
依次连接的输入层、gru层、第一dropout层、第一dense层、lstm层、第二dropout层、第二dense层和输出层;
[0023]
所述输入层,用以将所述训练矩阵作为输入量输出给所述gru层;
[0024]
所述gru层,用以使用预设的gru函数对输入量进行计算,第一运算值;
[0025]
所述第一dropout层,用以训练过程中识别是否出现模型过拟合,若出现则对参数更新时暂时随机断开指定数量的神经元;
[0026]
所述第一dense层,用以根据预设的运算函数对第一运算值进行运算,得到第二运算值;
[0027]
所述lstm层,用以使用预设的组合函数对第二运算值进行计算,得到第三运算值;
[0028]
所述第二dropout层,用以训练过程中识别是否出现模型过拟合,若出现则对参数更新时暂时随机断开指定数量的神经元;
[0029]
所述第二dense层,用以使用预设的运算函数对第三运算值进行计算,输出值;
[0030]
所述输出层,用以输出值作为预测结果进行输出。
[0031]
优选地,所述预设的gru函数具体包括:
[0032]zt
=σ(wz·
[h
t-1
,x
t
])
[0033]rt
=σ(wr·
[h
t-1
,x
t
])
[0034][0035][0036]
其中,z
t
表示时间t时刻更新门的输出,r
t
表示时间t时刻更新门的输出;x
t
表示t时刻的输入向量,h
t
表示t时刻的输出向量;wz表示模块输入与更新门间的权重矩阵,wr表示模块输入与重置门间的权重矩阵,w表示模块输入与间的权重矩阵。
[0037]
优选地,所述预设的运算函数具体包括:
[0038]
output=activation(dot(input,weight)+bias)
[0039]
其中,activation表示激活函数,dot表示矩阵相乘运算函数,input表示第一运算值或第三运算值,weight表示权重矩阵,bias表示偏置值,output表示最后输出的预测结果。
[0040]
优选地,所述激活函数具体包括:
[0041][0042]
其中,relu表示激活函数,即relu函数,x表示变量。
[0043]
优选地,所述预设的组合函数具体包括:
[0044]ft
=σ(s
t
*[h
t-1
,
x
t]+b0)
[0045]it
=σ(si*[h
t-1
,x
t
]+bi)
[0046][0047][0048]ot
=σ(sk*[h
t-1
,x
t
]+bk)
[0049]ht
=o
t
*tanh(c
t
)其中,f
t
表示lstm层内遗忘门,σ表示sigmoid函数,s
t
表示遗忘门的权重矩阵,h
t-1
表示上一时刻的第三运算值,x
t
表示当前时刻的第二运算值,[h
t-1
,x
t
]表示将h
t-1
、x
t
在水平方向拼接为一个长向量,b0表示遗忘门的偏置值,i
t
表示lstm层内输入门,si表示输入门的权重矩阵,bi表示输入门的偏置值,表示当前输入的单元状态,sj表示当前输入的单元状态的权重矩阵,bj表示当前输入的单元状态的偏置值,c
t
表示当前时刻的单元状态,o
t
表示lstm层内输出门,sk表示输出门的权重矩阵,bk表示输出门的偏置值,h
t
表示最终的输出。
[0050]
综上,实施本发明的实施例,具有如下的有益效果:
[0051]
本发明提供的发电机组备件需求的预测方法,采用多种影响因素的运行数据作为gru与lstm组合神经网络输入数据的多个维度变量,建立基于gru与lstm组合神经网络的多维时间序列预测模型,因为考虑了多种影响因素数据且采用叠加的gru与lstm组合来处理序列数据信息,避免了梯度消失问题,预测效果好,精度高,适用性好。
附图说明
[0052]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
[0053]
图1为本发明实施例中一种发电机组备件需求的预测方法的主流程示意图。
[0054]
图2为本发明实施例中gru与lstm组合神经网络预测模型的示意图。
[0055]
图3为本发明实施例中gru层的示意图。
[0056]
图4为本发明实施例中lstm层的示意图。
具体实施方式
[0057]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
[0058]
如图1所示,为本发明提供的一种发电机组备件需求的预测方法的一个实施例的示意图。在该实施例中,所述方法包括以下步骤:
[0059]
获取预设时间段内的多种柴油发电机组的运行数据;也就是,取过去特定时间段内的多种柴油发电机组运行数据。
[0060]
进一步的,将获得的运行数据按预设的格式组成训练数据集,根据预设的预处理规则对训练数据集进行归一化预处理,得到训练矩阵;也就是,对输入数据进行预处理,多种柴油发电机组运行数据作为gru与lstm组合神经网络的训练集,对gru与lstm组合神经网络进行训练前,首先对训练集的数据进行归一化的预处理,设训练集为矩阵x。
[0061]
具体实施例中,在具体实施中,通常得到的数据往往是不完整、含噪声、不一致、重复的,而在众多的深度学习算法中输入数据的质量又决定了训练过程中模型的好坏,因此在使用数据对模型进行训练前,需对数据进行预处理。数据预处理的过程通常不是固定的,它通常因任务和数据集属性的不同而不同。在深度学习领域,使用训练集对模型进行训练前,需要对数据进行归一化预处理操作,主要是为了将数据限制在[0,1]范围内,加快模型训练时的收敛速度,便于数据的处理,本实施例中,归一化处理采用将获得的运行数据按以下预设的格式组成训练数据集:
[0062][0063]
其中,x表示训练数据集,x表示训练数据集内的变量,即运行数据,n表示训练数据集内行的序数,m表示训练数据集内列的序数。
[0064]
进行归一化预处理具体包括:确定训练数据集内每列变量的最小值、最大值及极差值,其中,所述极差值为每列变量的最大值与最小值之间的差值;根据训练数据集内每列变量的最小值、最大值及极差值计算对应的训练变量,并将计算得到的对应训练变量组成训练矩阵。具体地,根据以下公式计算对应的训练变量:
[0065][0066]
其中,表示训练矩阵内第i行第j列的训练变量,min
1≤j≤m
x
kj
表示训练数据集第j列变量的最小值,max
1≤j≤m
x
kj
为训练数据集第j列变量的最大值,max
1≤j≤m
x
kj-min
1≤j≤m
x
kj
为训练数据集第j列变量的极差,x
ij
表示训练数据集第i行第j列的变量。
[0067]
经过变换后,所得影响因素数值均在0-1之间,完成了归一化处理,经过归一化处理之后变为训练矩阵:
[0068][0069]
其中,xr表示训练矩阵。
[0070]
进一步的,将所述训练矩阵作为输入量输入合预设的gru与lstm组合神经网络预测模型进行多维时间序列预测计算,输出柴油发电机组备件需求的预测结果。也就是,选用堆叠的gru网络对应急柴油机组备件需求数量进行预测,gru与lstm组合神经网络架构如图2所示,包括输入层、gru与lstm组合层、dropout层、dense层、gru与lstm组合层、dropout层、dense层和输出层,输入层输入经过预处理的数据,然后依次经过gru与lstm组合层、dropout层、dense层、gru与lstm组合层、dropout层、dense层的迭代运算,最后输出预测结果。
[0071]
具体实施例中,本实施例中使用keras框架来实现深度学习的快速原型,因为keras提供了多种网络框架以供用户选择,用户可以以现有的框架为基础,根据自己的需求设计新的网络原型,构建各种网络时所需的代码比较少、设计速度快。通过keras框架来实现神经网络参数更新的过程,训练开始时初始化神经网络参数,通过随机数初始化权重矩阵,常数初始化偏置值。组织batch数据,如果训练数据量很大,可以分为多个batch进行训练。将训练数据带入,通过前向传播计算预测值,比较预测值和真实值之差,一般用loss函数(关于权重和偏置的函数,解决回归问题时一般选用均方差)进行表示。通过反向传播更新参数,具体是计算loss函数关于各个权重和偏置的梯度,沿着梯度下降最快的方向进行。重复以上过程直到达到训练次数或者loss函数达到要求范围。所述预设的gru与lstm组合神经网络预测模型具体包括:依次连接的输入层、gru层、第一dropout层、第一dense层、lstm层、第二dropout层、第二dense层和输出层;所述输入层,用以将所述训练矩阵作为输入量输出给所述gru层;所述gru层,用以使用预设的gru函数对输入量进行计算,第一运算值;所述第一dropout层,用以训练过程中识别是否出现模型过拟合,若出现则对参数更新时暂时随机断开指定数量的神经元;所述第一dense层,用以根据预设的运算函数对第一运算值进行运算,得到第二运算值;所述lstm层,用以使用预设的组合函数对第二运算值进行计算,得到第三运算值;所述第二dropout层,用以训练过程中识别是否出现模型过拟合,若出现则对参数更新时暂时随机断开指定数量的神经元;所述第二dense层,用以使用预设的运算函数对第三运算值进行计算,输出值;所述输出层,用以输出值作为预测结果进行输出。其中,使用gru与lstm组合函数对输入数据进行计算;dropout层为了防止训练出来的模型过拟合,它在模型训练过程中更新参数时暂时随机断开指定数量的神经元;dense层是全连接层。
[0072]
具体地,如图3所示,gru层采用累加的线性形式来处理序列数据信息,gru层内部的计算过程为预设的gru函数,具体包括:
[0073]zt
=σ(wz·
[h
t-1
,x
t
])
[0074]rt
=σ(wr·
[h
t-1
,x
t
])
[0075]
[0076][0077]
其中,z
t
表示时间t时刻更新门的输出,r
t
表示时间t时刻更新门的输出;x
t
表示t时刻的输入向量,h
t
表示t时刻的输出向量;wz表示模块输入与更新门间的权重矩阵,wr表示模块输入与重置门间的权重矩阵,w表示模块输入与间的权重矩阵。gru层的输入数据是形状为(batch,n_steps,n_input)的3d张量,batch表示样本数量,n_steps表示时间窗口的长度,n_input表示输入数据的维度(数据中的列)。
[0078]
具体地,dense层中预设的运算函数具体包括:
[0079]
output=activation(dot(input,weight)+bias)
[0080]
其中,activation表示激活函数,dot表示矩阵相乘运算函数,input表示第一运算值或第三运算值,weight表示权重矩阵,bias表示偏置值,output表示最后输出的预测结果。其中,所述激活函数具体包括:
[0081][0082]
其中,relu表示激活函数,即relu函数,x表示变量。relu函数可以使网络训练更快,相比于sigmoid、tanh导数更加好求,反向传播就是不断的更新参数的过程,因为其导数不复杂且形式简单;增加网络的非线性,由于其本身为非线性函数,加入到神经网络中可以使网络拟合非线性映射;使网格具有稀疏性。
[0083]
具体地,如图4所示,所述预设的组合函数具体包括:
[0084]ft
=σ(s
t
*[h
t-1
,x
t
]+b0)
[0085]it
=σ(si*[h
t-1
,x
t
]+bi)
[0086][0087][0088]ot
=σ(sk*[h
t-1
,x
t
]+bk)
[0089]ht
=o
t
*tanh(c
t
)
[0090]
其中,f
t
表示lstm层内遗忘门,σ表示sigmoid函数,s
t
表示遗忘门的权重矩阵,h
t-1
表示上一时刻的第三运算值,x
t
表示当前时刻的第二运算值,[h
t-1
,x
t
]表示将h
t-1
、x
t
在水平方向拼接为一个长向量,b0表示遗忘门的偏置值,i
t
表示lstm层内输入门,si表示输入门的权重矩阵,bi表示输入门的偏置值,表示当前输入的单元状态,sj表示当前输入的单元状态的权重矩阵,bj表示当前输入的单元状态的偏置值,c
t
表示当前时刻的单元状态,o
t
表示lstm层内输出门,sk表示输出门的权重矩阵,bk表示输出门的偏置值,h
t
表示最终的输出。其中,h
t-1
表示上一时刻的输出,x
t
表示当前时刻的输入数据;c
t
表示当前时刻的单元状态,它是由遗忘门f
t
乘以上一时刻的单元状态c
t-1
,再加上输入门i
t
乘以当前输入的单元状态o
t
表示输出门;h
t
表示最终的输出,它由输出门o
t
乘以当前时刻单元状态c
t
的tanh函数值。将归一化后训练数据代入gru与lstm组合网络中,输入向量对应指标,并按照相应训练步骤进行gru与lstm组合网络(gru与lstm组合神经网络预测模型)训练;最后进行网络的检验和预测,gru与lstm组合神经网络预测模型训练完成后再将几组输入向量递送至网络,运行后比较误差以对网络进行检验,检验合格后利用现有的待预测数据预测未来运行周期内备件的
需求情况。
[0091]
以控制柜中继电器为例进行需求预测。首先,将影响继电器使用寿命的各种原因分为内因和外因两大类,其中,内因是主要影响因素。以往也有研究人员针对应急柴油发电机组的备件进行需求预测,以达到优化库存的作用,基于威布尔分布的可靠性分布模型发挥了重要作用。设备的故障曲线,也就是“浴盆曲线”,能够清楚的反映某设备损坏个数与工作时间的关系,本实施例取某时刻的应急柴油发电机组继电器故障数来研究。
[0092]
选定四个影响因素:连续6个月每月设备随时间变化而磨损的数量(x0)、发电量(x1)、带负载运行的时长(x2)、空载运行的时长(x3)。除了影响因素,还需要对目标量进行归一,也就是实际运行时半年内需要更换的继电器数量(y),初始数据如表1所示。
[0093][0094]
将以上数据作为训练样本对神经网络进行训练,直到达到所有求的训练次数,得到训练好的预测模型。
[0095]
模型训练完成后再将之后连续6个月的数据输入网络,运行后比较误差以对网络进行检验,检验合格即可利用现有数据预测未来运行周期内备件的需求情况。整理后可以得到如表2所示数据:
[0096][0097]
在现有技术中,bp神经网络是一种根据反向传播算法计算误差进行模型训练的网络。它主要是人类的大脑进行模拟,模型训练时只需给定输入数据和输出数据,不用描述变量的映射关系,它会自动存储和学习输入输出数据,具有很强的非线性系统模拟能力。本发明中采用包含一个输入层、一个隐含层、一个输出层的bp神经网络结构对继电器需求数量进行预测。实验中选取试验1中数据作为训练数据集和测试数据集,采用均方差(mse)作为损失函数对模型进行性能度量。
[0098]
表3:各项指标的预测数据
[0099][0100]
为了更直观的对两种方法进行比较,表4使用平均百分误差(mape)来计算两种方法的预测误差。平均百分误差如表4所示。
[0101]
表4两种预测方法mape值对比
[0102]
方法平均百分比基于gru神经网络的多维时间序列预测2.26%基于bp神经网络预测3.96%
[0103]
上述结果表明,基于gru神经网络的多维时间序列预测方法的平均百分误差远小于bp神经网络预测方法,达到了良好的预测效果。
[0104]
综上,实施本发明的实施例,具有如下的有益效果:
[0105]
本发明提供的发电机组备件需求的预测方法,采用多种影响因素的运行数据作为gru与lstm组合神经网络输入数据的多个维度变量,建立基于gru与lstm组合神经网络的多维时间序列预测模型,因为考虑了多种影响因素数据且采用叠加的gru与lstm组合来处理序列数据信息,避免了梯度消失问题,预测效果好,精度高,适用性好。
[0106]
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

技术特征:
1.一种发电机组备件需求的预测方法,其特征在于,包括:获取预设时间段内的多种柴油发电机组的运行数据;将获得的运行数据按预设的格式组成训练数据集,根据预设的预处理规则对训练数据集进行归一化预处理,得到训练矩阵;将所述训练矩阵作为输入量输入预设的gru与lstm组合神经网络预测模型进行多维时间序列预测计算,输出柴油发电机组备件需求的预测结果。2.如权利要求1所述的方法,其特征在于,将获得的运行数据按以下预设的格式组成训练数据集:其中,x表示训练数据集,x表示训练数据集内的变量,即运行数据,n表示训练数据集内行的序数,m表示训练数据集内列的序数。3.如权利要求2所述的方法,其特征在于,所述根据预设的预处理规则对训练数据集进行归一化预处理具体包括:确定训练数据集内每列变量的最小值、最大值及极差值,其中,所述极差值为每列变量的最大值与最小值之间的差值;根据训练数据集内每列变量的最小值、最大值及极差值计算对应的训练变量,并将计算得到的对应训练变量组成训练矩阵。4.如权利要求3所述的方法,其特征在于,根据以下公式计算对应的训练变量:其中,表示训练矩阵内第i行第j列的训练变量,min
1≤j≤m
x
kj
表示训练数据集第j列变量的最小值,max
1≤j≤m
x
kj
为训练数据集第j列变量的最大值,max
1≤j≤m
x
kj-min
1≤j≤m
x
kj
为训练数据集第j列变量的极差,x
ij
表示训练数据集第i行第j列的变量。5.如权利要求4所述的方法,其特征在于,所述将计算得到的对应训练变量组成以下格式的训练矩阵:其中,x
r
表示训练矩阵。6.如权利要求1所述的方法,其特征在于,所述预设的gru与lstm组合神经网络预测模型具体包括:依次连接的输入层、gru层、第一dropout层、第一dense层、lstm层、第二dropout层、第二dense层和输出层;所述输入层,用以将所述训练矩阵作为输入量输出给所述gru层;所述gru层,用以使用预设的gru函数对输入量进行计算,第一运算值;
所述第一dropout层,用以训练过程中识别是否出现模型过拟合,若出现则对参数更新时暂时随机断开指定数量的神经元;所述第一dense层,用以根据预设的运算函数对第一运算值进行运算,得到第二运算值;所述lstm层,用以使用预设的组合函数对第二运算值进行计算,得到第三运算值;所述第二dropout层,用以训练过程中识别是否出现模型过拟合,若出现则对参数更新时暂时随机断开指定数量的神经元;所述第二dense层,用以使用预设的运算函数对第三运算值进行计算,输出值;所述输出层,用以输出值作为预测结果进行输出。7.如权利要求6所述的方法,其特征在于,所述预设的gru函数具体包括:z
t
=σ(w
z
·
[h
t-1
,x
t
])r
t
=σ(w
r
·
[h
t-1
,x
t
])])其中,z
t
表示时间t时刻更新门的输出,r
t
表示时间t时刻更新门的输出;x
t
表示t时刻的输入向量,h
t
表示t时刻的输出向量;w
z
表示模块输入与更新门间的权重矩阵,w
r
表示模块输入与重置门间的权重矩阵,w表示模块输入与间的权重矩阵。8.如权利要求6所述的方法,其特征在于,所述预设的运算函数具体包括:output=activation(dot(input,weight)+bias)其中,activation表示激活函数,dot表示矩阵相乘运算函数,input表示第一运算值或第三运算值,weight表示权重矩阵,bias表示偏置值,output表示最后输出的预测结果。9.如权利要求8所述的方法,其特征在于,所述激活函数具体包括:其中,relu表示激活函数,即relu函数,x表示变量。10.如权利要求6所述的方法,其特征在于,所述预设的组合函数具体包括:f
t
=σ(s
t
*[h
t-1
,x
t
]+b0)i
t
=σ(s
i
*[h
t-1
,x
t
]+b
i
))o
t
=σ(s
k
*[h
t-1
,x
t
]+b
k
)h
t
=o
t
*tanh(c
t
)其中,f
t
表示lstm层内遗忘门,σ表示sigmoid函数,s
t
表示遗忘门的权重矩阵,h
t-1
表示上一时刻的第三运算值,x
t
表示当前时刻的第二运算值,[h
t-1
,x
t
]表示将h
t-1
、x
t
在水平方向拼接为一个长向量,b0表示遗忘门的偏置值,i
t
表示lstm层内输入门,s
i
表示输入门的权重矩阵,b
i
表示输入门的偏置值,表示当前输入的单元状态,s
j
表示当前输入的单元状态的权重矩阵,b
j
表示当前输入的单元状态的偏置值,c
t
表示当前时刻的单元状态,o
t
表示lstm层内输出门,s
k
表示输出门的权重矩阵,b
k
表示输出门的偏置值,h
t
表示最终的输出。

技术总结
本发明提供一种发电机组备件需求的预测方法,包括,获取预设时间段内的多种柴油发电机组的运行数据;将获得的运行数据按预设的格式组成训练数据集,根据预设的预处理规则对训练数据集进行归一化预处理,得到训练矩阵;将所述训练矩阵作为输入量输入合预设的GRU与LSTM组合神经网络预测模型进行多维时间序列预测计算,输出柴油发电机组备件需求的预测结果。本发明建立基于GRU与LSTM组合神经网络的多维时间序列预测模型,因为考虑了多种影响因素数据且采用叠加的GRU与LSTM组合来处理序列数据信息,避免了梯度消失问题,预测效果好,精度高,适用性好。适用性好。适用性好。


技术研发人员:周自强
受保护的技术使用者:辽宁红沿河核电有限公司
技术研发日:2022.03.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-2664.html

最新回复(0)