基于RF-RFECV和PSO-SVM的化工过程故障诊断方法

2022-10-21 02:57王连彪张广帅
关键词:降维故障诊断准确率

张 伟,王连彪,张广帅

(青岛科技大学 自动化与电子工程学院,山东 青岛 266061)

橡胶轮胎、医药原料、服装染料、食品添加剂等化工产品在社会生产发展和人们日常生活中占据着重要地位,影响着工业、农业、国防等各个领域的快速发展[1]。但是,化工生产的工艺流程及过程控制系统结构复杂,运行系统内部各变量之间的关系相互耦合,某一部分发生微小故障就有可能诱发链式反应,导致整个生产系统无法正常运行,严重时可引发灾难性后果。因此,能够准确、有效地对运行状态进行早期预警,实现故障的快速诊断排除,是化工生产安全稳定运行的必要前提。

自20世纪90年代以来,随着故障诊断技术的不断发展,诊断方法得到了不断的扩充和完善,一般可分为基于机理模型的方法、基于知识的方法和基于数据的方法。过去,由于科技水平的条件限制,大部分异常工况的故障识别依赖于人工经验,这种基于知识的方法不仅带来了故障诊断效率低的问题,而且一旦经验不足导致判断失误则会影响产品质量。目前,随着工业自动化PLC和DCS系统的发展,依靠如温度、流速、压力等各类型传感器可以实现运行数据的实时采集,对收集数据中包含的多维度变量通过建立合适的故障诊断模型,预测故障的发生变化趋势,从而能够有效减少工业生产的经济损失[2]。

基于数据驱动的故障诊断建模方法主要可以分为三类,多元统计学习、深度学习以及综合性学习方法[3]。经典的多元统计方法如主元分析(PCA)[4]、独立分量分析(ICA)[5]、因子分析(FA)[6],通过将高维数据投影映射到低维空间,计算低维空间新变量之间的特征信息,并与阈值比较,进而分析故障诊断结果。深度学习方法如神经网络、支持向量机(SVM)主要是通过参数寻优进而可以实现多维数据的批量处理,以一种更加合理复杂的训练机制实现故障的有效诊断。

基于多元统计方法的故障诊断模型诊断结果准确率低、模型简单且容易丢失主要信息;基于深度学习方法的故障诊断模型对高维数据的训练和预测时间长,参数依赖性强,容易出现过拟合和欠拟合现象[7]。为此,本工作结合两种学习方法的优缺点,提出一种基于随机森林(RF)[8]和支持向量机(SVM)的故障诊断模型;其中,RF学习器作为一种自身可实现分类效果的模型,结合交叉验证递归特征消除算法(RFECV)对高维数据特征进行筛选,防止特征映射时出现信息丢失;并将获取的低维特征样本作为SVM的输入值,结合粒子群优化算法(PSO)确定模型超参数,从而获得最佳的故障诊断模型。同时应用TE化工仿真过程,与不同数据融合方法作对比,进一步验证了该方法的合理性。

1 算法

1.1 RF-RFECV算法

传统的多元统计方法在数据预处理过程中,将输入的高维样本数据映射到低维空间,以新变量代替原变量,从而丢失了部分隐含信息,对原始数据的分布特性造成了破坏。因此,为了增强模型鲁棒性,引入RFECV特征提取方法,以RF作为监督学习估计器,分两步先计算每个特征的重要性,再按照重要性评级依次选择不同数量的特征交叉验证,去除原始数据中与诊断结果无关的冗余特征,在不产生新变量的前提下确定特征集[9]。

1.1.1 RF的实现

RF在处理高维特征输入样本时,由于决策树[10]的存在可以不用降维,因此,选择RF作为RFECV的监督学习估计器能够很好的保留原始样本信息。同时,在训练时可以得到不同特征之间的相关性,从而判断出每个特征在分类结果上的重要性,其过程如图1所示。

