基于残差神经网络的风机叶片结冰故障诊断

2022-03-09 05:37沈学利秦鑫宇
噪声与振动控制 2022年1期
关键词:特征选择结冰残差

沈学利,杨 莹,,秦鑫宇,,俞 辉

( 1.辽宁工程技术大学 软件学院,辽宁 葫芦岛 125105;2.中国科学院 海西研究院 泉州装备制造研究所,福建 泉州 362216)

近年来,风能作为一种可再生资源得到广泛的发展和利用[1–2]。风力发电机通常被安装在海上和偏远的高海拔陆地地区,以获得最大的风速和最小的利益冲突[3]。但是这些地区湿度高温度低,风力发电机的叶片容易出现结冰现象,而叶片结冰会使叶片的气动外形、结构性能及载荷发生改变,从而造成风机故障、安全隐患和经济损失等问题[4]。因此,提高对叶片早期结冰故障诊断的能力尤为重要。

目前风机运行的实时数据主要通过数据采集与监控(Supervisory control and data acquisition,SCADA)系统进行存储,基于SCADA数据的风机叶片结冰故障诊断方法得到了广泛的研究[5]。

文献[6]提出了一种基于Relief算法特征选择和XGBoost算法的风机叶片结冰诊断方法。文献[7]利用SCADA 数据中的风速和网侧有功功率两个变量,通过逻辑回归分类器进行风机叶片结冰诊断。文献[8]提出了一种结合Mini Batch K-means聚类算法与合成少数类过采样法(Synthetic minority oversampling technique,SMOTE)来处理高度不平衡的SCADA数据,然后通过随机森林方法来进行叶片结冰诊断的方法。以上方法采用经典机器学习方法作为诊断模型,由于SCADA 数据量大且信息复杂,上述方法往往无法有效利用这些数据,模型的性能优劣对特征选取的质量具有较高的依赖性。

近年来,深度学习算法因其在很多识别任务上表现出识别精度高且易于实现的优势,吸引了大量专家学者对深度学习算法在风机叶片结冰故障诊断方面开展研究。文献[9]提出一种基于SCADA数据的栈式自编码器的风机叶片结冰诊断方法。文献[10]提出一种基于深度神经网络的方法来监测风力发电机叶片结冰情况,该模型主要基于风机SCADA监控系统的电力相关数据、风数据和温度数据做出叶片结冰诊断。文献[11]提出了一种基于卷积神经网络的风机叶片结冰诊断系统,通过卷积神经网络自适应地提取深层次特征。文献[12]提出一种基于深度信念网络的风机叶片积冰诊断方法。这些方法大多集中在对风机叶片结冰诊断模型的改进,很少有研究将重点放在风机数据特征选择上面。虽然基于深度神经网络的诊断模型可以充分利用选取的特征,但由于SCADA 监测数据具有数据量大、冗余度高等特点,这往往会增加模型的训练复杂度,影响模型诊断的准确率和泛化能力。同时,随着神经网络层数的加深,网络模型容易陷入局部最优。

针对以上问题,本文采用风机叶片结冰数据分析与XGBoost 算法相结合的方法进行特征选择,并提出一种基于一维残差神经网络(1DRes-CNN)的风机叶片结冰诊断模型。该方法通过风机叶片结冰物理机制分析与数据可视化相结合的方法,对SCADA数据进行分析,生成有效表征叶片结冰的新特征;基于XGBoost算法进行特征选取,去除冗余特征;将选择好的特征作为1DRes-CNN模型的输入,该模型自适应地提取特征并做出叶片结冰诊断,减少了人为选择特征的不足和传统的特征提取方法所带来的复杂性,同时,一维残差块的加入避免了神经网络在信息传递时出现梯度消失从而陷入局部最优的问题。最终通过实验使该方法的有效性和优越性得到了验证。

1 SCADA数据预处理

本文使用的SCADA 数据集来源于国内北方某公司提供的WT A和WT B风机SCADA数据集。每条数据包含26 维特征,包括风机的运行参数、环境参数和状态参数,SCADA 数据集的统计信息如表1所示。SCADA系统采样间隔为7秒。此外,此监测变量中,风速、发动机转速、网侧有功功率、温度等变量均经过人工加密处理,与真实数值不同,失去其原始物理意义,本文仅分析数据之间的相对关系,因此皆舍弃变量单位。

表1 原始SCADA数据

