一种基于XGBoost特征提取的压缩机故障诊断方法与流程

文档序号:17791137发布日期:2019-05-31 20:15阅读:311来源:国知局
一种基于XGBoost特征提取的压缩机故障诊断方法与流程

本发明涉及一种基于机器学习的故障诊断方法,尤其是涉及一种基于xgboost特征提取的压缩机故障诊断方法。



背景技术:

对于故障诊断模型,特征提取的好坏很大程度上决定着该模型的性能,它是故障诊断中的关键环节。特征提取是从故障数据中挖掘提取最具代表性信息的过程,也是一个对故障数据中隐含信息进行深度挖掘的过程。较差的故障特征不仅影响算法运算的效率,也会降低算法模型对故障的预测精度。因此,研究有效的特征提取方法至关重要。

现阶段,多数文献将故障诊断方法分为基于解析模型的方法、基于经验知识的方法以及基于数据驱动的方法。随着现在系统具有多变量、强耦合和非线性等特点,使得系统模型的构建非常困难,基于解析模型和经验知识方法的故障诊断效果就很不明显,而基于数据驱动的方法逐渐得到人们的关注,并成为故障诊断领域的热点。基于数据驱动的方法就是提取系统过程数据中的有用信息,根据这些有用信息来诊断系统的故障。将基于数据驱动的故障诊断技术细分为基于统计分析的故障诊断方法、基于信号处理的故障诊断方法和基于人工智能的故障诊断方法。由于故障类型和故障征兆之间不存在简单的对应关系,针对系统的不确定性和复杂性,基于人工智能的故障诊断技术较为适用。它主要是通过工业过程的正常数据以及故障数据来训练各类学习算法,进而实现故障诊断的目的。其技术难点在于如何从监测的故障数据中挖掘提取出隐含的重要特征信息,表征系统运行的正常模式和故障模式。基于人工智能的故障诊断方法包含神经网络法、支持向量机法、极限学习机法及模糊逻辑法。针对生产系统中成分的退化和机械的磨损,已有研究者通过时频分析技术在频域上利用ann实现故障的检测和诊断;又有研究者提出了最小二乘svm混合分类器,在对分类器进行训练的过程中,采用粒子群优化算法优化svm的参数,实现对油浸式电力变压器的溶解气体分析的故障诊断;同时有人提出了结合奇异值分解和极限学习机算法的滚动轴承故障诊断技术;还有人采用决策树方法进行相关特征的选取,结合反向传播算法和最小二乘算法微调自适应的模糊推理神经网络的网络参数,从而对感应电机进行故障诊断。同时,研究者们针对复杂系统中的现存问题,从增加新的信息、挖掘未利用的隐含信息和采用新的数学工具三个角度对这一领域进行展望,提出四个基于数据驱动的故障诊断研究展望:基于多源信息融合的故障诊断展望、基于关联性分析的故障诊断展望、基于机器学习的故障诊断展望、基于时频分析的故障诊断展望。

其中,在基于机器学习的故障诊断中,传统的智能学习方法,无论是用于分类还是回归,多数为浅层结构算法,其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约,如何从监测数据中对故障特征进行挖掘并表示是该类方法的研究难点,如果能对故障数据中的隐含信息进行合理提取并表征,就能得到更好的故障检测和预测结果。目前用于故障诊断领域的机器学习方法,都是从逼近论的角度拟合监测数据,存在逼近精度等方面的不足,例如神经网络、支持向量机等,尚不能够充分挖掘监测数据中的故障特征。

针对上述机器学习故障诊断的研究现状及存在的问题,本章提出基于xgboost特征提取的压缩机故障诊断方法。该方法首先根据监测的压缩机故障数据与故障类型,自定义适应该故障诊断场景的xgboost算法损失函数,以此构建对应的故障分裂树;其次,确定样本数据在故障分裂树中的叶子结点位置索引并创建位置索引矩阵;最后,对索引矩阵进行特定方式的编码重构,实现隐含故障信息的特征提取及智能化表征。该方法通过构建故障分裂树的方式来实现对数据中重要变量间信息的统计,包括数据结构和分布式特征。同时,通过设置分裂树的深度来实现数据中隐含特征信息的深度挖掘。以某压缩机的故障诊断为例验证该特征提取方法的有效性。



技术实现要素:

