V参数SVM在烟气轮机故障诊断中的应用

时间:2022-08-31 10:43:57

V参数SVM在烟气轮机故障诊断中的应用

摘 要:烟气轮机机组是利用余热发电的原理回收高温热能再生电能,但是由于多方面的原因,烟气轮机机组时常发生故障,对生产的经济性和安全性造成巨大损失。为了保障设备正常运行,对设备进行实时监测,及时判断故障发生的可疑点,减少故障发生的频率,同时保护环境,采用对原始信号的3层小波分解,提取信号的特征向量,再采用CSVC和V参数支持向量机二种方法进行分类实验,得到V参数的支持向量机分类效果最佳。

关键词:烟气轮机; 支持向量机; 故障诊断; 分类

中图分类号:

TN9834; TP277

文献标识码:A

文章编号:1004373X(2012)05

0043

05

Application of V parameter of SVM for fault diagnosis in gas turbine

WANG Shufang

(Information Technology College, Beijing Institute of Petrochemical Technology, Beijing 102600, China)

Abstract:

The gas turbine unit usually uses the principle of hightemperature heat recovery renewable energy, but due to various reasons, the failure of gas turbine unit causes huge losses for economical efficiency and security of production. To ensure normal operation, a realtime monitoring was performed, the suspicious points were determined to reduce the frequency of failure and protect the environment. The signal feature vector was extracted through decomposing three layers wavelet of the original signal, a classified experiment was performed with CSVC and V parameters, the best V parameters of support vector machine classification was obtained.

Keywords: gas turbine; support vector machine; fault diagnosis; classification

收稿日期:20110928

0 引 言

炼油厂中的烟气轮机机组是利用原油催化裂化装置在生产过程中产生的高温余热驱动烟气轮机的空气压缩机做功或给发电机机组提供输入能量,发电机组进而输出电能。这种方法是目前国内外催化裂化工艺环节回收能量最有效的方法。以燕山石化公司炼油厂YL18000A型烟气轮机直接发电机组为例,该机组平均每天再生发电10 368 kWh,按当地电价每千瓦时0.50元计算,每年节约人民币5 184万元。烟气轮机机组的投入运行不仅节约了大量的能源,为石化企业带来了巨大的经济效益,而且通过回收利用催化裂化装置产生的烟气,在保护环境方面也发挥了很好的作用。但是由于机械设备质量、工艺过程参数配置、电气电子设备控制方法等各方面的原因,烟气轮机机组振动故障率一致比较高,因此做好烟机机组的状态监测和故障诊断,采取相应控制措施,保证机组安全、稳定、长期运行具有十分重要的现实意义。

目前,国外有些公司正在从事烟气轮机发电系统的故障诊断研究,但其成果引进价格昂贵,更重要的是其产品难以与现有设备配套,引进就要对现有设备进行配套改造,投资很大。国内也有一些科研院所在做这方面的初步研究。课题研究的具体方法是对从炼油厂采集的烟气轮机故障发生时段的数据信息进行筛选,对故障信号用小波包分析方法提取故障发生时刻的特征信息,最后将特征样本通过支持向量机训练器进行训练,并获得支持向量与分类模型,用于对测试样本进行分类和函数回归,通过对相关已知信号数据的分析得到烟起轮机的瞬时运行状态。

在此,首先使用Matlab平台的小波分析工具对信号进行奇异点分析,完成信号特征提取工作。然后在此基础上进行故障诊断研究,使用的分类及回归程序是基于林智仁老师的一个支持向量机工具的Java实现的,该支持向量机工具支持CSVC支持向量机、V参数的支持向量机,在控制台环境下,实现对样本进行二分类、多分类、支持向量回归等功能,图形化的实验结果及分析能直观地反映诊断的效果。

1 信号的采集

烟气轮机在工作过程中,由于发电机叶片引起的轴振动、烟气轮机设备的温度、入口温度、出口温度和烟机内的压力等多个参数都是体现故障的指标。实践证明,故障发生时烟机机组设备包括发电机的横向、纵向、轴向振动值,还有烟机温度、压力都会发生较大变动。而振动值的变化最能体现故障发生的特征,故采用振动值数据经过小波处理之后提取的特征向量作为样本训练支持向量机。作为故障诊断的依据,信号数据采集点情况如图1所示。图1中烟气轮机工作状态下的实时监测点分布图包括两个与烟机相连的发电机的各个检测点振动、温度、压力差参数值。

图2是从炼油厂控制中心工作站采集到的一张数据波形图(样本)。

图2 烟气轮机振动量及过程量波形

