APP下载

基于改进栈式自编码器的风电机组发电机健康评估*

2020-03-26赵成林刘航鹏赵参参

计算机工程与科学 2020年3期
关键词:编码器发电机风机

林 涛,赵成林,刘航鹏,赵参参

(河北工业大学人工智能与数据科学学院,天津 300130)

1 引言

风电机组发电机结构复杂,在运行中会受风速、机械等复杂因素的影响,导致其内部承受的压力较大,故障率高,不便于维修[1]。由发电机及其相关设备造成的停机时间占风电机组总故障停机时间的23.2%,这已经成为影响发电机组经济性的重要因素[2]。

对即将发生的故障进行预警,采用预见性维护模式进行风电机组发电机维护是一种高效的、节约成本的方式。目前的风机部件状态建模主要采用2种方法:基于物理模型的方法与基于数据驱动的方法。与基于物理模型的方法相比,基于数据驱动的方法限制较少,不用深入了解故障过程。通过数据采集技术,风场的运营维护人员可以得到大量的风机运行数据,这为基于数据驱动的风机状态分析提供了基础[3]。

在基于数据驱动的各种状态监测方法中,通过采用监视控制与数据采集SCADA(Supervisory Control And Data Acquisition)系统中的风机运行数据来训练预测模型,进而对风机部件进行实时状态监测已被证明是一种高效的方式。Wang等[4]使用k近邻、岭回归、支持向量机、浅层神经网络、深度神经网络作为预测模型,采用SCADA数据对风机齿轮箱进行故障诊断,经过比较各模型的残差,证明了深度神经网络的诊断精度最高,说明了深度神经网络在处理风电数据上的优越性。然而,上述模型虽然达到了诊断的目的,但模型的构建过程繁琐,并且只利用单一的变量残差来评估部件的健康程度,不能达到全面评估的效果。

栈式自编码器SAE(Stacked Auto-Encoder)作为一种实现简单的深度神经网络,可在多维数据中提取隐含特征。Zhao等[5]使用栈式自编码器对风机SCADA数据进行分析,通过多维数据提取风机运行特征,根据重构误差及各变量残差的走势推断出风电机组的潜在故障位置,诊断结果更加全面。上述方法验证了栈式自编码器处理风电数据的可能性,但只是通过设定阈值来识别故障,不能得到故障的发生概率,并且阈值的设定直接影响了诊断效果,风场运维人员无法很好地把握。

为了使风场运维人员能够直观全面地监测风电机组发电机的运行状态,针对以上风机健康评估研究的经验与存在的问题,本文采用SCADA数据进行风电机组发电机健康评估,对传统栈式自编码器进行改进,将其作为风电机组发电机的状态监测器,从模型的残差分布中提取了3种统计指标,并将3种指标进行概率化处理及融合,得到风机发电机的健康度。与传统的栈式自编码器相比,改进的模型能学习到风电数据更深层的特征,较早地发现故障趋势;与采用阈值的故障指示方法对比,本文提出的评估指标使用概率信息进行故障指示,对于故障趋势的识别更加灵敏直观。

2 基于栈式自编码器的健康评估模型

2.1 健康评估模型框架

本文的健康评估模型框架分为离线模型构建和在线健康评估2部分。首先对风机运行数据进行清洗处理,得到有效的训练数据与测试数据。然后对栈式自编码模型进行训练、测试,得到健康评估基准模型与基准指标。最后将训练好的基准模型作为发电机在线状态监测器,并利用滑动时间窗对得到的在线重构误差进行评估,得到每个时间段内风电机组发电机的健康度。本文的健康评估模型框架如图1所示。

Figure 1 Structure of health assessment图1 健康评估模型框架图

2.2 栈式自编码器基准模型

