一种随机森林分类的机泵故障诊断方法及装置
技术领域
本发明涉及机泵维护技术,具体涉及一种随机森林分类的机泵故障诊断方法及装置。
背景技术
设备状态监测和故障诊断技术发端于20世纪60年代。在工业生产趋渐现代化、自动化的大背景下,其中针对旋转机械故障诊断技术的研究开发异常活跃,发展迅速。
过程工业中普遍的设备投资大,连续生产流程长,机械设备故障造成的损失大,有赖于故障诊断来进行有效、快速、准确地实现对故障设备进行状态评估,使得设备异常情况及早地发现,并且对设备异常或故障进行及时有效地处理。
现有的工业水泵故障诊断技术,基于各种不同通讯方式的振动温度传感器的数据信号采集,利用信号分析理论获得系统时域和频域中较深层次的多种特征向量,利用这些特征向量与系统故障源之间的关系判断故障源的位置,从而进行故障预警与故障诊断。
近年来,人工智能研究不断深入,人工智能方法应用到了故障诊断中。
现有的水泵故障诊断算法主要是利用BP神经网络进行水泵各运行特征值和故障类型的非线性关系建模,进行故障的预测。其缺点是需要足够的学习样本才能保障诊断的可靠性。在对复杂系统进行诊断时,往往由于网络规模过于庞大和学习训练时间太长等问题,降低了神经网络的实用性。用于工业现场时可能会反馈不及时或诊断不准确而达不到目的。
发明内容
本发明实施例的目的是提供一种随机森林分类的机泵诊断方法及装置,以解决相关技术中存在的无法实现快速精准诊断机泵故障的技术问题。
根据本申请实施例的第一方面,提供一种随机森林分类的机泵故障诊断方法,包括:
获取机泵故障状态下和正常状态下Z轴振动信号分量;
对所述Z轴振动分量进行预处理后,获得频域信号;
采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型;
将待诊断的机泵频域信号输入至所述故障诊断模型中,判断出所述机泵的故障状态。
进一步地,所述机泵的故障状态至少包括:转子不平衡故障状态、转子不对中故障状态、滚珠故障状态、轴承故障状态、基座松动故障状态、联轴器故障状态、正常状态。
进一步地,对获取的Z轴振动信号分量进行预处理后,获得频域信号,包括:
对Z轴振动信号分量进行快速傅里叶变换,得到频域波形图;
计算所述频域波形图中0.5倍频幅值、1倍频幅值、1.5倍频幅值、2倍频幅值、2.5倍频幅值、3倍频幅值、3.5倍频幅值、4倍频幅值、峭度、歪度和总振动值,将这些一起作为频域信号。
进一步地,采用随机森林对所述频域信号进行训练,建立Z轴振动信号分量与故障状态之间的关系,得到故障诊断模型,包括:
随机森林由多个cart分类树构成,每个节点选择基尼指数选择最优的特征与对应的值进行分割,对于频域信号D,基尼系数的定义为其中K为树的不同种划分,Ck表示频域信号D中属于第k类的样本集;
将频域信号根据特征A进行分割,分割后样本集合的基尼指数为:
其中D1和D2均为数据集经过分割后的子集,特征A通过最小化基尼指数作为cart树的最优划分方案;
构造不同的训练集来增加分类模型间的差异,以提高组合分类模型序列,再以这个序列来构成一个多分类的模型系统;在给定Z轴振动信号分量下,每个决策树分类模型都进行投票来决定最终的故障状态,得到故障诊断模型。
根据本申请实施例的第二方面,提供一种随机森林分类的机泵故障诊断装置,包括:
获取模块,用于获取机泵故障状态下和正常状态下Z轴振动信号分量;
预处理模块,用于对所述Z轴振动分量进行预处理后,获得频域信号;
建模模块,用于采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型;
诊断模块,用于将待诊断的机泵频域信号输入至所述故障诊断模型中,判断出所述机泵的故障状态。
根据本申请实施例的第三方面,提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请提供机泵故障诊断的方法和装置,该方法先获取机泵故障状态下和正常状态下Z轴振动信号分量,然后对所述Z轴振动分量进行预处理后,获得频域信号,再采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型;采用随机森林的方法,克服了现有技术中利用神经网络方法训练速度慢的问题,可以高效完成训练。且有较好的鲁棒性,在数据处理时克服了工业现场数据采集时的不确定性,可以利用有缺项重项的源数据处理得到可以用于诊断的测试集。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种随机森林分类的机泵诊断方法的流程图。
图2是根据一示例性实施例示出的随机森林训练得到故障诊断模型的流程图。
图3是根据一示例性实施例示出的一种随机森林分类的机泵诊断装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
图1是根据一示例性实施例示出的一种随机森林分类的机泵诊断方法的流程图,如图1所示,该方法应用于终端中,可以包括以下步骤:
步骤S11,获取机泵故障状态下和正常状态下Z轴振动信号分量;
步骤S12,对所述Z轴振动分量进行预处理后,获得频域信号;
步骤S13,采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型;
步骤S14,将待诊断的机泵频域信号输入至所述故障诊断模型中,判断出所述机泵的故障状态。
由上述实施例可知,本申请先获取机泵故障状态下和正常状态下Z轴振动信号分量,然后对所述Z轴振动分量进行预处理后,获得频域信号,再采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型,能高效完成训练,克服了现有技术中利用神经网络方法训练速度慢的问题;且有较好的鲁棒性,在数据处理时克服了工业现场数据采集时的不确定性,可以利用有缺项重项的源数据处理得到可以用于诊断的测试集。
在步骤S11的具体实施中,获取机泵故障状态下和正常状态下Z轴振动信号分量;
具体地,在本实施例中,选取了其中六种最常见的故障状态(转子不平衡故障状态、转子不对中故障状态、滚珠故障状态、轴承故障状态、基座松动故障状态、联轴器故障状态)以及正常工作状态进行模拟和采集数据。共有三个采样点,它们到故障发生位置的距离不同,传感器采集的是Z轴方向的振动加速度,采样率为3200Hz。本实施例中采集了三种机泵转速的数据:1800rpm、2400rpm、3000rpm,均是工业现场的常用转速,可以使模拟结果更具准确性。每种故障状态和正常状态在每种转速下都采集了500s。本实施例为接下来的数据处理和训练采集了足够多的数据。
在步骤S12的具体实施中,对所述Z轴振动分量进行预处理后,获得频域信号;
具体地,由于步骤S11中获得的振动信号均是时域信号,本实施例中,利用快速傅里叶变换(FFT)和一系列计算得到更能体现故障特征的频域信号。具体的,所述步骤S12包括:
对Z轴振动信号分量进行快速傅里叶变换,得到频域波形图;计算所述频域波形图中0.5倍频幅值、1倍频幅值、1.5倍频幅值、2倍频幅值、2.5倍频幅值、3倍频幅值、3.5倍频幅值、4倍频幅值、峭度、歪度和总振动值,将这些一起作为频域信号。
具体地,对每1024对数据,利用FFT得到了0~1600Hz的频谱图。以50Hz为工频,计算0.5X、1.0X、1.5X、2.0X、2.5X、3.0X、3.5X、4.0X,>4.0X工频的谱线值;
其中前八种若直接计算则只有一条谱线,数据值很小,为了保证准确性,在本实施例中采用计算附近8条谱线与此谱线的谱线值之和作为此谱线的谱线值,保证数据都在一个数量级;
同时利用频谱图计算峭度值、歪度值、上述目标谱线的总振动值1,所有谱线的总振动值2,这四个参数和上述9个谱线值一起作为频域信号的13个参数变量。
在步骤S13的具体实施中,采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型;
具体地,随机森林由多个cart分类树构成,每个节点选择基尼指数选择最优的特征与对应的值进行分割,对于频域信号D,基尼系数的定义为其中K为树的不同种划分,Ck表示频域信号D中属于第k类的样本集;
将频域信号根据特征A进行分割,分割后样本集合的基尼指数为:
其中D1和D2均为数据集经过分割后的子集,特征A通过最小化基尼指数作为cart树的最优划分方案;
构造不同的训练集来增加分类模型间的差异,以提高组合分类模型序列,再以这个序列来构成一个多分类的模型系统;在给定Z轴振动信号分量下,每个决策树分类模型都进行投票来决定最终的故障状态,得到故障诊断模型。
更具体地,如图2所示,以频域信号作为训练集,利用bagging从频域信号中使用bootstraping方法随机抽取训练样本,进行抽取得到划分后的训练集(划分后的训练集之间相互独立,元素可以有重复)。随机抽取部分频域信号特征作为待选特征,利用GINI指数索引在待选特征中确定测试特征,判断是否生成节点以及决策树是否停止生长。不断重复上述步骤直至决策树达到要求,生成最终的随机森林故障诊断模型。利用bagging的方法,不需要特征选择就可以处理高维的数据。
在步骤S14的具体实施中,将待诊断的机泵频域信号输入至所述故障诊断模型中,判断出所述机泵的故障状态。
具体地,在工业互联网平台上可以获取到工业现场设备出现故障的历史数据,其中一些故障的故障状态已经得到了反馈,利用这些数据就可以进行已知真实故障状态的诊断。同时也可以导出一些正常工作的设备的实时数据进行诊断。
在本实施例中,根据平台工作人员反馈已知三台机泵的历史故障数据,同时本实施例中还导出来一组正常状态的机泵数据。
6号水泵——轴承故障状态
10号水泵——轴承故障状态
2#助燃风机——联轴器故障状态
循环水泵——导出的实时数据(正常状态)
在本实施例中对这些数据依次进行了数据预处理和故障诊断,具体实施步骤如下:
工业现场数据与实验台数据不完全相同,由于工业现场的不确定性,数据中存在空相(NULL)和重复项(可能是传感器故障),因此需要先进行数据清洗,进行删重和删空。
处理完毕后再安装S12中数据预处理的步骤处理数据,得到待诊断的机泵频域信号。
将待诊断的机泵频域信号输入至S13中得到的故障诊断模型进行诊断,诊断结果如下:
本实施例验证了此故障诊断模型的准确率已经达到了95%以上。
与前述的一种随机森林分类的机泵故障诊断方法的实施例相对应,本申请还提供了一种随机森林分类的机泵故障诊断装置的实施例。
图3是根据一示例性实施例示出的一种随机森林分类的机泵故障诊断装置框图。参照图3,该装置包括
获取模块21,用于获取机泵故障状态下和正常状态下Z轴振动信号分量;
预处理模块22,用于对所述Z轴振动分量进行预处理后,获得频域信号;
建模模块23,用于采用随机森林方法对所述频域信号进行训练,建立频域信号与故障状态之间的关系,得到故障诊断模型;
诊断模块24,用于将待诊断的机泵频域信号输入至所述故障诊断模型中,判断出所述机泵的故障状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的随机森林分类的机泵故障诊断方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的随机森林分类的机泵故障诊断方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。