APP下载

基于XGBoost和自适应阈值的电厂风机故障预警

2023-03-29夏文苗

计算机仿真 2023年2期
关键词:风机预警轴承

夏文苗,黄 伟

(上海电力大学自动化工程学院,上海 200090)

1 引言

电厂风机作为火电机组的重要组成部分,直接影响机组能否安全负荷运行,其主要作用是保障机组运行的空气循环。由于风机运行条件较恶劣,进气箱所输送的气体中常含有煤粉等杂质,容易造成风机故障。典型的故障包括转子不对中,失速,喘振,轴承裂纹等,其故障主要体现在温度、振动及风压信号上,如风机叶片遭到酸性物质腐蚀影响叶片质量,会导致轴承振动;轴承箱润滑油系统故障导致轴承超温;风机失速故障表现在风压信号中。因此,实现风机设备的早期故障预警对于火电安全生产具有重大意义。

目前,主要研究方法有基于故障机理的预警方法和基于历史数据的故障预警方法。徐小刚等[1]针对离心风机失速故障,采用对称点模式分析和图像匹配相融合的方法,建立不同状态下的SDP模板图并提取特征,结果表明该方法可以快速发现失速故障起始点。杨婷婷等[2]采用多元状态估计技术建立模型,通过相似度原理得到相似度曲线,利用滑动窗口法确定阈值。朱朋成等[3]针对磨煤机故障预警,以热力学为基础进行机理分析,确定其特征参数,并通过数据挖掘建立预警模型,判断磨煤机的早期异常。基于故障机理分析的预警方法建立在故障案例上,故障实验成本高,机理研究较困难。胡杰等[4]、赵劲松等[5]、Lv You等[6]都是基于多元状态估计技术进行建模预测,主要将过程记忆矩阵用不同算法加以改进,提升模型的预测精度,通过绘制残差曲线和设定阈值来实现早期故障预警。宋莹等[7]采用多元状态估计建模获得多维的残差向量,并利用超椭球分析模型对残差向量进行分析,相比于固定阈值分析能够更早的发现故障起始点。但由于多元状态估计技术是多输入多输出建模,无法准确判断故障的类型,并且采用传统的固定阈值方法在机组变负荷情况下易产生误报警。尹诗等[8]将随机森林算法与Bi-RNN算法结合建立预警模型,实现对风电机组主轴承的状态监测。李俊卿等[9]采用栈式自动编码器的方式选取数据特征,结合误差反向传播算法建立预警模型。其主要通过用机器学习算法建立预测模型。

针对风机数据的多变量、数据量大等特点,采用高效并行的XGBoost算法,其适用于多数据类型的情况,能够有效利用大规模数据,并在保证效率的前提下提升预测精度。基于上述分析,本文以风机轴承温度为切入点,利用XGBoost算法进行风机轴承故障预警,通过相似度曲线和自适应阈值判断故障发生的起始点,提前发出预警信号。

2 XGBoost算法原理

XGBoost是一个可扩展的机器学习系统,用于树的增强,其是由多个分类回归树(CART)进行组合而成的树集成模型[10]。对于有n个样本数,m个特征的数据集:D={(xi,yi)}(|D|=n,xi∈Rm,yi∈R),xi是第i个样本的特征向量,yi是真实值,树集成模型由K棵树组成,如式(1)所示

(1)

通过定义损失函数,衡量真实值与预测值的偏差,其取值越小则偏差越小,损失函数如式(2)所示

(2)

(3)

(4)

(5)

定义Ij={i|qt(xi)=j}为所有叶节点的样本集,通过扩展Ω(fi)进一步简化目标函数,如式(6)所示

(6)

(7)

则最优损失函数为

(8)

图1 XGBoost算法流程图

XGBoost模型正则化学习目标,避免模型出现过拟合,通过对目标函数的Taylor化简,引入损失函数的一阶,二阶导数,又将样本的遍历转化成对叶子节点的遍历,得到最终的目标函数。通过加法进行训练,每次训练一棵树,循环创建决策树,最后的结果是所有树的和。

3 相似性测度与自适应阈值

3.1 相似度函数

模型预测值与真实值之间有着不同程度的偏差,因此,需要定量地将偏差进行处理。通过构造相似度函数来表示预测值和实际值之间的偏差,相似度值越大则两变量越相似,反之相似度值越小则差异性越大,通常表示向量间的相对距离的方法有距离度量函数,相似系数度量法,本文选用距离度量函数中的欧式距离。

相似性定义:对于任意两个n维时间序列X,Y,sim(X,Y) 是X与Y之间的相似性函数,当0

(9)

将相似度映射到[0,1]之间,当sim(X,Y)值越接近1则相似度越大,反之则越小。

3.2 自适应阈值

预警阈值是衡量研究对象是否发生故障的标准,是故障预警研究中重要的一部分,在已有的研究中多采用固定阈值的方法,即通过滑动窗口法对残差进行处理,取残差均值的最大值作为固定阈值,但在设备实际运行过程中,由于机组负荷的快速变化,或者在变工况阶段时,设备的运行状态会有偏离正常状态的可能,此时相似度会出现不同程度的下降,并且由于信号干扰等外部不确定因素,也会导致相似度下降,若采用固定阈值的方法,则可能会导致系统误报警,影响设备故障预警的准确率[11]。

(10)

(11)

(12)

由式(10),(11)可知,求解相似度的均值和方差需要循环利用采样点,当采样点数目较大时会增大计算量,实时性较差,为此采用迭代思想对上式进行改进,如式(13),(14)所示

(13)