图1 随机森林算法流程图Fig.1 Diagram of random forest algorithm flowchart

1.1.2 RFECV的 实 现

RFECV的实现分成递归特征消除(RFE)和交叉验证(CV)两个部分,首先通过递归特征消除对特征进行重要性评级,然后使用交叉验证选择最佳的特征数量。RFE是一种寻找最优特征子集的贪心算法,通过反复的构建基底模型即监督学习估计器,根据重要性对所有特征实现评级。初始的特征集包含输入样本的所有特征,通过基底模型计算每个特征的重要性,然后删除最不重要的一个或多个特征,更新特征集并重复上述过程,直到遍历所有特征,其中特征逐渐被删除的次序就是对特征的排序。

CV可以用来寻找特征的最佳数量,根据RFE阶段确定的特征重要性,依次选择出不同数量的特征,对选出的特征集由基底模型即监督学习估计器(RF)计算出平均得分,确定平均分最高的特征数量,完成特征选择。基底模型交叉验证时,首先计算没有删除任何特征时的平均得分,接着计算删除n个特征的所有组合的得分,对所有组合的得分求出均值,以此类推,一直重复,直到找到最小删除特征数,从而确定最优特征子集。

1.2 基于RF-RFECV的PSO-SVM算法

本工作根据样本数据分布呈现出的非线性和高斯性,在SVM线性判别式中引入高斯核函数,并通过PSO对核函数系数γ和惩罚系数C寻求结构风险最小化[11],拟合出一条曲线或者一个超平面实现正常、故障二分类,从而获得全局最佳的故障诊断模型。

1.2.1 KSVM的实现

根据Logistic回归函数,假设给定的训练样本数据集D={(x1,y1),(x2,y2),…,(x m,y m)},其中输出y={+1,-1},划分超平面的线性方程描述为[12]

其中,W=(ω1,ω2,…,ωd)为超平面的法向量,b为位移项。

为了提高分类的确信度,需要让所选择的超平面能够最大化“几何间隔”值,同时允许数据点在一定程度上偏离超平面,因此,引入松弛变量、拉格朗日乘子αi≥0将线性判别式转换为求解以下非线性约束优化式:

式中,ξi为松弛变量,C为控制参数,κ(x i,x)为高斯径向基核函数。

将上式问题等价转换后,约束函数相当于求解公式:

其中乘子α可通过序列优化算法(SMO)求解得出。

1.2.2 PSO搜索算法的实现

定义粒子群{x i|i=1,2,…,N},其中N为粒子群的数量。每个粒子可以看作目标空间中的一个解,x i表示为第i个粒子在空间中的位置矢量,v i表示为第i个粒子的速度矢量。

在每次迭代过程中,粒子群会有两个极值,一个为局部极值pbest即粒子自身的最优解,另一个为全局极值gbest即种群的当前最优解。粒子位置和速度的更新公式如下:

其中,v i(k)是粒子在第k次迭代时的速度,x i(k)是粒子在第k次迭代时的位置;ω是惯性权重,其值在0到1之间;c1和c2是学习因子,c1能够调节粒子向个体的历史最优值pbest学习的步长,c2能够调节粒子向群体的历史最优值gbest学习的步长;r1和r2的取值范围是在0到1之间的随机数。

为了防止粒子更新时跳出搜索范围,降低模型的搜索时间,需要将粒子位置变化的范围限定在最大值xmax和最小值xmin之间,速度的随机取值范围限制在[0,1]之间。

1.2.3 故障诊断方法的实现

本工作提出的故障诊断方法主要分为两部分,第一部分为数据预处理,即对高维数据的特征降维,第二部分为模型训练,即找到最优超参数的SVM二分类模型。两部分相互结合,实现对连续化工过程中异常工况的故障诊断,算法主要流程如下所示。

步骤1:数据预处理。

步骤1.1:加载训练集、测试集数据,以均值代替Nan值。

步骤1.2:使用RF-RFECV实现特征降维。