图中横轴代表时间量,可以具体到秒,纵轴代表的是振动量和过程量,即不同测试点的具体振动值,单位是μm。图2中过程量一共4条曲线,其中不同颜色的曲线代表不同测试点的过程量参数,蓝色曲线代表烟机设备在Yt7701A测试点通过振动检测仪获取的振动数据信息。从图2中可以看出,在烟气轮机设备上具体监测位置和旋转轴上的振动数据;以此类推,粉色曲线代表Yt7701A的振动波形;绿色曲线代表Yt7702A的振动波形;灰色曲线代表Yt7702B的振动波形,每个测试点有三个方向的监测振动数据,A代表水平方向的振动,B代表垂直方向,而轴向的即是过程量波形显示的数据,在烟机实体图中以Zt表示。图2显示的波形是在Zt7701A检测点获取的振动数据信息。通过实时监测,可以对烟机的工作状态进行直观的判断,图2选取的是燕山石化炼油厂2004年11月24日―2005年11月29日一年的振动数据。可以直观地看出,这一年中在不同时期,烟机中不同位置的振动变化,其中波形发生剧烈变化的地方就可能是故障发生点,从炼油厂的历史记录中可以查询到这一年中的几次故障数据、故障相关图片信息。

1.1 信号特征的提取

对故障信号的预分析方法是在Matlab平台载入原始信号,截取故障部分信号,利用小波包将频带进行多层划分,对多分辨分析没有细分的高频部分进一步分解,并能够根据被分析信号的特征,自适应地选择相应频带,使之与信号频谱相匹配,从而提高时频分辨率。

1.2 故障信号层次分解与重构

采用Daubechies小波包对信号依次进行了3,4,6,10层分解,对信号的高频部分做更加细致的刻画,现以6层分解情况为例进行说明。利用Matlab平台的小波工具箱的信号单尺度一维离散小波分解函数wpdec对信号进行6层分解,生成小波分解二叉树,然后使用Matlab小波工具箱中的wrpcoef对第6层分解的细节系数进行重构,可以获得各个频带子信号的重构系数向量。图3是某个小波分解故障信号的具体情况,图4是重构后的各层细节信号。

其中,图3(a)是分解的完整二叉树结构,6层分解一共能够获取26 =64个频段的节点信息,树的叶节点分别为(6,0),(6,1),(6,2)等,以此类推到(6,63);图3(b)是节点(6,1)的波形图,通过观察不同的节点信息,可发现分解层数越高,不同频段的波形信息差别越明显。

1.3 特征向量

特征向量的选择在智能化故障诊断中是一个非常重要的环节,因为特征是体现故障的直接标准。选择节点系数平方和归一化之后的信息作为该频段的能量指标,因为故障信号与正常信号在同一频段的能量是不同的,所以可以将此作为机器学习的训练样本。

分别计算分解后信号第6层频段的系数节点系数平方和,如果xij(i=0,1,…,7;j=0,1,…,n)代表各频段重构信号的系数信息,则∑nj=1|xij|2即体现各层分解系数序列的能量,然后对能量信息做归一化处理(用各个系数能量除以总能量),并写入数据文件中。研究中对于小波基及分解层次进行了多次试验,对比计算量及分解效果,确定对原始信号的基于DB2小波的三层分解取得故障信号特征,作为支持向量机训练器的输入样本进行训练作为实验方案。

图5是实验中对原始信号进行基于小波包三层分解的系数计算出的特征向量,三层分解并重构信号在各层的系数之后,以平方和相加的方式计算第三层的所有系数的能量值,并进行归一化处理,最后输出到文本格式的文件中,以每个频段的能量指标作为特征能够体现故障的特点,作为支持向量机训练器的输入样本,能够达到故障诊断实验的目的。

2 支持向量机简介

支持向量机方法在解决小样本、非线性等模式识别问题中表现出的优势能很好地应用到机器学习领域,并能推广到函数拟合等其他机器学习问题中[1]。

2.1 基于支持向量机的二分类方法

烟气轮机的故障状态与正常状态的区分可以用支持向量机二分类方法实现。首先对原始故障数据的预处理,再分别选取正常状态与故障状态的特征向量作为支持向量机的训练数据,通过训练器进行训练,进而实现分类工作。支持向量机从线性可分的最优分类面发展而来,基本思想可用图6的二维情况说明。图中,实心点和空心点代表两类样本,H为分类线,H1和H2分别为过各类中离分类线最近的样本,且平行于分类线的直线,它们之间的距离叫作分类间隔。能将两类正确分开,而且使分类间隔最大的分类线为最优分类线,其方程为x・w+b=0,对它进行归一化,使得对于线性可分的样本集(xi,yi),i=1,…,n, x∈Rd,y∈{+1,-1},满足:

yi[(w・xi)+b]-1≥0,i=1,…,n

(1)

一种最大间隔分类器是这样的:固定函数间隔为1(函数间隔为1的超平面有时称为正则超平面),如果w是权重向量,要在正点x+和负点x-上实现函数间隔为1,可以如下计算函数间隔:

+b=+1

(2)

+b=-1

(3)

同时,为计算几何间隔,必须归一化w。几何间隔γ是所得分类器的函数间隔:

γ=1/2(-)

=1/w2

(4)

此时分类间隔等于2/w,使间隔最大等价于使w2最小。满足式(5)且使1/2w2最小的分类面就叫做最优分类面,H1,H2上的训练样本点就称为支持向量[24]。

2.2 核函数

核函数是SVM方法的关键所在。核函数K的选取需要满足Mercer条件。选择不同的核函数可以产生不同的支持向量机。目前没有固定的核函数,一般对于不同的问题选择不同的核函数。常用核函数有线性核函数、多项式核函数、径向基函数(RBF)、 多层感知机核函数。

2.3 参数选择

通常参数的不同选择会对支持向量机泛化性性能有较大影响,目前对于泛化性的优化集中在支持向量机模型的选择上。

2.3.1 支持向量机参数

目前常用的几种参数有C参数的支持向量机CSVC,即C参数的支持向量机分类算法及V参数的支持向量机算法。

(1) C参数

对于支持向量机中的优化问题,会有一个C值对应着权值二范数的最优选择,这个C值也给出最优界,从而在给定权值二范数下找到松弛变量范数的最小值。目前还没有一个统一的方法来决定C的最佳取值[5],所以现在广泛采用的方法是对C在0到正无穷范围内的不同值进行实验,对C先赋一个固定的初值,通过实验结果精度不断调整参数值,直到达到满意效果,所以出现了一种V参数的支持向量机算法。

(2) V参数

V在一个很小的范围 [0,1] 内变化,其结果与C在0到无穷之间变化是一致的。V参数在物理意义上实际是给出了拉格朗日参数的加和的下界,从目标函数中除去了线性项,同时V也是间隔误差的训练集比例的上界,也是全部支持向量数目与全部样例数目的比例的下界。因此,V是一个更加透明的参数,与特征空间的尺度无关。所以实验中采用V参数支持向量机是一种较好的选择,不仅降低计算复杂度,还不影响精度。

2.3.2 核函数参数

Vapnik等人在研究中发现,不同的核函数对SVM性能的影响不大,反而核函数的参数对SVM性能的影响较大,核函数本质上是提高了学习器的分线性处理能力,因此选择合适的核函数参数,对学习机器的性能至关重要。常用的几种核函数参数有:多项式核的参数d、高斯核的参数δ、多层感知机核的参数V,C。

目前关于如何确定SVM参数的方法具有不确定性,各种方法都有优缺点,所以在实际情况下,对不同的参数对SVM性能的影响进行优化是一个值得深入研究的课题[6]。

3 V参数支持向量机在故障诊断中的应用

3.1 研究方案

研究使用的一种支持向量机分类器用Java代码基于MyEclipse环境下开发。其中核心算法采用了林智仁老师的Libsvm软件包中的支持向量机算法。研究采用广泛使用的择优选择的方法,分别采用CSVM、nuSVM、径向基和多项式形式作为核函数,并采用了LSSVM的核心算法通过Matlab平台进行模型训练及测试分析,同时也对几种常见核函数进行运算结果的对比,比较其分类及预测效果。

分类流程图如图7所示。

在CSVC与V参数的分类实验中对原始信号进行小波包3层分解,选取前各个频带的特征向量作为训练样本的输入/输出选择一个节点,两个分类标识为:-1表示故障发生点;+1表示正常工作状态。在最小二乘支持向量机故障诊断实验中,采用函数估计的方法对模型进行预测,并针对不同的支持向量机参数进行实验结果对比,比较实验效果。

3.2 训练样本与测试样本

训练数据集选取烟气轮机工作正常状态与故障状态两组数据,各22个样本,总共44个训练样本,作为训练数据,选取的样本数据分别是烟气轮机正常工作状态与故障状态下对原始信号进行小波包分析处理过的特征向量,训练数据集用来训练支持向量机,进而建立二分类故障分类器,测试数据集用于对支持向量机训练完成后检验训练的结果,即支持向量机泛化能力的好坏。针对烟气轮机某一个测试点如(Yt7701A)三个方向的振动数据,包含水平振动、垂直振动和轴向振动,进行数据采集工作,每个方向的振动都有可能造成烟气轮机的故障,样本选择多个测试点历史数据中1年内某个月或者几个月以天为单位的数据,包括三个方向的振动值。其中,水平方向有222个数据,垂直方向上有308个数据,轴向有308个数据,采集的时刻为零点,负值代表的是规定的负方向。

