一种基于LSTM-DNN的设备寿命预测方法及装置与流程

文档序号:26796071发布日期:2021-09-29 01:00阅读:228来源:国知局
一种基于LSTM-DNN的设备寿命预测方法及装置与流程
一种基于lstm

dnn的设备寿命预测方法及装置
技术领域
1.本发明属于设备寿命预测技术领域,具体涉及一种基于lstm

dnn的设备寿命预测方法及装置。


背景技术:

2.如今,随着智能电网的快速发展,为了避免出现电力事故影响,供电力系统的安全稳定运行显得越来越重要。而作为保障电力系统安全运行的第一道防线,电力设备的可靠服役具有重要意义。因此,对电力设备装置的运行状态以及剩余寿命进行有效预测是十分必要的,一来可以为工作人员的操作提供参考,二来有助于电力系统的运行稳定性。针对电力系统装置寿命预测的问题,目前相关领域所提出的基于数学模型的参数估计或是利用一些机器学习方法所建立的模型都需要建立可靠完善的损耗物理模型,工作量巨大且难以与实际设备元件准确对立;并且即使是同一设备,其运行环境也可能不同,此类依靠物理损耗所推断的模型通用性较差,难以推广。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种基于lstm

dnn的设备寿命预测方法及装置,基于历史的运行数据,无需去建立物理损耗模型的lstm

dnn神经网络模型,它是基于大量历史运行数据进行预测,其适用性、推广性都将得到提高。
4.本发明实施例的第一方面提供了一种基于lstm

dnn的设备寿命预测方法,包括:
5.获取设备的历史运行和维修数据,并整理归档得到预处理数据形式的设备数据;
6.对所述设备数据进行数据清洗和特征预处理,得到处理后数据;
7.将所述处理后数据输入训练好的lstm

dnn神经网络,得到输出结果,所述输出结果即为所述设备的寿命预测结果;
8.输出所述寿命预测结果。
9.本发明实施例的第二方面提供了一种基于lstm

dnn的设备寿命预测装置,包括:
10.采集模块,用于获取设备的历史运行和维修数据,并整理归档得到预处理数据形式的设备数据;
11.数据预处理模块,用于对所述设备数据进行数据清洗和特征预处理,得到处理后数据;
12.数据输入模块,用于将所述处理后数据输入训练好的lstm

dnn神经网络,得到输出结果,所述输出结果即为所述设备的寿命预测结果;
13.预测输出模块,用于输出所述寿命预测结果。
14.本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
15.本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储
介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
16.本发明实施例与现有技术相比存在的有益效果至少在于:
17.本发明实施例提供了一种通过基于lstm

dnn的神经网络预测的设备寿命的方法,相比基于物理损耗所建立的数学模型或机器方法的预测不够精准、推广性和适用性较差,本发明提出的方法则能够更精准的预测寿命时限,最大的优势在于可以随时根据采集的数据获取当前的预测寿命,以便电力系统的工作人员可以根据相应的情况及时响应,对于电力系统的运行状态有更加直观的观测。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
19.图1是本发明实施例提供的一种基于lstm

dnn的设备寿命预测方法的流程示意图;
20.图2是本发明实施例提供的一种基于lstm

dnn的设备寿命预测方法中lstm

dnn神经网络的结构示意图;
21.图3是本发明实施例提供的一种基于lstm

dnn的设备寿命预测装置的示意图;
22.图4是本发明实施例提供的终端设备的示意图。
具体实施方式
23.为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
24.本发明实施例采用了如下技术方案:
25.实施例一:
26.参见图1,本实施例提供了一种基于lstm

dnn的设备寿命预测方法,包括:
27.步骤s100:获取设备的历史运行和维修数据,并整理归档得到预处理数据形式的设备数据,以使数据符合后续步骤中便于处理的数据形式;
28.步骤s200:对设备数据进行数据清洗和特征预处理,得到处理后数据;
29.步骤s300:将处理后数据输入训练好的lstm