步骤1.2.1:设交叉验证规则cv=[2,5,8],监督学习估计器estimator=rf,递归特征消除步长step=1,平均得分指标为预测准确率scoring=′accuracy′。

步骤1.2.2:定义循环for n in range(length(cv))。

步骤1.2.2.1:定义函数RFECV(estimator,step,scoring,cv[n]),返回特征重要性。

步骤1.2.2.2:训练函数RFECV,得到特征优先级、特征降维数、cv平均得分。

步骤1.2.2.3:保存模型训练结果。

步骤1.2.3:比较cv平均得分,根据最高值确定特征维度、特征集。

步骤1.3:根据特征集筛选训练集、测试集,并做相同的标准化处理。

步骤2:训练模型。

步骤2.1:搭建PSO-SVM模型,加载新的训练集、测试集,并随机划分20%验证集。

步骤2.2:设PSO惯性权重ω=0.5,局部学习因子c1=0.2,全局学习因子c2=0.5,训练步长iterations=10,粒子群数量particles=3,Max=inf。

步骤2.3:初始化粒子位置向量particle position vector=[γ,C],初始化速度向量velocity vector,每个粒子的个体极值 设置为当前位置,初始化一对(α1,α2)。

步骤2.4:定义外循环while iteration<iterations。

步骤2.4.1:定义内循环for j in range(length(particles))。

步骤2.4.1.1:定义函数train function(particle position vector[j],train dataset)。

步骤2.4.1.2:定义SMO函数由公式(3)更新拉格朗日乘子(α1,α2),返回(α,b)。

步骤2.4.1.3:执行函数model((α,b),validation dataset),根据混淆矩阵计算粒子的适应度函数F=FP+FN。

步骤2.4.1.4:if max>F:max=F,保存模型best model。

步骤2.4.1.5:if pbest>F:pbest=F,pbest position=particle position vector[j]。

步骤2.4.1.6:if gbest>pbest:gbest=pbest。

步骤2.4.1.7:公式(4)、(5)更新particle position vector、velocity vector。

步骤2.5:比较所有模型gbest,确定最终SVM模型并保存。

步骤3:测试模型。

2 TE过程故障诊断实验

TE过程是一种模拟实际化工生产的仿真平台,里面包含Tennessee Eastman化学公司提供的正常和21种故障运行工况下的数据集。每份数据集包含仿真平台运行时的52个测量变量,共有22个连续过程变量、11个控制变量以及19个成分变量,即数据集的特征维度为52维[13]。为了更加合理的解释大部分故障特点,并减少建模时间,本工作选取正常工况、常见阶跃故障类型1作为研究对象。

2.1 故障诊断过程

2.1.1 样本数据介绍

为了防止故障诊断模型出现未知的过拟合或欠拟合现象,将TE过程仿真平台提供的正常工况、故障类型1的数据样本划分为训练集和测试集。在训练集中,正常工况运行下的TE过程仿真周期设计为25 h,每1 h对运行数据采样20次,间隔周期为3 min,共采样500组观测数据;故障类型1工况运行下的TE过程仿真周期设计为48 h,仿真运行后的前8 h没有故障引入,采样间隔同正常运行工况一致,运行结束后共采样960组观测数据,前160组数据无故障正常运行。在测试集中,正常工况、故障类型1工况运行下的仿真周期设计为48 h,其中故障运行时的故障引入时刻和训练集保持一致,共采集到正常工况运行数据1 120组,故障工况运行数据800组。因此,本研究选取的训练集为正常工况660×52,故障工况800×52,测试集为正常工况1 120×52,故障工况800×52。

2.1.2 特征降维

将上述TE过程获取的训练集和测试集,加入代表正常工况和故障工况的正负类标签,组合成新的训练集和测试集。通过RF-RFECV算法对训练集进行特征筛选,其中设置每次迭代时的递归特征消除长度为1,交叉验证规则选为2、5、8。根据不同特征维度对应的平均分值确定最终的特征子集,如图2所示。