栈式自编码器是基于多层自编码器的组合网络,通过最小化输入与输出的重构误差,可以使网络逐层学习输入数据间的分布规则,当数据出现异常,网络内部平衡会被打破,导致重构误差增大。作为自编码器的变种,去噪自编码器通过以一定概率使输入为零来进行训练,可以避免自编码器的特征学习只是输出对输入的简单复刻,使学习的特征更具有代表性,其最大的优势是学习到的特征不受输入的限制,从而得到比输入维度更大的隐含层特征[6]。而稀疏自编码器通过将隐含层稀疏化,使自编码神经网络即使在隐含层神经元数量较多的情况下仍然可以学习输入数据中的一些规律[7]。

考虑到风机SCADA数据具有维度高、数据分布模式复杂的特征,本文改进的SAE模型将以上2种自编码器结合,先利用去噪自编码器学习1个比输入更大的隐含特征,再通过稀疏自编码器保证改进的SAE在多神经元下的特征学习效率。图2为本文改进的SAE模型结构图。

Figure 2 Structure of the improved SAE图2 改进的SAE结构图

图2中x=[x1,x2,…,xn]表示模型输入矩阵,y=[y1,y2,…,yn]表示模型输出矩阵,h1,h2,h3表示隐含层矢量。自编码器的编码过程如式(1)所示:

h1=f(w1x+b1)

(1)

其中w1与b1分别为输入层与隐含层之间的权值与偏置,f为sigmoid函数。

自编码器的解码过程如式(2)所示:

y=f(w4h3+b4)

(2)

其中,w4与b4分别为隐含层与输出层之间的权值与偏置。为了避免网络出现过拟合,本文在总体代价函数中加入正则化项,如式(3)所示:

(3)

(4)

其中,hj(xi)为第j个神经元在第i个输入数据下的激活度。利用相对熵对节点的活跃度进行限制,则整个隐含层的稀疏限制如式(5)所示:

(5)

其中,ρ为稀疏性参数,通常是1个接近于0的值,本文中ρ=0.1。通过加入稀疏限制,可得到稀疏自编码器的总体代价函数如式(6)所示:

(6)

其中,β为稀疏化的调节因子。

将式(3)的结果作为改进的SAE编码过程的重构误差,并通过以一定概率使输入为零,构建去噪自编码器。将式(6)的结果作为隐含层之间的重构误差,从而构造稀疏自编码器。对模型进行无监督预训练与微调训练后,得到风电机组发电机健康评估的基准模型。

3 健康评估指标

当发电机出现故障趋势时,通过改进的SAE状态监测器得到的重构误差分布与基准重构误差的分布会出现明显差异,为了对分布差异进行量化,先使用平均值、方差、分位数对离线训练得到的重构误差进行评估,得到风机在正常运行情况下的基准指标;再通过划分时间窗,计算固定时间段内在线重构误差的统计指标;最后将该统计指标与得到的基准指标进行差异性比对,得到分布差异指标。

3.1 分布差异指标

平均值差异和方差差异是量化2个分布差异的基本指标,也是构建健康度指标的前提。z分数作为一种常用的统计方法,以标准差为单位计算样本与总体平均值的距离,不受原始测量单位的影响。为了比较离线训练的基准重构误差与在线重构误差的均值偏差,根据z分数原理设计平均值差异ME如式(7)所示:

ME=(uon-uoff)/σoff

(7)

其中,ME为2个误差的平均值差异,uon为在线重构误差均值,uoff为基准重构误差均值,σoff为基准重构误差的标准差。

F统计量广泛应用于方差分析,为了比较2个误差的方差差异,设计1个F统计量VM如式(8)所示:

(8)

风电机组发电机的实际运行容易受到风速等环境因素的影响,所以状态监测得到的重构误差含有大量噪声,这些噪声引起的重构误差分布的异常变化,会进一步对2个重构误差间平均值差异与方差差异的评估产生干扰。为了能够更好地反映整体分布差异的变化,减弱重构误差噪声的影响,本文设计异常度AP如式(9)所示:

AP=P(r>δoff)

(9)

其中,AP是异常度,δoff为基准重构误差的90%分位数,r为在线重构误差,P(r>δoff)代表在线重构误差超过基准重构误差90%分位数的概率。AP值越大证明在线重构误差中的异常样本越多,发电机正常运行情况下,AP≈0.1。