针对现有技术中存在的上述问题,为了充分挖掘数据中隐含故障特征信息,提高故障诊断精确度,本发明目的在与提供一种基于xgboost特征提取的压缩机故障诊断方法。

一种基于xgboost特征提取的压缩机故障诊断方法,其特征在于,包括以下步骤:

1)根据压缩机故障数据样本与故障类型自定义xgboost算法的损失函数;

2)迭代构建故障分裂树;

3)提取故障数据样本在故障分裂树中的叶子结点位置索引向量并进行特征编码重构,得到隐含故障信息的智能化表征;

4)基于该表征矩阵,使用svm、神经网络算法分别建立故障预测模型,实现多故障模式的预测诊断。

所述的一种基于xgboost特征提取的压缩机故障诊断方法,其特征在于,所述步骤1)中根据故障数据样本与故障类型自定义xgboost算法的损失函数采用以下步骤:

1.1)对于故障多分类诊断,引入极大似然估计法,对于给定的故障数据样本及其对应的故障状态类别,自定义损失函数为:

式中:n代表故障数据样本总个数,yi代表故障的真实类别,代表故障的预测类别;根据xgboost算法理论,此时故障分裂树模型fm第t次迭代的目标函数可表示为:

式中:ω(ft)代表故障分裂树复杂度,代表第t-1次迭代时的故障预测值,ft(xi)代表第t次迭代时的函数,c代表常数;

用泰勒展开得到近似目标函数为:

式中:gi和hi包含了的一阶及二阶导数信息,引导故障分裂树分裂构建;

对于故障分裂树模型fm,去掉常数项和c仍有:

此时的函数fm(t)为需要训练的故障分裂树的最终目标函数;则根据xgboost算法理论,故障分裂树的叶结点累加形式变为:

式中:ij为每个叶子上面故障数据样本的集合,wj代表每棵树叶结点故障数据样本对应分数,t代表故障分裂树的叶子结点个数;λ、γ用来控制对应部分的比重;上式对wj求导并令导数为零,求得故障分裂树结构的最小损失为:

式中:代表最小损失故障分裂树结构的输出分数,s代表最小损失。

所述的一种基于xgboost特征提取的压缩机故障诊断方法,其特征在于步骤2)的迭代构建故障分裂树的步骤如下:

2.1)根据故障数据样本及故障类型构建损失函数使用该损失函数构建故障分裂树第t次迭代下对应的目标函数;

2.2)使用公式(3)作为目标函数引导每一步的故障分裂树构建;

2.3)在故障分裂树分裂过程中,在当前故障分裂树结点的样本中依次选取一个参数特征,使用下公式(7)计算该参数作为叶结点分裂标准的增益信息gain;

式中:第一项为左子树的信息分数,第二项为右子树的信息分数,第三项为当前不分割的信息分数,gl,hl分别为分裂后左子树的gi及hi信息和,gr,hr分别为分裂后右子树的gi及hi信息和;

2.4)当所有参数都计算完成后,根据此增益gain选择对应故障参数对当前故障分裂树进行分裂,并把故障数据样本置于对应的叶结点中;

2.5)根据增益gain值是否小于设定的阙值γ时,决定是否进行当前故障分裂树结点的分裂;同时根据此故障分裂树是否达到设置的最大树深度,判断此时故障分裂树是否构建完成,停止分裂;若是,则计算公式(6)得到此故障分裂树的最小损失函数值;若否,则回到步骤2.3,并按顺序执行后续步骤。

所述的一种基于xgboost特征提取的压缩机故障诊断方法,其特征在于步骤3)的提取故障数据样本在故障分裂树中的叶子结点位置索引向量并进行特征编码重构,得到隐含故障信息的智能化表征包含以下步骤:

3.1)设故障数据样本数据集为{x1,x2,…,xn},在拥有k棵故障分裂树,每棵故障分裂树叶子结点数量为t的情况下,第n个样本在第k棵故障分裂树中对应的叶子结点位置为ank,且ank∈[1,t],k∈[1,k],则一个样本的位置索引向量维度为k,不同故障分裂树中对应位置索引可以相同或不同,得到所有样本位置索引向量矩阵为:

式中:n代表样本数量,k代表故障分裂树数量;