图2 RF-RFECV不同特征维度得分图Fig.2 Diagram of RF-RFECV scores in different features dimensions

可以发现,当设置的交叉验证规则分别为2、5时,训练集不同数量特征提取对应的平均得分波动起伏较大,不如8折交叉验证规则的稳定。在对比特征重要性的排序结果以及平均得分后,发现特征数量控制在41维度时,RF-RFECV的平均得分最高,此时对应的特征信息可用来解释整体样本信息,其特征优先级排序结果如图3所示。

图3 特征优先级排序示意图Fig.3 Diagram of feature prioritization

2.1.3 性能指标

在确定特征维度后,对新的训练集样本进行数据预处理即归一化操作,作为SVM的输入值,并使用PSO算法搜索核函数系数γ和惩罚系数C。通过混淆矩阵如表1所示,将F1分数作为模型精度的衡量指标,预测值的错误数量作为PSO的目标优化函数[14]。

表1 混淆矩阵Table 1 Confusion matrix

F1分数兼顾了分类模型的准确率和召回率,是两者的加权平均,其值处于0、1之间:

其中,precision=TP/(TP+FP),是准确率,recall=TP/(TP+FN),是召回率。为了更好地证明提出的故障诊断模型的有效性,使用故障检测率(FDR),故障误报率(FAR)和诊断准确率(ACC)等指标评估模型性能[15]。

2.1.4 模型训练

通过K折交叉验证法将测试集划分出一部分作为验证集,并根据上述训练集确定的特征维度对验证集做相同处理。在训练集上通过PSO算法训练超参数惩罚系数C和核函数系数γ,并不断的优化由验证集得出的误差值。如图4所示,通过不断迭代的粒子群搜索算法得到径向基核函数下SVM故障诊断模型的最优超参数组合为{C=1.14,γ=3.96},且在训练集、验证集的识别准确率均超过95.8%。

图4 训练集和测试集损失函数曲线图Fig.4 Diagram of training set and test set loss function curve

为了检验模型泛化能力,防止过拟合情况发生,将RF-RFECV处理后的剩余部分测试集数据作为已训练好模型的输入值。对于正常工况、故障1的联合诊断结果通过计算混淆矩阵得出,其中F1分数为99.64%,FDR故障检测率为99.62%,FAR故障误报率为0.44%,预测准确率为99.58%。由图4可以发现,模型在训练集和新的测试集上的识别准确率都很高,诊断误差收敛且很小,未出现高方差和高偏差情况。因此,本工作提出的经过RF-RFECV算法处理后的PSO-SVM故障诊断模型,泛化能力效果良好,鲁棒性强且诊断准确率高。

2.2 特征提取方法比较

为了验证本工作提出的随机森林与高斯核支持向量机融合算法在挖掘显著特征和抑制不相关特征方面的优势,与经典特征提取方法PCA、FA、ICA(FastICA)进行比较,并通过PSO搜索算法确定性能最佳的SVM模型。

2.2.1 PCA、FA、FastICA特 征 提 取

PCA降维的主要思想是将n维特征映射到k维,新的k维正交特征被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征[16]。

通过PCA算法将52维的训练集样本数据先投射到低维特征空间,再计算每个特征对样本贡献率确定维度范围。如图5所示,PCA的维数确定一方面可以根据用户指定,另一方面可由设置的重构阈值即累计方差阈值拐点确定,通过查阅参考文献[14,16],确定新的正交特征至少需要保留原始样本90%以上的信息即新选择的主成分方差和应该大于总方差的90%,满足100∶1的压缩比,因此,新的正交特征维度为25。

图5 主成分方差和累计方差贡献率图Fig.5 Diagram of principal component variance and cumulative variance contribution rate

