1、基金项目:上海市“科技创新行动计划”地方院校能力建设专项项目(19020500700);中国华能集团有限公司 2019 年度科技项目(K522019007)收稿日期:20210312修回日期:20210521第 40 卷第 2 期计算机仿真2023 年 2 月文章编号:10069348(2023)02010805基于 XGBoost 和自适应阈值的电厂风机故障预警夏文苗,黄伟(上海电力大学自动化工程学院,上海 200090)摘要:为了对电厂风机实现故障预警,提出了基于极端梯度提升(XGBoost)算法的数据驱动的故障预警方法。首先,通过对电厂原始数据进行数据特征提取和 BoxCox 变换,建立
2、基于 XGBoost 算法的风机轴承温度预测模型;其次,将模型预测值和真实值的偏差用相似度函数表示,并设计了基于区间估计思想的自适应阈值方法;最后利用某电厂送风机数据进行仿真,并将 XGBoost 算法与支持向量机(SVM)算法、梯度提升树(GBDT)算法进行对比。结果表明该方法能实现风机早期故障预警,验证了该故障预警模型的有效性。关键词:电厂风机;极端梯度提升算法;自适应阈值;相似性;故障预警中图分类号:TM743文献标识码:BPower Plant Fan Wind Turbine Fault Early Warning in PowerPlant Based on XGBoost and
3、 Adaptive ThresholdXIA Wenmiao,HUANG Wei(School of Automation Engineering,Shanghai University of Electric Power,Shanghai 200090,China)ABSTACT:In order to realize fault early warning for wind turbine in power plant fan,a datadriven fault earlywarning method based on extreme gradient boost(XGBoost)alg
4、orithm is proposed Firstly,through the data featureextraction and box Cox transformation of the original data of the power plant,the fan bearing temperature model basedon XGBoost algorithm iwas established;secondlySecondly,the deviation between the predicted value and the realvalue of the model is w
5、as expressed by through similarity function,and the adaptive threshold method based on inter-val estimation idea is was designed;finallyFinally,the data of a power plant blower is were used for simulation,andthe XGBoost algorithm is was compared with the support vector machine(SVM)algorithm and the
6、gradient liftingtree(GBDT)algorithm The results show that the method can realize the early fault warning,and also verify the ef-fectiveness of the fault warning modelKEYWODS:Power plant fan;Extreme gradient lifting algorithm;Adaptive threshold;Similarity;Fault early warning1引言电厂风机作为火电机组的重要组成部分,直接影响机
7、组能否安全负荷运行,其主要作用是保障机组运行的空气循环。由于风机运行条件较恶劣,进气箱所输送的气体中常含有煤粉等杂质,容易造成风机故障。典型的故障包括转子不对中,失速,喘振,轴承裂纹等,其故障主要体现在温度、振动及风压信号上,如风机叶片遭到酸性物质腐蚀影响叶片质量,会导致轴承振动;轴承箱润滑油系统故障导致轴承超温;风机失速故障表现在风压信号中。因此,实现风机设备的早期故障预警对于火电安全生产具有重大意义。目前,主要研究方法有基于故障机理的预警方法和基于历史数据的故障预警方法。徐小刚等1 针对离心风机失速故障,采用对称点模式分析和图像匹配相融合的方法,建立不同状态下的 SDP 模板图并提取特征,
8、结果表明该方法可以快速发现失速故障起始点。杨婷婷等2 采用多元状态估计技术建立模型,通过相似度原理得到相似度曲线,利用滑动窗口法确定阈值。朱朋成等3 针对磨煤机故障预警,以热力学为基础进行机理分析,确定其特征参数,并通过数据挖掘建立预警模型,判断磨煤机的早期异常。基于故障机理分析的预警方法建立在故障案例上,故障实验成本高,机理研究801较困难。胡杰等4、赵劲松等5、Lv You 等6 都是基于多元状态估计技术进行建模预测,主要将过程记忆矩阵用不同算法加以改进,提升模型的预测精度,通过绘制残差曲线和设定阈值来实现早期故障预警。宋莹等7 采用多元状态估计建模获得多维的残差向量,并利用超椭球分析模型
9、对残差向量进行分析,相比于固定阈值分析能够更早的发现故障起始点。但由于多元状态估计技术是多输入多输出建模,无法准确判断故障的类型,并且采用传统的固定阈值方法在机组变负荷情况下易产生误报警。尹诗等8 将随机森林算法与 BiNN 算法结合建立预警模型,实现对风电机组主轴承的状态监测。李俊卿等9 采用栈式自动编码器的方式选取数据特征,结合误差反向传播算法建立预警模型。其主要通过用机器学习算法建立预测模型。针对风机数据的多变量、数据量大等特点,采用高效并行的 XGBoost 算法,其适用于多数据类型的情况,能够有效利用大规模数据,并在保证效率的前提下提升预测精度。基于上述分析,本文以风机轴承温度为切入
10、点,利用 XGBoost算法进行风机轴承故障预警,通过相似度曲线和自适应阈值判断故障发生的起始点,提前发出预警信号。2XGBoost 算法原理XGBoost 是一个可扩展的机器学习系统,用于树的增强,其是由多个分类回归树(CAT)进行组合而成的树集成模型10。对于有 n 个样本数,m 个特征的数据集:D=(xi,yi)(|D|=n,xim,yi),xi是第 i 个样本的特征向量,yi是真实值,树集成模型由 K 棵树组成,如式(1)所示yi=kk=1fk(xi),fk F(1)式中,F=f(x)=q(x)(q:mT,q(x)是 CAT 的集合,q表示每棵树的结构,T 是树的叶子结点数,fk对应独
11、立的 q 和叶节点权重向量。在一个样本中,XGBoost 模型通过在每棵树上将样本映射到叶子结点,再将 K 个叶节点的权重求和,得到预测值yi。通过定义损失函数,衡量真实值与预测值的偏差,其取值越小则偏差越小,损失函数如式(2)所示L()=Ni=1l(y*i,yi)+kk=1(fk)(2)式中 l 是训练损失函数,(f)=T+12 2,是正则项,保证模型的准确度并控制复杂度,平滑最终学习的权值,避免过拟合。XGBoost 算法以树模型迭代增加的方式进行训练,每增加一个决策树函数,则减小损失函数的值。假设 y*i表示第 i 个样本在 t 次迭代的预测值,需要添加 ft来最小化目标函数,如式(3)
12、所示。L(t)=Ni=1l(y*(t)i,yi)+tk=1(fk)=Ni=1l(yi,y*(t1)i+fi(xi)+(fi)(3)此时的预测输出变为 y*(t1)i+fi(xi),为使得损失函数L(t)最小,将上式展开成二阶泰勒级数形式,如式(4)所示。L(t)1Ni=1 l(yi,y*(t1)i)+gifi(xi)+12hif2i(xi)+(fi)(4)式中 hi=2y(t1)l(yi,y(t1),hi是损失函数 l 在展开点 y*(t1)i处的二阶导数,gi是损失函数在展开点的一阶导数,gi=y(t1)l(yi,y(t1),l(yi,y*(t1)i)是前 t1 步的所有函数的输出。在第 t
13、 步时去除常数项,得到的简化目标函数如式(5)所示。L(t)2=Ni=1gifi(xi)+12hif2i(xi)+(fi)(5)定义 Ij=i|qt(xi)=j 为所有叶节点的样本集,通过扩展(fi)进一步简化目标函数,如式(6)所示L(t)3=Ni=1gifi(xi)+12hif2i(xi)+T+12Tj=12j=Tj=1(iIjgi)j+12(iIjhi+)2j+T(6)对 j求导,可得到特定树结构的最优叶节点权重为*j,如式(7)所示*j=iIjgiiIjhi+(7)则最优损失函数为L(t)4=12Tj=1iIjgi()2iIjhi+T(8)式(8)可以用作衡量树结构质量的评分函数,L(
14、t)4越小则表示此树结构越好。由于树结构较多,一般选用贪心算法,从单片叶子节点开始,以迭代的方式给树增加分支。综上所述,其算法流程图如图 1 所示。图 1XGBoost 算法流程图901XGBoost 模型正则化学习目标,避免模型出现过拟合,通过对目标函数的 Taylor 化简,引入损失函数的一阶,二阶导数,又将样本的遍历转化成对叶子节点的遍历,得到最终的目标函数。通过加法进行训练,每次训练一棵树,循环创建决策树,最后的结果是所有树的和。3相似性测度与自适应阈值3.1相似度函数模型预测值与真实值之间有着不同程度的偏差,因此,需要定量地将偏差进行处理。通过构造相似度函数来表示预测值和实际值之间的
15、偏差,相似度值越大则两变量越相似,反之相似度值越小则差异性越大,通常表示向量间的相对距离的方法有距离度量函数,相似系数度量法,本文选用距离度量函数中的欧式距离。相似性定义:对于任意两个 n 维时间序列 X,Y,sim(X,Y)是 X 与 Y 之间的相似性函数,当 0sim(X,Y),则序列X,Y 在以 为界时相似,记为 XY。sim(X,Y)=11+ni=1(Xi Yi)2(9)将相似度映射到 0,1 之间,当 sim(X,Y)值越接近 1 则相似度越大,反之则越小。3.2自适应阈值预警阈值是衡量研究对象是否发生故障的标准,是故障预警研究中重要的一部分,在已有的研究中多采用固定阈值的方法,即通
16、过滑动窗口法对残差进行处理,取残差均值的最大值作为固定阈值,但在设备实际运行过程中,由于机组负荷的快速变化,或者在变工况阶段时,设备的运行状态会有偏离正常状态的可能,此时相似度会出现不同程度的下降,并且由于信号干扰等外部不确定因素,也会导致相似度下降,若采用固定阈值的方法,则可能会导致系统误报警,影响设备故障预警的准确率11。将统计学的区间估计的思想应用于自适应阈值的设计中,由切比雪夫不等式可知,具有有限均值 和方差 的随机变量,其取值范围是 n,+n,阈值因子 n 与误检率a 相关,在 M 个采样点处的相似度 simM的取值范围是 MsimnMsim,Msim+nMsim,其中 Msim是 M 个采样点相似度的均值,Msim为 M 个采样点相似度的方差,公式表达如式(10),(11)所示Msim=1MMi=1simi(10)Msim=1M 1Mi=1(simiMsim)2(11)a=1n2(12)由式(10),(11)可知,求解相似度的均值和方差需要循环利用采样点,当采样点数目较大时会增大计算量,实时性较差,为此采用迭代思想对上式进行改进,如式(13),(14)所示Msim=1Msi