数据预处理包括数据标记、数据分割、数据平衡问题、数据归一化。标记数据指根据风机正常和故障的时间范围对数据进行标记,标记风叶正常数据为0,风叶结冰数据为1,同时删除无效数据。此外,SCADA系统正常取样时间间隔7秒左右,风叶结冰不是瞬时状态,为减小噪声数据的影响,每隔一分钟对原始数据进行重新分割,取每组样本数值的平均值作为新的样本特征。针对数据类间不平衡问题,本文通过对结冰样本进行SMOTE 过采样,将结冰数据与正常数据比例设置约为1:1。SMOTE算法是基于随机过采样算法的一种改进,通过临近样本之间线性插值生成新的样本,并将生成的新样本加入原数据集,来改善原数据集类间不平衡问题,其实现过程简单且易于实现,在减小过拟合可能性的同时避免了原信息的丢失,被广泛用于不平衡数据集的处理中[13–15]。且SMOTE 过采样过程与后续诊断模型训练过程相互独立,具有通用性,不影响后续不同诊断模型的测试结果。通过数据归一化处理消除不同特征间数值的范围差异,提高模型的学习效率。

2 基于风机叶片结冰物理机制与数据可视化的特征分析

单纯依靠26维原始SCADA数据无法很好地识别结冰与未结冰数据,本研究基于风机叶片结冰物理机制和数据可视化分析补充相关特征,实现对早期叶片结冰更好的表征。

2.1 基于风机叶片结冰物理机制分析

风机叶片结冰的原因包括环境因素和自身因素[16]。环境因素中最主要的影响因素为环境温度,当环境温度等于或者低于0°C 时,叶片接触到潮湿的水汽,尤其是过冷却水滴,当其撞击到风机的叶片上时,水滴冻结造成叶片结冰现象[17]。同时,由于风机所处环境的特殊性,环境温度容易随时间发生较大的变化。这些变化将导致机舱温度发生变化。因此,为了消除环境温度变化的影响,环境温度减去机舱温度作为新的特征变量更容易区分风叶结冰与正常状态,得到的新特征温度差,记作tmps。如图1所示。消除环境温度之前,结冰数据和正常数据均匀分布在y=0的两侧,引入温度差变量后,如图2所示。正常数据分布在y=0两侧,结冰数据基本分布在y=0以下,新的特征变量较环境温度变量更容易区分风叶结冰与正常状态。

图1 机舱温度与环境温度散点图

图2 机舱温度与温度差散点图

风速和功率是叶片结冰预测的主要特征。风机的实际功率P如式(1)所示[18]:

式中:ρa——空气密度;S——叶片扫风面积;CP——风能利用率;V——风速。

正常情况下,CP与风机的叶尖速比和翼型升阻比的比值相关,风机叶片覆冰会造成叶片翼型的空气动力学结构改变,翼型升力减小,阻力增大,升阻比减小,最终使得风机的风能利用率下降[19]。因此,在风速一定的情况下,风机叶片结冰和P有明显的对应关系,如式(2)所示:

风机叶片覆冰后风机叶片表面的粗糙程度以及风叶翼型的气动外形发生改变,导致风机输出功率降低,风速一定的情况下,输出功率和风速的比值降低,如图3所示。根据实际数据生成新的特征,能够较好地表示叶片结冰状态。新特征为功率/风速,记作power_wind_speed,公式如式(3)所示:

图3 风速与功率散点图

式中:power——功率;wind_speed——风速。

如图3标识部分所示,已有的数据中观察到风机接近或者达到额定功率后无结冰状态,通过强规则过滤掉此部分数据。当叶片处于非结冰情况下,风机的功率会遵循风机正常运行情况下的风机输出功率模型,当风机叶片发生结冰情况时,风机功率降低,偏离正常功率曲线,无法达到额定功率[20]。本文通过最小二乘法对风叶正常样本进行拟合,得到风机正常功率曲线,最后通过该基线模型预测在给定风速的情况下风机的功率。数据集中所有的样本得到对应风速下的预测功率与真实功率的偏离程度。新特征为预测功率与真实功率差值,记作powers,公式如(4)所示:

式中:Ppre——通过基线模型预测的功率,Ptrue——风机输出的实际功率。图4显示了风机实际功率与基线模型预测功率数值的偏离程度,显然结冰数据与基线模型有更大的偏差值。

图4 功率基线模型

2.2 数据可视化分析