3.2)根据此位置索引矩阵得,此时不同样本间的距离差异仅代表其在故障分裂树中位置上的差异,其包含的隐含故障信息还是隐式的,使用此向量矩阵来训练故障诊断模型,会使得后续算法模型无法学到有效的故障信息;为了更好的利用该索引位置上所隐含的信息,对其进行索引向量的编码重构,先将位置索引特征的取值扩展到欧氏空间得到新特征集合为v,v为z中所有元素的集合,再把每个样本索引向量维度扩展成k×t,当样本中存在集合v中的取值时,在新向量中的对应位置取值为1,否则为0,则得到所有样本的编码重构矩阵示例为:

所述的一种基于xgboost特征提取的压缩机故障诊断方法,所述的步骤4)的基于该表征矩阵,使用svm、神经网络建立故障预测模型,实现多故障模式的预测诊断,采用以下步骤:

4.1)故障数据预处理:采集的故障数据样本最初是杂乱无章的,经常包含缺失值,重复值、异常值,而构建故障分裂树所需求的数据是数值矩阵形式的;因此,根据数据具体情况,使用数据离散化、均值或中位数填充缺失值方式对数据进行预处理,以此得到规整的样本数据;

4.2)故障分裂树构建:

4.2.1)根据故障数据样本及故障类型构建损失函数使用该损失函数构建故障分裂树第t次迭代下对应的目标函数;

4.2.2)使用公式(5)作为目标函数引导每一步的故障分裂树构建;

4.2.3)在树分裂过程中,在当前树结点的样本中依次选取一个参数特征,使用公式(7)计算该参数作为叶结点分裂标准的增益信息gain;

4.2.4)当所有参数都计算完成后,根据此增益gain选择对应故障参数对当前故障树进行分裂,并把故障数据样本置于对应的叶结点中;

4.2.5)根据增益gain值是否小于设定的阙值γ时,决定是否进行当前树结点的分裂;同时根据此故障分裂树是否达到设置的最大树深度,判断此时故障分裂树是否构建完成,停止分裂;若是,则计算式(6)得到此故障分裂树的最小损失函数值;若否,则回到步骤4.2.3,并按顺序执行后续步骤;

通过上述步骤寻找最优结构的故障分裂树并得到最优叶子结点数量t及其对应的叶结点分数w;

4.3)叶结点位置索引向量提取:使用建立的故障分裂树,提取每个故障数据样本在分裂树中的叶子结点位置,形成对应的索引向量,并得到所有故障数据样本的索引向量矩阵z;

4.4)索引特征集合构建:根据步骤3.2)描述的方法,重构索引向量特征空间,得到新的特征集合v;

4.5)编码矩阵生成:扩展每个故障数据样本索引向量维度为k×t,并根据步骤3.2)描述的方法进行编码重构,得到编码矩阵

4.6)故障预测模型建立与诊断:基于编码矩阵和故障样本原始参数,结合svm、神经网络算法分别建立故障诊断预测模型;使用该模型对待预测的故障样本进行预测并输出对应诊断结果。

通过采用上述技术,与现有技术相比,本发明具有的有益效果是:

1)本发明提出了xgboost特征提取方法,用于挖掘故障数据中隐含的故障特征信息并进行智能化表征,同时给出了故障特征参数的重要性排序,作为故障定位与检测的依据;

2)本发明提出了基于xgboost特征提取的压缩机故障诊断方法,根据具体故障诊断场景自定义对应xgboost损失函数,构建故障分裂树,提取样本在故障分裂树模型中的叶结点位置索引向量并进行特征编码重构,得到隐含特征信息的表征矩阵,然后结合svm、神经网络常用机器学习算法构建故障预测模型并进行故障诊断;

3)本发明在压缩机故障数据集上应用了xgboost隐含特征提取方法,构建了基于xgboost特征提取的svm压缩机故障诊断模型及神经网络诊断模型,分别对比相应模型在故障测试集上的准确度,显示了本发明方法得到的诊断模型的有效性。

附图说明

图1是本发明的故障分裂树构建流程图;

图2是基于xgboost特征提取的压缩机故障诊断模型构建流程图;

图3是基于压缩机诊断数据集的fm故障模型单棵分裂树结构图;

图4是基于压缩机诊断数据集的故障特征参数重要性排序图;

图5是基于xgboost故障特征的svm压缩机故障模型决策边界图;