利用平均值差异、方差差异、异常度3个指标,可以在考虑异常值影响的情况下,对在线重构误差与离线基准重构误差的分布差异进行评估,为提高评估指标的直观性,将3种指标进行概率化与融合,得到发电机健康的综合评价指标。

3.2 指标概率化与融合

本文通过反正切函数将3个差异指标进行概率化,tanh函数单调递增,且函数在大于某值后,其变化率变慢,此特点恰好可表示当重构误差中有足够的异常点时,风机已经处于异常状态的情况,利于异常状态的划分。利用tanh函数对指标进行概率化,如式(10)所示:

PBPARA=tanh(PARA/a)

(10)

其中,PBPARA为得到的概率化指标,PARA代表要概率化的差异指标(ME,VM,AP),a为自定义参数。为了使PARA概率化到0~1,设置a=1.5。对平均值差异、方差差异、异常度进行概率化后,将3种概率化的指标进行融合,得到故障可能性指标为:

Perror=PBME*PBVM*PBAP

(11)

其中,PBME,PBVM,PBAP分别为平均值差异、方差差异和异常度的概率化指标,从3种不同的角度反映了发电机的故障可能性,将其指标融合得到的Perror包含了3种指标的特点,直观地反映了故障发生的概率。最终得到的健康度如式(12)所示:

HC=1-Perror

(12)

4 实例分析

4.1 数据描述

为验证所提出的健康评估模型的有效性,本文以河北某风场1.5 MW风机作为研究对象,利用21#风机1年的SCADA数据进行实验分析,对其发电机进行状态评估。SCADA系统中拥有70多种变量,包含时间、风速、功率、各部件温度、机舱振动等信息,数据存储周期为5 min,从系统中选取与发电机部件相关的所有变量,共计12个。由于风速对风电机组发电机的运行会产生显著影响,而功率是发电机部件的输出结果,反映发电机的输出状态,所以在原先12个变量基础上加入风速、功率2个变量,组成与发电机运行相关的14个变量,如表1所示。

Table 1 SCADA variables related to generator components表1 与发电机部件相关的SCADA变量

表1中的变量直接反映发电机内部状态,通过学习14个变量关系进行的健康评估相比通过单一变量进行的健康评估更加全面,能够更好地监测风电机组发电机的性能劣势,并且当发电机出现异常状况,运维人员可以根据组成改进的SAE重构误差的残差分量推测故障原因,为接下来的故障预诊断和维修提供参考。由于实际SCADA系统会发生传感器异常、系统处理错误等,得到的风机数据存在数据缺失、异常等问题,必须经过数据处理才能得到有效的运行数据。

4.2 数据处理

本文首先根据SCADA系统的风机状态码,筛选出风机处于正常运行状态的数据,但由于人为干扰与天气条件,通过状态码筛选的正常运行数据中仍存在少量异常点,影响模型的训练。实际中,当风力发电机处于正常运行状态时,功率曲线附近的风功率点遵循正态分布规律,即越接近中心,分布越密集。文献[8]据此原理使用子空间聚类方法对SCADA数据进行处理,并验证了该方法筛选风机有效运行数据的有效性。由于本文数据来源与文献[8]一致,所以同样使用子空间聚类方法对上述14个变量的历史数据进行数据清洗。得到有效纯净的数据后,再进行线性归一化处理,如式(13)所示:

(13)

其中,z′是归一化后的标准数据,z为归一化前的原始数据,zmin和zmax分别为原始数据集中的最小值与最大值。经过数据清洗与归一化处理后,得到280 000条纯净运行数据,将其用于模型的训练与测试。

4.3 模型训练与测试

将纯净运行数据中的24 000条数据作为训练集,输入改进的SAE模型进行训练,通过反复调试,确定改进的SAE的网络结构为14-100-100-100-14。为确定健康评估基准,使用余下的4 000条有效运行数据对模型进行测试,得到测试集的部分重构误差,如图3所示。

Figure 3 Diagram of reconstruction error of partial test samples图3 部分测试样本的重构误差图