dnn神经网络,得到输出结果,输出结果即为设备的寿命预测结果;
30.步骤s400:输出寿命预测结果。
31.本实施例采用设备的历史数据来分析其寿命,而不是基于设备的物理损耗来分析,更加方便分析数据的采集和输入,并得到准确的分析结果。
32.本实施例中的设备可选为电力设备,则对应的历史运行和维修数据可以包括:地区、容量、健康状况、设备类型、设备等级、近两年平均电量增长率、累计折旧、居民户数、年累计销售收入、线损率、平均负载率、停电次数、售电量、客户投诉次数、电压合格率、供电量、折旧率、人均电容、供电占比、售电损失率、投运时长、负载率、是否报废等。
33.在实际操作时,执行如下步骤:
34.步骤s101:对于以往的电力设备的历史运行和维修数据进行采集,采集的数据包
括:地区、容量、健康状况、设备类型、设备等级、近两年平均电量增长率、累计折旧、居民户数、年累计销售收入、线损率、平均负载率、停电次数、售电量、客户投诉次数、电压合格率、供电量、折旧率、人均电容、供电占比、售电损失率、投运时长、负载率、是否报废这些特征,这些特征的单次采集的集合作为一个样本;
35.步骤s102:将采集得到的样本中的离散型数据地区、容量、健康状况、设备类型、设备等级、是否报废进行特征提取,特征提取就是将文本、图像等转换为可以用机器识别的数字特征,为了让计算机更好的理解数据,本实施例中采用one

hot编码进行特征提取。
36.one

hot编码,又称为一位有效编码,主要是采用n位状态寄存器来对n个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。
37.one

hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。
38.原理通过以下举例说明:
39.对于设备等级这个特征,将["一级","二级","三级"]进行one

hot编码,步骤如下:
[0040][0041]
一共有3个样本a、b、c,确定要编码的样本特征:["一级","二级","三级"],
[0042]
该特征共有:一级、二级、三级、四级、五级、六级,共6种类别。
[0043]
以上问题等价于,有3个样本,每个样本各有一种设备等级特征,该特征总共有6种类别,并需要将样本转化为二进制向量表示。
[0044]
我们首先进行样本特征的整数编码:
[0045]
[0046]
首先得到样本分类映射的整数值:[0,1,2,3,4,5],进而得到二进制向量如下:
[0047][0048]
最终得到a、b、c三个样本的one

hot编码结果分别为0000001,0000010,0000100。
[0049]
对应到本实施例中,需要转化的类别特征有地区、健康状况、设备类型、设备等级、是否报废,共6种特征,其中地区设置5个类别,健康状况3个类别、设备类型10个类别,设备等级5种类别,是否报废3个类别,对每种特征分别进行one

hot编码即可。
[0050]
其余数据则按照对应的数值转化即可。
[0051]
上述内容为具体的电力设备实施例,在其他实施例中,可以将对应的数据类型替换成不同设备的特征数据即可。
[0052]
完成数据形式处理后,再进行数据清洗和特征预处理,具体可以包括:
[0053]
步骤s201:计算设备数据的相关系数rankic:
[0054][0055]
其中,d
i
表示样本的第i个特征值与目标值二列之间的等级差数,对于一个数的等级,就是将它所在的一列数据按照从小到大排序后,这个数所在的位置,n为等级的个数;
[0056]
经过计算后rankic值越低,表示相关性越低,rankic值越高,相关性越高,由此可以设置一个阈值,rankic值低于该阈值的特征去除掉,最终去除与目标值相关性较低和冗余的样本特征。
[0057]
步骤s202:根据相关系数去除与目标值相关性低的冗余特征;
[0058]
本实施例中优选设置相关系数低于0.3的视为相关性低,因此,将相关系数的绝对值小于0.3的视为冗余特征进行特征剔除。
[0059]
步骤s203:计算去除冗余特征后的特征平均值,并以特征平均值替换异常值和缺失值,完成数据清洗;
[0060]
将样本特征的平均值、最大值、最小值、填充零等方式替换样本中的异常值与缺失值,所谓异常值就是在特征值上下误差较大的值。缺失值即为在采集到的样本数据中,可能某些样本数据不具备某个特征值,那么就使用平均值进行替换。一般说来,与样本整体类型不同的可称为异常值,缺失值就是没有的值。
[0061]
接下来就可以将上述处理的数据输入lstm

dnn神经网络了,但为了便于神经网络
模型更好的识别和处理,本实施例在将数据输入神经网络前还增加了标准化处理的步骤。
[0062]
步骤s204:对输入lstm