风力发电机叶片为三叶片形式,风机一般安装完成后会根据严格的重量和力矩配平校准,使得叶片保持相对平衡的角度。由于结冰属于不确定因素,每个叶片结冰程度不同,可能会造成叶片重量和力矩的不平衡。然而,如图5所示。可视化所有未经过预处理的原始SCADA 数据,包括所有结冰数据和未结冰数据。风机3个叶片的桨距角和变桨速率数据分布相对一致,难以从中分辨结冰和不结冰的状态,冗余特征容易造成训练模型过拟合和增加模型训练复杂度,因此将其均值作为新的特征。新特征为叶片平均桨距角和叶片平均变桨速率,分别记作mean_pitch_angle和mean_pitch_speed。

图5 叶片桨距角和变桨速率数据分布

3 基于XGBoost的特征选择

SCADA 数据中大量冗余特征影响模型构建性能,特征选择的主要目的是实现精准降维,从而有效提高风机叶片结冰故障诊断性能。XGBoost[21]是在梯度提升决策树(Gradient boosting decision tree,GBDT)上进行的优化,具有鲁棒性强的优势,充分考虑到了不同特征之间的关联度,以及小方差的结冰敏感特征,所选特征更加适合深度神经网络模型。为了提取最佳特征,本研究基于XGBoost 算法进行特征选择。

XGBoost 是一个迭代残差树的集合,通过拟合新树与前一颗树的残差,将目标函数最小化并且生成新的预测值,最终将每棵树预测值相加得到最准确的预测值[22]。公式(5)为训练过程的目标函数:

式中:yj——真实值;Yj——预测值;L(yj,Yj)——yj和Yj之间的平方差损失函数;Ω(fj)——正则项,(其中γ表示收缩系数,用于控制树的生成;T为叶子的数量;λ为L2范式的系数;ω为叶子权重)。

另外,XGBoost 同时对损失函数进行了2 阶导数的计算,将原优化问题转化为凸优化问题,提高了预测分类精确度和收敛速度,最终的目标函数为:

式中:gj——损失函数L(∙)的1 阶导数,hj——损失函数L(∙)的2阶导数。

基于XGBoost 算法做特征选择时,算法在构造增强树设计过程中,通过获得特征得分来表明每个特征对训练模型的重要性[23]。当一个特征被更多的用于增强树的关键决策,其得分就越高,据此得分来得到特征重要性排序。将经过预处理和特征补充的数据通过XGBoost 算法建模,得到数据的特征重要度,重要度为特征划分树结点的次数,每次划分时通过贪心法选择信息增益最大的特征作为分裂点,信息增益的计算公式如(7)所示:

基于XGBoost 特征选择的结果在第5.3 节进行详细的介绍和分析。

4 基于1DRes-CNN 的风叶结冰故障诊断

4.1 1DRes-CNN模型构建

深度神经网络可以从原始数据中自动提取深层次特征,消除人工特征选择的不足。本文采用一维卷积层来捕获数据信息流的局部序列特征,卷积层[24]通过卷积核在输入数据进行滑动以提取其局部特征,将特征数据作为卷积层的输入。因此,卷积层的操作如式(8)所示:

式中:f(∙)——激活函数;bli——偏置项;wli——权重矩阵;xl-1——第l-1 层的输出;xli——第l层的第i个特征。

同时一维残差神经网络(1DRes-CNN)加入残差块[25],每个残差块由两层卷积层以特定的方式构成。

残差块的结构如图6所示。

图6 残差块结构

xl表示残差块的输入,xl+1表示残差块的输出。残差神经网络将输入xl直接传到输出来拟合残差映射函数,只学习输入和输出之间的残差F1(xl),简化了学习的目标。从而可以更好地发挥深层次的CNN强大的学习能力,在加深网络层数以提高网络效率的同时避免了网络性能的衰减。

本文提出的1DRes-CNN,其结构如图7所示。模型输入为经过风机叶片结冰物理机制分析和XGBoost算法选取的特征,输出为1或0,其中,1表示叶片结冰,0表示叶片正常。在该模型中,卷积核的大小设置为3*1,卷积核的数目为16。Dropout 层的作用是按照一定比例随机丢弃一部分神经元和连接,该比例设置为0.25。由于叶片结冰诊断属于二分类问题,故损失函数选择交叉熵损失函数。

图7 一维残差神经网络

4.2 风机叶片结冰诊断流程