图6是基于xgboost故障特征的神经网络压缩机故障模型决策边界图。

具体实施方式

下面基于压缩机故障诊断数据集对本发明作进一步说明。

如图1-2所示,本发明的基于xgboost特征提取的故障诊断方法包括以下步骤:

1)根据故障数据样本与故障类型自定义xgboost算法的损失函数;其函数构建过程采用以下步骤:

1.1)对于故障多分类诊断,引入极大似然估计法,对于给定的故障样本及其对应的故障状态类别,自定义损失函数为:

式中:n代表故障数据样本总个数,yi代表故障的真实类别,代表故障的预测类别。借鉴xgboost算法理论,此时故障分裂树模型fm第t次迭代的目标函数可表示为

式中:ω(ft)代表故障分裂树复杂度,代表第t-1次迭代时的故障预测值,ft(xi)代表第t次迭代时的函数,c代表常数。用泰勒展开得到近似目标函数为

式中:gi和hi包含了的一阶及二阶导数信息,引导故障树分裂构建。对于故障分裂树fm,去掉常数项和c仍有

此时的函数fm(t)为需要训练的故障分裂树的最终目标函数。则根据xgboost算法理论,故障分裂树的叶结点累加形式变为:

式中:ij为每个叶子上面故障数据样本的集合,wj代表每棵树叶结点故障数据样本对应分数,t代表故障分裂树的叶子结点个数,λ、γ用来控制对应部分的比重。上式对wj求导并令导数为零,求得故障树结构的最小损失为

式中:代表最小损失故障树结构的输出分数,s代表最小损失。

2)迭代构建故障分裂树,所述迭代构建故障分裂树的步骤如下:

2.1)根据故障数据样本及故障类型构建损失函数使用该损失函数构建故障分裂树第t次迭代下对应的目标函数。

2.2)使用式(3)作为目标函数引导每一步的故障分裂树构建。

2.3)在树分裂过程中,在当前树结点的样本中依次选取一个参数特征,使用下式(7)计算该参数作为叶结点分裂标准的增益信息gain。

式中:第一项为左子树的信息分数,第二项为右子树的信息分数,第三项为当前不分割的信息分数。

2.4)当所有参数都计算完成后,根据此增益gain选择对应故障参数对当前故障树进行分裂,并把故障数据样本置于对应的叶结点中。

2.5)根据增益gain值是否小于设定的阙值γ时,决定是否进行当前树结点的分裂;同时根据此故障分裂树是否达到设置的最大树深度,判断此时故障分裂树是否构建完成,停止分裂。若是,则计算式(6)得到此故障分裂树的最小损失函数值;若否,则回到步骤2.3,并按顺序执行后续步骤。

在迭代计算的过程中,该故障树会不断枚举分裂结构,并在尝试分裂每一个叶结点时,计算分裂参数的增益gain来进行重要信息的统计提纯。利用上述方法来寻找一个最优结构的故障分裂树并计算式(6)得到对应的最小损失函数值s及当前结构分数wj,此时树的叶子结点包含最多且最重要的隐含故障特征信息。

3)提取故障数据样本在故障树中的叶子结点位置索引向量并进行特征编码重构,得到隐含故障信息的智能化表征,具体包含以下步骤:

3.1)设故障数据样本集为{x1,x2,…,xn},在拥有k棵分裂树,每棵分裂树叶子结点数量为t的情况下,第n个样本在第k棵树中对应的叶子结点位置为ank,且ank∈[1,t],k∈[1,k],则一个样本的位置索引向量维度为k,不同分裂子树中对应位置索引可以相同或不同,得到所有样本位置索引向量矩阵为

式中:n代表样本数量,k代表分裂树数量。

3.2)根据此位置索引矩阵得,此时不同样本间的距离差异仅代表其在分裂树中位置上的差异,其包含的隐含故障信息还是隐式的,使用此向量矩阵来训练故障诊断模型,会使得后续算法模型无法学到有效的故障信息。为了更好的利用该索引位置上所隐含的信息,对其进行索引向量的编码重构,先将位置索引特征的取值扩展到欧氏空间得到新特征集合为v,v为z中所有元素的集合,再把每个样本索引向量维度扩展成k×t,当样本中存在集合v中的取值时,在新向量中的对应位置取值为1,否则为0,则得到所有样本的编码重构矩阵示例为