dnn神经网络的数据进行标准化处理,得到处理后数据:
[0063][0064]
其中,x
mean
表示样本矩阵的均值,x
std
表示样本矩阵的方差,x表示样本矩阵。
[0065]
数据的标准化可以加快网络的训练速度,更快的找到最优解,避免梯度更新时数值的震荡。同时与归一化相比,当出现异常点时,模型具有更强的鲁棒性。
[0066]
上述数据采集和处理步骤既可以应用在训练完成网络模型后的实际预测过程中,也可以应用在对网络模型的训练步骤中,其根本是一种数据的获取及处理方式,而不限于数据的使用对象和过程。
[0067]
在上述预测方法实施前,还需要预先对lstm

dnn神经网络进行训练,因此,本实施例还包括lstm

dnn神经网络的训练方法:
[0068]
步骤s001:搭建lstm

dnn网络结构,lstm

dnn网络结构包括依次连接的若干个lstm块和n个全连接层,如图2所示;
[0069]
每个lstm块均包括依次连接的lstm单元、bn层和relu激活函数;
[0070]
每个lstm单元由输入门,遗忘门,输出门和记忆单元组成,并且每个lstm单元参数共享,即每个时间步上神经网络的参数都一样。lstm网络具有内在的存储器单元,能够长时间保持先前提取的信息以用于当前时刻的预测。
[0071]
本实施例中lstm单元的数学变换式优选设置为:
[0072]
i
t
=σ(u
i
x
t
+w
i
l
t
‑1+b
i
)
[0073]
f
t
=σ(u
f
x
t
+w
f
l
t
‑1+b
f
)
[0074]
c
t
=f
t

c
t
‑1+i
t

σ(u
c
x
t
+w
c
l
t
‑1+b
c
)
[0075]
o
t
=σ(u
o
x
t
+w
o
l
t
‑1+b
o
)
[0076]
l
t
=o
t

tanh(c
t
)
[0077]
其中,i
t
、f
t
、o
t
和c
t
分别为lstm单元t时间步的输入门、遗忘门、输出门和记忆单元,x
t
和l
t
分别为t时刻的输入矢量和输出矢量,u
i
、w
i
、u
f
、w
f
、u
c
、w
c
、u
o
和w
o
为权重矩阵,b
i
、b
f
、b
c
和b
o
为偏置,σ为sigmoid函数,

表示元素乘法;
[0078]
bn层的计算包括:
[0079][0080][0081]
其中,x
p
为第p批的输入,e[x
p
]为x
p
的平均值,var[x
p
]为x
p
的标准差,γ和β为自适应更新的可学习参数,y
p
为bn层神经元的输出;
[0082]
在bn层中引入了可学习参数γ、β,控制每层神经元的输出,可学习参数由网络模型自动学习更新,这使得该层网络可以学习并恢复出原始网络的特征分布。
[0083]
relu激活函数的计算包括:
[0084][0085]
其中,x为函数输入。relu激活函数可使网络具有学习非线性特征的能力。
[0086]
对于全连接层(dnn),第k

1层和k层而言,k

1层的任意一个神经元,都和第k层所有节点相连,即第k层的每个神经元由第k

1层加权求和得到。设l
k
‑1=[l
k

1,1
,l
k

1,2
,...,l
k

1,n
]
t
为全连接(dnn)网络的第k

1层的输出矢量,n表示k

1层的神经元个数。
[0087]
则第k个全连接层中每一个神经元的输出l
k,i
的计算包括:
[0088]
l
k,i
=w
k
(i)
t
l
k
‑1+b
k
(i),i=1,2,...,n
k
[0089]
其中,w
k
(i)和b
k
(i)分别为第k个隐藏层的第i个权重矩阵和偏置矢量。
[0090]
步骤s002:将样本数据划分为训练集和测试集;
[0091]
上述样本数据可以是预先根据步骤s100

s200执行采集并处理得到的大量历史数据,例如100000个样本,根据9:1的比例划分为训练集和测试集,用来对搭建好的神经网络进行离线训练和测试。
[0092]
步骤s003:设置训练方案:循环遍历训练集的次数、每一批次训练集的数量、随机打乱、优化器、损失函数和保存条件;
[0093]
本实施例的训练方案优选设置为:
[0094]
1.epoch设为100,即循环遍历100次训练集;
[0095]
2.shuffle设为true,即对训练样本进行随机打乱顺序;
[0096]
3.batch