本文提出的风机叶片结冰诊断流程如图8所示。将采集到的SCADA 数据分为训练数据和测试数据。在训练阶段,首先进行数据预处理,包括数据标记、数据分割、数据平衡问题、数据归一化;然后基于风机叶片结冰物理机制和SCADA 数据可视化进行特征分析建立丰富的特征,并基于XGBoost 算法进行特征选取,挖掘出更好表征叶片结冰故障的特征数据;最后输入1DRes-CNN 模型进行训练,对模型参数调优。在测试阶段,对测试集进行归一化预处理,并选取特征,利用构建好的1DRes-CNN 模型进行风机叶片结冰诊断,并对模型的性能做出评估。

图8 风叶结冰诊断流程

5 实验结果与分析

5.1 实验环境与准备工作

本文实验使用的深度学习框架为Pytorch,编程语言为Python,CPU 为i7-9750H,操作系统为Windows。本文所采用的一维残差神经网络结构如图7所示。损失函数为交叉熵函数,优化器为Adam,学习率设置为0.01,批次大小设置为500,迭代次数为100次,激活函数为ReLU。

本文通过留出法(hold-out)对WT A 数据进行划分,其中:70%为训练集,30%为验证集。此外,由于不同的风电机组位于不同的地理位置,因此风机SCADA数据分布之间存在很大的偏差,将WT A和WTB 风机数据相互作为训练集和验证集进行实验分析。将预处理和特征分析后的SCADA 数据经过XGBoost 进行特征选择,将最终选取的数据作为模型的输入。通过训练集对模型进行训练,然后通过验证集进行性能测评,以检验该模型的综合性能。

5.2 测评指标

混淆矩阵通常用来评估分类模型的性能,表2为混淆矩阵的表现形式。

表2 混淆矩阵

基于混淆矩阵通过精确度(Precision)、准确度(Accuracy)、召回率(Recall)、F1值等来进一步评估分类模型,如式(9)所示:

式中:Precision——实际结冰占预测为结冰情况之比;Recall——预测为结冰与实际结冰情况之比;T1——对Precision和Recall进行整体评价;Accuracy——正确分类的情况与错误分类的情况之比。

5.3 XGBoost特征选择功能验证与分析

将经过数据分析生成的特征与原始特征作为XGBoost 算法的输入,以获得不同特征重要度。XGBoost 算法的特征重要度排名如图9所示。结果表明风叶结冰对补充特征预测功率与真实功率差值最敏感,补充特征功率/风速和环境机舱温度差也是风叶结冰的重要特征,与基于风机叶片结冰物理机制分析的结果一致。外界的低温环境是导致叶片结冰的最直接因素。同时,风机叶片结冰后可能会造成风机的气动力学特性发生改变,从而造成风机转速的变化,所以风机转速与风叶结冰一定程度会有直接的对应关系。

图9 基于XGBoost特征重要性排序

通过在验证集上进行测试,将特征重要度从高往低依次排序后,随后递增用于建模的特征维度,同时比较分类准确度,准确度最高的维度作为XGBoost选择的最佳特征维度。比较1DRes-CNN模型诊断的准确率,结果如图10 所示。实验结果表明,随着XGBoost 中排名靠后的特征逐步剔除,分类的准确性逐步提高,这主要是因为消除了冗余特征,

图10 特征数量与模型准确度关系

当选择通过XGBoost 选取特征的前9 维特征时,模型准确率高达96.11%,当继续剔除特征时,模型准确度有了明显下降,表明剔除了有用特征。最终选取的9维特征如表3所示。实验结果表明,本文应用的特征选择的方法可以准确识别冗余特征。

表3 SCADA数据

为了验证基于风机叶片结冰物理机制的特征分析和XGBoost 相结合的特征选择方法在1DRes-CNN模型上的性能,分别使用原始特征以及方差选择法[26]、互信息法[27]、卡方检验法[28]3 种经典特征选择方法做对比。为了公平起见,将仅经过预处理阶段的26 维原始特征和各特征选择方法所得到的最优特征维度的训练集分别置入1DRes-CNN 模型进行训练,然后使用测试集对训练好的模型性能进行评估,对比验证本文提出方法的有效性。