(14)

4 基于XGBoost算法的风机故障预警仿真

本文选取温州某电厂4机组B送风机历史数据作为模型数据。从2018年2月1日0点到2月11号10点,时间间隔为10分钟,共1500组数据,已知在2月11号9:30发生风机故障停机。对风机轴承温度建立回归预测模型,送风机轴承温度故障预警流程图如图2所示。

图2 轴承温度故障预警流程图

4.1 数据预处理与特征工程

1)数据归一化。首先将原始数据的空值和异常值删除,再将数据进行归一化处理,将特征数据映射到(0,1)内,消除不同量纲的影响。计算公式如式(15)所示

(15)

式中,x为原始数据,xmean为每个特征数据的均值,xmax为最大值,xmin为最小值。

2)数据特征选取。电厂风机原始数据中的特征有26个,其中包含与风机轴承温度无关的特征,若利用所有特征建模,则会降低模型的预测精度,所以需要选取合适的特征,采用皮尔逊相关系数法确定相关特征,将轴承温度特征记为X,其观测特征记为Y1~Yn,带入式(16)中得到X与Yi的皮尔逊相关系数R

(16)

相关性系数取值区间为[-1,1],两特征相关性系数绝对值越大,则相关性越强,最终选取的特征及相关性系数如表1所示。

表1 观测特征及相关性系数

3)Box-Cox变换。在回归预测中,默认各个特征满足独立同分布,Box-Cox变换可以在不丢失数据信息的前提下,使回归模型满足正态性,对称性[13]。计算公式如式(17)所示

(17)

(18)

4.2 XGBoost温度回归预测模型

故障预警算法主要使用部件的正常历史数据建立回归预测模型,其步骤为:

Step1:将已完成数据预处理和特征工程的1500组数据按6:2:2划分成正常状态下的训练集,测试集,故障状态下的验证集。

Step2:初始化XGBoost模型,设置模型的一些基本参数。

Step3:建立CART树并求出叶子结点的预测分值,累加叶子节点的分值,得到预测值。

Step4:进行模型训练部分,使用网格搜索法对模型进行调参,找出最优的参数,最后进行预测。

4.3 故障预警的仿真实现

风机正常状态下的训练集数据进行模型训练,测试集数据进行模型预测,预测结果如图3所示。

图3 正常状态预测结果图

由图3可知,真实值与预测值能够较好的拟合。为了更好的判断真实值与预测值之间的偏差,以及阈值的设定,图4给出了真实值与预测值的相似度曲线,固定阈值与自适应阈值的对比结果,其中固定阈值的求取详见文献[2]。自适应阈值因子n的大小会影响故障预警的效果,阈值因子n越大,则阈值区间越大,正常状态下相似度曲线超出阈值区间的概率越小,根据“3σ原则”,将阈值因子n的初始值设为3[14],此时的阈值区间上限会出现相似度大于1的样本点,超出了相似度取值范围,故对阈值因子进行调节,取得n=2.5,由式(12)可得误检率a为0.16。

图4 相似度曲线及阈值方法对比图

由图4可知,相似度曲线维持在较高的数值范围内,说明模型预测精度较高;其次,采用固定阈值方法会导致误报警,分别在采样点38、99、215发生误报警,而自适应阈值能够在变工况的情况下减少甚至没有发生误报警,快速跟随相似度的变化,因此,自适应阈值能够提高故障预警判断的精确度。

将风机故障状态下的验证集中280组数据输入模型,得到的预警结果如图5所示。

图5 故障状态下预警结果图

由图5可知,在第226个采样点处之后相似度处于阈值下方,开始发出预警信号,故障停机发生在第277个点,表明模型可以提前8.5h发出预警信号,该模型可以较早的对风机故障状态进行预警,具有较高的故障检测效率。

4.4 算法对比

为表明XGBoost算法在本文故障预警中的优势,利用相同的数据,分别采用梯度提升树(GBDT)算法和支持向量机(SVM)算法对风机轴承进行故障预警,所得到的预警结果如图6,图7所示。

图6 GBDT算法预警结果

图7 SVM算法预警结果

由图6,图7可知,利用GBDT算法在第233个采样点后发出预警信号,而SVM算法在第229个采样点后发出预警信号。三种算法的预测结果对比分析如表2所示。

表2 预测结果对比分析

由表2可知,基于XGBoost算法的故障预警方法比基于GBDT或SVM的预警方法能更早的发出预警信号,且均方误差最小,表明模型预测的精度较高。采用基于XGBoost算法的故障预警方法在处理多变量数据方面具有明显优势,并且在对数据的处理中,选取合适的特征进行Box-Cox变换,在提高模型预测精度的基础上提前预警出故障。

5 结论

为了实现电厂风机故障预警,提出来一种基于XGBoost算法和数据驱动的故障预警方法。该方法利用XGBoost算法建立模型进行回归预测,将预测值与真实值的偏差用相似度函数进行表示,并设计自适应阈值方法精确找出故障的起始点。通过对风机轴承进行故障预警仿真,以及对GBDT算法和SVM算法的对比,结果表明自适应阈值方法能有效降低误报率,该故障预警方法能够较早的发出预警信号,便于操作人员进行检修。

猜你喜欢

风机预警轴承
轴承知识
轴承知识
轴承知识
轴承知识
法国发布高温预警 严阵以待备战“史上最热周”
风机折翼“倒春寒”
园林有害生物预警与可持续控制
风机倒塔事故为何频发?
节能技术EPU在AV71风机上的应用
机载预警雷达对IFF 的干扰分析