FA可以认定为PCA的扩展算法,两者的主要区别在于数学模型存在差异。PCA是把主成分表示成各原始变量的线性组合,且主成分之间互不相关,FA是把变量表示成各公因子的线性组合,从数据中提取对变量起解释作用的少数公共因子,倾向描述原始变量之间的相关关系[17],其模型如公式8所示。在使用因子分析之前,使用Kaiser-Meyer-Olkin(KMO)算法对训练集数据进行充分性检测,由检测值0.88验证了FA方法降维的可行性,从而确定了因子数目为12,即降维后的维度为12维。

ICA是一种信号分离方法,其基本思路是通过提取高阶统计量处理非高斯分布情况以去除原始变量相关性,使得主成分之间相互独立。假设样本数据为X∈Rm×n,其中:n为样本个数,m为特征个数,对矩阵进行分解,即

其 中,A∈Rm×r为混合矩阵,S∈Rr×n为独立成分矩阵,E∈Rm×n为残差矩阵,r独立成分数。

2.2.2 结果分析及对比

通过PSO搜索算法可以得到PCA特征降维后的K-SVM最 优 超 参 数 组 合 为{C=9.11,γ=6.43},诊断准确率为91.2%;FA特征降维后的KSVM最优超参数组合为{C=1.80,γ=7.26},诊断准确率为82.81%;FastICA特征降维后的KSVM最优超参数组合为{C=2.14,γ=9.15},诊断准确率为83.08%。训练集上的参数寻优过程如图6所示。

图6 训练集上的参数寻优过程Fig.6 Parameter optimization of training set

PCA、FA、FastICA、RF特征降维方法,结合PSO和K-SVM的故障诊断模型在测试集上的性能对比如表2所示。对比本研究提出的故障诊断模型,未经过特征降维处理的KSVM模型保留了原始数据中的冗余特征,受噪声影响诊断准确率最低;PCA特征降维时需要假设变量服从高斯分布且具有线性相关性,在对数据特性完全无知的情况下,并不能保留较好的数据信息,最终导致PCA-KSVM模型的诊断准确率并不是很突出;FA是对原始变量的重新组合并找出影响变量的公共因子,无法解释相关性弱的部分变量信息,破坏了原始样本的完整性;FastICA可以处理满足非高斯分布特性的数据,并从混乱信号中分离出独立源信号,但是对于未知源的信号无法准确确定独立成分数目;因此,FAKSVM和FastICA-KSVM模型的识别准确率相对比较低,难以满足复杂情况下的故障诊断。

表2 故障诊断方法对比Table 2 Comparison of fault diagnosis methods

综上,相比单一K-SVM和PCA、FA、FastICA结合K-SVM的故障诊断模型,本工作提出的RF-KSVM融合模型在保留完整原始样本数据分布特性的前提下,可以有效去除冗余特征,降低特征维度,并且对故障的识别准确率更高,发生故障误报的概率更低。

3 结 语

通过将RF-RFECV与PSO-SVM融合方法应用于化工过程故障诊断中,最大限度地利用已有数据的特征信息,在去除冗余特征未产生新特征的前提下,采用RF-RFECV有效降低了化工过程的高维数据。然后应用PSO算法和K折交叉验证搜索并建立最佳超参数的K-SVM模型,从而精准判断故障是否发生,及时地保障安全生产。以TE化工仿真过程中正常工况和常见阶跃故障类型1运行下的高维数据进行验证,新方法在测试集上的故障诊断率达到99.5%以上;同时,与FA、PCA、FastICA等特征提取方法相比,该方法的故障识别率有一定提升,未出现过拟合情况,能有效解决复杂化工过程中的故障诊断问题。

猜你喜欢
降维故障诊断准确率
混动成为降维打击的实力 东风风神皓极
基于包络解调原理的低转速滚动轴承故障诊断
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
降维打击
高速公路车牌识别标识站准确率验证法
数控机床电气系统的故障诊断与维修
一种改进的稀疏保持投影算法在高光谱数据降维中的应用
因果图定性分析法及其在故障诊断中的应用