模型对验证集的预测结果如表4所示。结果表明,相较于其它3 种特征选择方法,XGBoost 算法有较明显的优势,基于XGBoost 算法选择的9 维特征用作诊断模型的输入时,模型的诊断准确率达到96.11%,召回率高达92.87%,说明选择9维特征时,模型对风叶结冰情况具有更高的识别率。其它特征选择方法选取的最优特征维度均高于XGBoost,说明保留了较多的冗余特征,但识别精度却没有提高,而经过数据分析和XGBoost选取特征对叶片结冰具有更高的敏感性,1DRes-CNN模型可以更好地利用这些特征作出风叶结冰故障诊断。

表4 特征选择方法性能对比

5.4 不同模型诊断性能对比

为了评估所提模型的诊断性能,本文分别采用3个机器学习模型对比分析,对比模型分别为:卷积神经网络(Convolutional neural networks,CNN)、支持向量机(Support vector machine,SVM)和随机森林(Random forest,RF)。为了公平起见,已对SVM 和RF 模型参数进行了优化,包括SVM 的惩罚系数、RBF 参数以及RF 中树的最大深度和树的数量。为防止深层卷积神经网络发生过拟合,经过实验选择,将CNN隐藏层设置为3层,其中包括一层卷积层、两层全连接层。

将最终经过XGBoost算法选取的9维特征作为4 个模型的输入。表5显示了在不同训练模型上的结果。其中,1DRes-CNN模型对风叶结冰诊断效果最为突出,准确度和F1 值均达到了95%以上,说明模型对风叶结冰或风叶正常情况具有较好的识别率。虽然RF 精确度达到98%以上,召回率却仅仅达到82.27%,说明模型对叶片结冰的识别率较低,显然该模型不利于风叶结冰诊断任务。SVM 性能与CNN相似,然而SVM算法需要较长的计算时间,而风机的SCADA 数据量庞大,因此不适合选择SVM作为诊断模型。较浅层的CNN相较于1DRes-CNN 模型,综合性能均低于后者,说明CNN 不能很好地提取深层特征,进而也就不能很好地区分风叶结冰与正常情况。

表5 4种算法分类结果/(%)

通过对4 个模型的综合性能分析对比,得知本文提出的基于XGBoost 特征选择的1DRes-CNN 模型具有更好的整体诊断准确率。

5.5 1DRes-CNN模型泛化能力评估

由于不同的风电机组位于不同的地理位置,因此风机SCADA 数据分布之间存在很大的偏差。为了进一步验证所提模型的泛化能力,分别将WT A和WT B相互作为训练集和验证集用于模型性能的评估。因验证数据集具有严重的数据不均衡现象,故选取叶片结冰和叶片正常的正确识别率作为性能指标可以更直观地表示模型的泛化能力。实验结果如表6所示。

表6 叶片结冰与叶片正常识别率/(%)

基于1DRes-CNN 风叶结冰检测模型在新的测试集上有较好的表现,叶片结冰的识别率可达到平均84%的水平。在实际生产生活中,由于不同的风电机受不同的地理位置和风机型号参数的影响,因此风机在运行参数和环境参数等方面存在很大的差异,造成了数据分布之间的偏差,在一定程度上影响了模型的诊断能力。以上验证结果表明了1DRes-CNN模型具有良好的泛化能力。

6 结语

本文提出了一种基于XGBoost 特征选择和1DRes-CNN的风叶结冰诊断方法,通过实验对比分析得出的结论如下:

(1)针对风机SCADA数据特征冗余问题,通过对风机结冰物理机制和SCADA 数据可视化的分析,并基于XGBoost特征选择方法选取最优特征,相较于原始特征,1DRes-CNN具有更高的风叶结冰诊断准确率。

(2)利用一维卷积层自适应地提取特征并做出叶片结冰诊断,加入残差块加深网络层次的同时解决网络优化的过程中存在的梯度消失和梯度爆炸问题,与其它3个机器学习算法相比,该模型具有更高的综合性能。

(3)模型具有较好的泛化能力,在不同风机的风叶结冰诊断任务中,模型的风叶结冰识别率超过80%。

本文基于风机SCADA 数据对风机叶片结冰做出诊断,但未将业内优秀风机专家的经验融入诊断模型当中,未来可考虑借助已有经验,进一步增强模型的诊断性能和泛化能力。

猜你喜欢
特征选择结冰残差
通体结冰的球
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
正交基低冗余无监督特征选择法
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
冬天,玻璃窗上为什么会结冰花?
基于词向量的文本特征选择方法研究
鱼缸结冰
基于特征聚类集成技术的在线特征选择