由图3可知,虽然经过了数据处理,但2个模型得到的重构误差还是存在不可避免的噪声,如果采用阈值的方法对重构误差进行评估,很可能产生误报警现象,若通过本文提出的统计指标对在线重构误差进行分布差异性评估,便可依靠异常度指标消除噪声的影响。进一步对比2个模型发现,传统SAE得到的重构误差大部分位于0.15以下,而改进SAE的重构误差大部分位于0.05以下,对2个模型的重构误差进行统计指标分析,如表2所示。

Table 2 Statistical indicator of reconstruction error表2 重构误差的统计指标

通过表2可知,改进SAE模型的重构误差的平均值、标准差、90%分位数都小于传统SAE的,这说明改进的模型能够更充分地学习风电高维数据之间的关联特征。为验证模型改进与指标评估在实际异常检测上的有效性,将测试得到的重构误差作为基准重构误差,通过具体故障实例进行测试。

4.4 发电机评估实例

该机组于2018年12月19日20:30推送发电机后轴承温度报警信息且报警前风机一直处于运行状态。选取报警前后从12月10日16:30到12月21日2:30共250小时的数据,将其输入训练好的改进的SAE状态监测器与传统的SAE状态监测器,得到实时重构误差曲线,并通过滑动时间窗计算重构误差的统计指标及健康度。

根据图4可知,传统SAE的重构误差在12月18日之后有明显升高趋势,而由于改进SAE的重构误差偏小,对异常数据也相对敏感,所以重构误差在12月17日已经有上升趋势,在12月19日SCADA系统才推送发电机报警信息,此时对应重构误差为0.4。若采用静态阈值的方法,只有将阈值设置为0.4以下才可在系统报警前检测出故障趋势,但是在线重构误差存在噪声,阈值设定较困难。

Figure 4 Online reconstruction error of generator 图4 发电机的在线重构误差

从图5中可以看出,改进SAE得到的健康度指标在12月14日虽然被重构误差的噪声影响,但都维持在60%以上。在12月16日20:00改进SAE的发电机健康度低于60%,并且随着时间推移,健康度下降,则可认为风机发电机存在故障,当健康度下降到8%,SCADA系统才推送发电机后轴承过热报警。

Figure 5 Online health assessment of generator图5 发电机的在线健康度

相比于改进SAE,传统SAE的健康度在机组停机后才不断下降,这主要是因为传统SAE得到的重构误差较大,对于数据之间的异常不能很好地识别。由此可看出,本文的健康评估模型能够准确地监测发电机部件的运行状态,相比于现有SCADA系统能较早地识别发电机劣化趋势。本文所提出的健康度为量化指标,风场的运维人员可根据健康度走势灵活安排预防性维护任务,提高风场运营效率。

5 结束语

本文对传统SAE模型进行改进并应用于风电机组发电机的健康评估,首先对SCADA数据进行处理得到纯净的风机运行数据。然后对改进的SAE模型进行训练与测试,得到基准重构误差并计算出发电机正常运行的基准指标。最后计算滑动时间窗中在线重构误差的指标,与基准指标进行差异性比对,通过3种差异性指标的概率化处理与融合得到发电机的健康度。利用实际风场的数据进行验证,结果表明,本文提出的风电机组发电机健康评估模型可准确地跟踪发电机运行状况的变化,并能以概率化的指标反映发电机在故障早期的劣化趋势。与传统SAE相比,改进SAE能够学习到风电高维数据中更多的隐含特征,对数据之间的异常更加敏感。与SCADA系统的故障报警相比,本文的健康评估模型更加灵敏直观,能够在故障发生前检测出故障趋势。

猜你喜欢

编码器发电机风机
融合CNN和Transformer编码器的变声语音鉴别与还原
笑声发电机
运行中发电机出口压变异常的分析与处理
风机折翼“倒春寒”
基于双增量码道的绝对式编码器设计
风机倒塔事故为何频发?
应用旋转磁场编码器实现角度测量
某热电厂风机电机节能技术改造
随身携带的小发电机
基于数字信号处理的脉冲编码器