size设为200,即每轮训练将200个样本送入网络;
[0097]
4.优化器使用adam(adaptive moment estimation),即自适应矩估计;
[0098]
优化器为整个网络的更新规则,自适应矩估计优化器的参数更新可以采用:
[0099][0100][0101]
其中,w表示梯度,b表示偏差,α表示学习率,表示梯度的指数移动均值,表示平方梯度,为一个很小的数,防止分母为0。
[0102]
5.损失函数使用mse(mean squared error),即均方误差;
[0103]
均方误差的计算可以是:
[0104][0105]
其中,y
m
为第m个真实值,为第m个预测值。
[0106]
6.保存模型的条件设为每10轮训练保存一次模型。
[0107]
接下来将训练集输入搭建的神经网络,根据设定的规则运行,神经网络会自动更新调试,以接近训练目的,经过大量的训练集训练就能更接近理想状态。
[0108]
步骤s004:将训练集输入lstm

dnn网络结构,并根据训练方案进行训练,得到初步训练模型;
[0109]
训练后需要对训练结果进行验证,则此时将测试集输入训练得到的初步训练模型,将预测目标值与实际目标值进行对比,如果误差较大,则需要重新训练,否则就完成了训练。
[0110]
步骤s005:利用测试集测试初步训练模型是否达标,若初步训练模型不达标,则重新训练lstm

dnn网络结构,若初步训练模型达标,则初步训练模型即为训练好的lstm

dnn神经网络。
[0111]
将测试集的所有样本特征作为输入数据送入模型进行预测,将预测目标值与实际目标值进行对比,即将预测目标值与实际目标值计算mse,并对所有样本得到的mse取平均值。
[0112]
测试集进行模型的测试,测试结果能够反应模型的泛化性能,以此来调整模型训练中使用的超参数与训练方案,从而达到最好的训练效果,让模型具有最好的泛化性能。
[0113]
当mse小于10
‑3时,认为模型的泛化性能良好,可以进行在线预测。当mse大于10
‑3时,认为模型泛化性能较弱,需要调整网络中的超参数,重新进行训练,并保存模型,再次进行模型的测试,不断循环该过程,从而找到最优模型。
[0114]
当得到泛化性能良好的模型后,即可进行上述步骤s300

s400的在线预测。在线预测时,加载训练出的最优模型,并将已知的采集样本特征作为模型的输入,输入数据经过神经网络计算得到输出,即为网络的输出:电力设备的剩余使用寿命百分比。
[0115]
实施例二:
[0116]
参见图3,本实施例提供了一种基于lstm

dnn的设备寿命预测装置,包括采集模块51、数据预处理模块52、数据输入模块53和预测输出模块54;
[0117]
其中,采集模块51用于获取设备的历史运行和维修数据,并整理归档得到预处理数据形式的设备数据;
[0118]
数据预处理模块52用于对设备数据进行数据清洗和特征预处理,得到处理后数据;
[0119]
数据输入模块53用于将处理后数据输入训练好的lstm

dnn神经网络,得到输出结果,输出结果即为设备的寿命预测结果;
[0120]
预测输出模块54用于输出寿命预测结果。
[0121]
图4是本发明一实施例提供的终端设备6的示意图。如图4所示,该实施例的终端设备6包括处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62,例如基于lstm

dnn的设备寿命预测程序。处理器60执行计算机程序62时实现上述各个方法实施例中的步骤,例如图1所示的步骤s100至s400。或者,处理器60执行计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块51至54的功能。
[0122]
示例性的,计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器61中,并由处理器60执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在终
端设备6中的执行过程。
[0123]
终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图4仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备6还可以包括输入输出设备、网络接入设备、总线等。
[0124]
所称处理器60可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0125]
存储器61可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。存储器61也可以是终端设备6的外部存储设备,例如终端设备6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器61用于存储计算机程序以及终端设备6所需的其它程序和数据。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
[0126]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。当然,上述各单元、模块也可以用包含有计算机程序的处理器来替代,以纯软件的形式完成各部分的工作。
[0127]
实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0128]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0129]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0130]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一
点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0131]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0132]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0133]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0134]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1