测试样本的选择是正常工作状态下的9组数据,故障状态下的6组数据,一共15组振动数据。利用小波工具箱进行样本特征提取,将振动信号的能量信息作为特征向量,也作为支持向量机训练器的训练样本。

3.3 SVM故障诊断

将SVM应用到特定的实际问题中需要解决大量的设计问题,如算法的设计、核函数的设计等等。首先是为给定的应用选择适当的核。研究中使用了线性核函数、多项式核函数、径向基核函数(RBF)和Sigmoid核函数进行实验对比。其次就是实现哪种SVM,如果数据需要分类,就要决定是否使用最大间隔,或者某种软间隔方法,这里的关键因素是数据的维数。一旦核与优化条件确定,将进行一系列的实验,调整参数不断变化直到达到满意的性能。

3.3.1 基于CSVC的故障诊断

标准的CSVC分类的算法形式是:

式中:C就是惩罚因子,C参数的值设置得越大表示将对错误分类的惩罚越大;ξi是引入的松弛变量,它允许一定程度上违反间隔约束。实践中,C是一个变化范围很大的数,优化性能的评价是通过使用独立的验证集或者交叉验证的方法,对C在一定范围内变化,w会有相应的连续变化。通过实验发现,对于不同范围的C值,针对线性核的支持向量机,以及针对高斯径向基核、多项式核和S核的支持向量机的不同参数等多次实验发现,分类效果的精确率都达到98.0%。

3.3.2 V参数SVM的故障诊断

软间隔技术CSVC支持向量机有一个问题即参数C的选择。首先范围可以确定,典型的方法是在这个范围内试验,直到找到对特定训练集最好的选择。同时特征空间也会进一步影响参数的尺度。因此引入参数V提出如下的优化问题[7]:

在这个参数化的过程中,l是样本总数,V给出了αi的下界,它从目标函数中去除了线性项。可以看出,v是间隔误差的训练集比例的上界,同时v又是支持向量全部数目与全部样例数比例的下界。因此,v给出了问题的一个更加透明的参数,它与空间的尺度无关,而仅与数据的噪声程度有关。可见V参数可以控制支持向量的数量和误差,所以这里采用V参数SVM方法处理故障诊断分类过程。

由于每个支持向量机只进行二分类工作,一共只有两种状态,一种是正常状态,设定为+1,另一种是故障状态,设定为-1。执行训练器主程序svm_train.java,对提取的特征训练数据集进行训练,选择支持向量机所需的参数,不同支持向量机参数有差异,训练时在一定范围内对参数设置进行实验,以达到最佳实验效果。研究中采用Libsvm中交叉实验法选取核函数的参数,最后将训练结果保存到训练生成的格式为.mdl模板文件中。以NuSVM训练为例,采用NuSVM训练后的结果保存在Nu_svm.mdl中,结果如图8所示。

从图8的训练结果中可看出,支持向量机类型为nu_svc,而参数V值设置当前值为0.6,核函数当前选取的类型为RBF(径向基核函数),r值为0.125,采用二分类支持向量机。一共参与训练的44个样本数据中,有总共28个支持向量。随后可看出正负支持向量数目及支持向量的具体节点值。按照这样的方式,再进行各个参数值范围测试,训练结束后,已经成功建立支持向量机模型,选取最优的支持向量机模型。采用选取好的20个测试样本进行分类实验,测试结果如图9所示。

按照这样的流程,将多种方法进行多次测试,最终以算术平均值作为结果,对多种方法的比较结果如表1所示。

支持向量机平均训练时间 /s分类平均准确率 /%

CSVC1.292.0

NuSVM1.395.0

基于多项式核函数2.285.0

基于RBF核函数4.298.5

从表1可以看出,采用NuSVM V参数支持向量机分类器无论是在训练时间还是在正判率上,都比采用核函数的分类器有优势,CSVM分类器适用于经过归一化后的烟气轮机原始数据。

4 结 语

本文借鉴和学习了国内外成熟的相关理论及实验方法,通过对小样本支持向量机的二分类应用于烟气轮机振动故障诊断分类的大量实验。主要包括对CSVM

(下转第51页)

上一篇:基于改进型像素标记算法的目标定位 下一篇:一种弱信号检测新方法分析