1.一种基于XGBoost特征提取的压缩机故障诊断方法,其特征在于,包括以下步骤:1)根据压缩机故障数据样本与故障类型自定义XGBoost算法的损失函数;
2)迭代构建故障分裂树;
3)提取故障数据样本在故障分裂树中的叶子结点位置索引向量并进行特征编码重构,得到隐含故障信息的智能化表征;
步骤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)使用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、神经网络算法分别建立故障诊断预测模型;使用该模型对待预测的故障样本进行预测并输出对应诊断结果。
2.根据权利要求1所述的一种基于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代表最小损失。
3.根据权利要求2所述的一种基于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,并按顺序执行后续步骤。