4)基于该表征矩阵,使用svm、神经网络算法建立故障预测模型,实现多故障模式的预测诊断,具体采用以下步骤:

4.1)故障数据预处理:采集的故障样本数据最初是杂乱无章的,经常包含缺失值,重复值、异常值,而构建故障分裂树所需求的数据是数值矩阵形式的。因此,根据数据具体情况,使用数据离散化、均值或中位数填充缺失值方式对数据进行预处理,以此得到规整的样本数据。

4.2)故障分裂树构建:

4.2.1)根据故障数据样本及故障类型构建损失函数使用该损失函数构建故障分裂树第t次迭代下对应的目标函数;

4.2.2)使用式(5)作为目标函数引导每一步的故障分裂树构建;

4.2.3)在树分裂过程中,在当前树结点的样本中依次选取一个参数特征,使用式(7)计算该参数作为叶结点分裂标准的增益信息gain;

4.2.4)当所有参数都计算完成后,根据此增益gain选择对应故障参数对当前故障树进行分裂,并把样本置于对应的叶结点中;

4.2.5)根据增益gain值是否小于设定的阙值γ时,决定是否进行当前树结点的分裂;同时根据此故障分裂树是否达到设置的最大树深度,判断此时故障分裂树是否构建完成,停止分裂。若是,则计算式(6)得到此故障分裂树的最小损失函数值;若否,则回到步骤4.2.3),并按顺序执行后续步骤;

通过上述步骤寻找最优结构的故障分裂树并得到最优叶子结点数量t及其对应的叶结点分数w;

4.3)叶结点位置索引向量提取。使用建立的故障分裂树,提取每个故障样本在分裂树中的叶子结点位置,形成对应的索引向量,并得到所有样本的索引向量矩阵z。

4.4)索引特征集合构建:根据3.2)描述的方法,重构索引向量特征空间,得到新的特征集合v。

4.5)编码矩阵生成:扩展每个样本索引向量维度为k×t,并根据3.2描述的方法进行编码重构,得到编码矩阵

4.6)故障预测模型建立与诊断:基于编码矩阵和故障样本原始参数,结合svm、神经网络算法建立故障诊断预测模型。使用该模型对待预测的故障样本进行预测并输出对应诊断结果。

实施例:

基于来自某企业空分装备中压缩机故障数据集构建故障诊断模型。该故障数据包含训练数据和测试数据,其中包含属性有电机的运转频率f1、测量时电机的组件支持数量f3、预先测量值f5、电机各部件的组件编码f9、电机运转速度f11、是否安装过滤器f16及过滤器方向f23等,还有故障类别class。用字母表示数据中的故障参数名称,分别为{class,f1,f2,…f48},用数字表示样本对应的故障类别,分别为{1:轴未对准,2:机械部件松动,3:轴承故障,4:连杆故障,5:活塞故障,6:阀片故障,7:电机绕组故障,8:滑片损坏,9:转子不平衡,10:油膜震荡,11:叶轮积垢}。按图2的方式,用故障训练数据构建故障诊断模型,然后用测试数据验证模型的准确度。图3为基于此数据集下的故障模型单棵分裂树图。表1为基于xgboost故障特征的svm故障诊断模型对此十一种故障类型的预测准确率。

表1基于xgboost故障特征的svm算法压缩机模型诊断结果

图4为故障特征参数重要性排序图。图5为基于xgboost故障特征提取的svm压缩机故障模型决策边界图。表2是神经网络模型的结构和参数表,该神经网络模型共训练198283个参数,且含有多个隐藏层,每层均使用修正线性单元激活函数(rectified-linearunit,rlu),且每个隐藏层的输出单元经过dropout处理,有效减少模型训练总参数和提高模型泛化能力。

表2神经网络模型结构参数

表3为基于xgboost故障特征的svm故障诊断模型对此十一种故障类型的预测准确率图6所示为基于xgboost故障特征提取的神经网络压缩机模型的决策边界图。

表3基于xgboost故障特征的神经网络压缩机模型诊断结果

建模实验结果表明:基于xgboost的特征提取方法,深入挖掘并表征了故障数据中隐含故障规则信息,使后续算法模型的预测识别准确度更高。同时它给出了系统设备发生故障时,各特征参数的重要性排序,可以作为故障定位与检测的有效依据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1