基于支持向量数据描述和XGBoost的风电机组异常工况预警研究

马良玉 程善珍

(华北电力大学控制与计算机工程学院 保定 071003)

摘要 该文提出一种基于支持向量数据描述(SVDD)和XGBoost模型的风电机组异常工况预警方法。从机组监控与数据采集系统(SCADA)数据中选择与转速和发电功率密切相关的特征变量,利用SVDD算法对建模数据进行预处理,采用XGBoost建立风机正常性能预测模型。以所建预测模型为基础,构建时间滑动窗计算性能评价指标,并根据统计学的区间估计理论合理确定风机性能异常预警指标阈值。采用某风电场1.5MW风电机组SCADA系统记录的若干真实故障案例,开展异常工况预警仿真试验。结果表明:基于SVDD和XGBoost的风机异常工况预警方法,可以有效地清洗数据,及时识别风电机组异常状态,对于提高风电机组运行的安全性具有较好的工程实用意义。

关键词:风电机组 支持向量数据描述 XGBoost 性能预测模型 异常工况预警

0 引言

作为可再生的清洁能源,我国风力发电装机容量不断增加,成为继火电、水电后的第三大能源[1]。由于长期承受恶劣多变的运行环境,风电机组故障率较高,对电力系统的安全稳定运行造成很大影响,带来巨大的经济损失和安全隐患[2]。充分利用机组监控与数据采集系统(Supervisory Control And Data Acquisition, SCADA)提供的大量运行数据,在故障早期监测到风机状态异常,则可为现场运维人员争取更多的应急处理时间,有助于提高机组安全经济性、降低运维成本[3]

目前,许多学者开展了基于SCADA数据的风电机组故障预警与诊断研究,基本思路有两种:一种是从SCADA历史数据中挖掘出已经发生的故障信息,据此建立故障辨识模型;另一种是从SCADA历史数据中提取正常工况运行数据,建立风机是否异常的判定模型。前者侧重于故障类型识别,需要大量故障信息,条件较难满足;后者则侧重于故障早期的异常状态预警,与前者相比对运维人员更有指导意义。

文献[4-5]采用支持向量回归(Support Vector Regression, SVR)和浅层神经网络进行正常工况性能预测,并根据预测值与实际值之间的残差与故障预警阈值的关系,提前进行异常预警。但受限于模型信息容量较小、泛化能力不足等原因,异常工况识别精度需要进一步提高。由于深度神经网络对于SCADA系统大数据具有更强的学习能力,因此在性能预测与故障预警领域日益受到重视。其中机器学习领域的XGBoost(eXtreme gredient boosting)算法[6]因具有损失函数精确、模型准确度高、泛化能力强等优势,常应用于风机故障诊断[7-9]。文献[10]通过与朴素贝叶斯、随机森林和支持向量机等算法比较,表明XGBoost算法运行速度较快,准确度更高,能精准识别风机故障类别。文献[11]使用XGBoost算法可以有效地诊断风机齿轮箱故障。

SCADA系统记录的运行数据中既包含风机的正常运行数据也包含异常和故障发生时的数据及部分停机数据,建立正常工况风机性能预测模型时,需要将故障和停机数据加以剔除。此外,由于风速、风向、偏航角等测量信号具有时变性、随机性和不确定性,数据中不可避免地包含噪声和异常值、以及由于通信问题导致的空值和坏数据,为确保预测模型的精度,这些异常值需要加以清洗。因此SCADA数据预处理是风机性能预测与状态预警中重要的基础性工作,已有很多文献对此进行研究,提出了诸多数据清洗方法[12-15]。这些方法有的比较繁琐,有的对数据集特征有一定要求,各有优缺点。

本文针对风电机组异常工况早期预警开展研究,以某1.5MW风电机组为例,提出利用支持向量数据描述(Support Vector Data Description, SVDD)算法对SCADA数据进行预处理,再采用XGBoost建立正常性能预测模型,进而采用时间滑动窗口模型计算性能评价指标,合理确定预警阈值,最终实现风电机组运行状态预警。

1 SVDD算法原理

在风机数据预处理中,正常数据和异常数据数量极度不均衡。风机数据预处理实际上是一个单分类问题,只需判断数据是否是正常数据,若是则保留,否则删除。

SVDD实际上是一种单值分类算法,能区分目标样本和非目标样本。首先,通过非线性映射将正常样本映射到高维内积空间,并在特征空间中寻找一个包含全部或大部分样本且体积最小的超球体;然后,比较测试点与最小超球体中心之间的距离,若距离小于最小超球体半径R时,为目标样本点;超过R时,表示为非目标样本点[16],其算法原理如图1所示。

width=153,height=165

图1 SVDD算法原理

Fig.1 Principle of SVDD algorithm

根据SVDD的基本思想,求解最优分类超球面,可转化为以下优化问题

width=129.9,height=62.85 (1)

式中,a为球心;R为超球体半径;width=10.4,height=15为松弛变量;防止模型被个别极端数据给“破坏”,C为惩罚参数;width=10.8,height=15为测试点。

由拉格朗日乘子法

width=167.75,height=58.7(2)

式中,拉格朗日乘数width=29.95,height=15width=28.7,height=15。对拉格朗日函数width=43.7,height=15关于Rawidth=10.4,height=15求偏导,并令偏导数为0,可得

width=118.25,height=89.9 (3)

化简整理后可以得到

width=139.4,height=87 (4)

将式(1)代入式(2)得

width=144,height=29.95 (5)

判断一个新的数据点z是否属于这一类,即观察这个数据点是否在训练出的超球面内,即是否满足width=100.3,height=18.3,若满足,则属于该类。将超平面的中心用支持向量来表示,判断条件可转化为

width=190.55,height=29.95(6)

通常核函数使用径向基(Radial Basis Function, RBF)函数,用K表示,则决策函数表示为

width=233,height=46.6 (7)

对于每一个决策,函数f(x)实际上执行的是二分类功能,若返回值为+1认为是正常数据,若为 -1,认为是异常数据。

2 XGBoost算法原理

XGBoost算法是陈天奇博士在2016年提出的基于集成学习高效并行的机器学习算法[6],其基本思想是对目标函数做二阶泰勒展开,利用函数的二阶导数信息来训练树模型,并把树模型复杂度作为正则项加到优化目标中,使学习到的模型泛化能力更高。

在一个含有n个样本、m个SCADA变量的数据集width=57,height=15上训练模型,其中width=33.3,height=16.25,width=29.95,height=15width=16.25,height=13.3为只含m个特征变量数目的数据集,假设模型有K个决策树,XGBoost树模型可以表示为

width=92,height=28.7 (8)

式中,width=10.4,height=15为预测值;width=10.8,height=15为输入的第i个样本;width=11.65,height=15为函数空间G的一个函数;G为分类回归树构成的函数空间,G表示为

width=205.6,height=17.9

T为一个决策树的叶子节点的数目;q为每棵树的结构,将样本实例映射到对应的叶子节点索引。每个函数width=11.65,height=15对应一棵独立的树结构q和叶子权重w。对于每一个实例,使用树结构q的分类规则将实例分类为树的不同叶子节点,并根据叶子权重将每个叶子节点分数累加作为最终的预测结果。为了更好地学习模型,需最小化目标函数,XGBoost的目标函数为

width=109,height=28.7(9)

目标函数包括两部分:第一部分是损失函数l,用于表示真实值和预测值之间的残差;第二部分是正则项W,用来防止模型输出结果的过拟合,其表达式为

width=94.9,height=29.95 (10)

式中,g为叶子节点数的正则化参数,主要是用来抑制节点的继续分裂;l为叶子节点权重的正则化参数,防止叶子节点权重过大;wj为每棵树叶子节点的分值。

由于XGBoost算法不能一次性添加全部的树,其内部使用梯度提升策略构建分类回归树,每次仅添加一棵树,不断降低模型残差,得到新的树模型。设第i个实例在第t次迭代的预测值为width=18.3,height=16.25,则XGBoost模型推导过程如下。

width=146.45,height=103.2 (11)

通过在迭代中添加新函数width=10.8,height=15使目标函数最小化,第t次迭代计算中的目标函数可以表示为

width=180.2,height=58.7 width=22.9,height=12.9

width=26.65,height=15处对目标函数的损失函数进行二阶泰勒展开,并删除常数项得

width=164.85,height=28.7 (13)

式中,gihi分别为预测误差对当前模型的一阶导数、二阶导数,其表达式为

width=153.6,height=39.1

width=74.5,height=16.25是第j个叶子节点样本集中的样本,则

width=197.2,height=61.2width=24.15,height=12.9

其中

width=100.7,height=25.4

求上述关于叶子节点分值wj的目标函数的最小值,可令目标函数式的导数为0,得到叶子节点预测分值为

width=61.2,height=31.65(15)

将式(15)代入目标函数,可得目标函数最小值为

width=79.1,height=32.9(16)

3 风机机组特性预测模型

3.1 模型变量选择

通常根据风速大小将风电机组运行状态分为四个区:起动区、最大风能捕获区、恒功率运行区、停机区,如图2所示。

width=174.75,height=126.75

图2 风速与功率的关系

Fig.2 The relationship between wind speed and power

当风速低于切入风速时,风电机组待启动,不发电没有输出功率;当风速介于切入风速与额定风速之间时,通过控制叶片的桨距角,使发电机组捕获最大风能;当风速介于额定风速与切出风速之间时,通过改变叶片的桨距角使风轮上的气动转矩基本保持不变,风电机组处于恒功率区;当风速超过切出风速时,风电机组制动停机。风电机组运行中功率与转速主要受风速、风向和机组控制系统调节过程的影响。由于风向变化频繁,正常运行时偏航系统会维持机舱中轴线与风向夹角小于规定的允许偏差。发电机转矩与功率和转速密切相关,在功率、风向一定的前提下,转速与转矩成反比关系,转矩越小,转速越大。

根据上述分析,最终选择模型的输入、输出变量见表1。

表1 模型变量选择

Tab.1 Model variables selection

输入参数输出参数 风速/(m×s-1)— 风向/(有功功率/kW 发电机转矩/(kN×m)发电机转速/(r/min) 机舱中轴线与风向夹角/— 1号、2号、3号桨距角/—

3.2 SCADA数据预处理

以某风电场1.5MW风电机组四个月的SCADA系统数据进行建模(采样周期为1min),原始数据为177 120组。删除空值后的数据为170 715组,根据其绘制风速-功率曲线和风速-转速曲线,如图3所示。

width=221.25,height=90.75

图3 原始数据风速与转速和功率关系曲线

Fig.3 Relationship graphs between wind speed and rotating speed or power with original data

将初步处理后的数据再删除风机起动状态(风速≤3)和停动状态(功率≤0)的数据后保留正常运行数据 90 384 组。本文旨在建立风机正常运行工况性能的预测模型,据此对异常工况进行预警,为此需要对上述数据进一步过滤,以去掉其中不符合机组正常出力特性的异常运行点,如各风速下发电机转速、功率明显偏离标准值很多的散点及限负荷工况点[17]

本文采用SVDD方法对数据进行清洗,SVDD常用的参数有:异常点比例nu(过大会使滤波后数据过少,过小会导致滤波不干净);核函数(一般用RBF函数)kernel,通过nu与kernel探测超球体边界。gamma是选择RBF函数作为kernel后,该函数自带的一个参数,隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,支持向量的个数影响训练与预测的速度。

经调试,最终设置异常点比例nu为0.015,核函数kernel为RBF函数,gamma为0.01,得到用于模型训练的正常工况数据89 030组。根据清洗后的数据风速-发电机转速和风速-有功功率关系如图4所示。

width=221.25,height=90.75

图4 数据清洗后风速与转速和功率关系曲线

Fig.4 Relationship graphs between wind speed and rotating speed or power after data cleaning

3.3 XGBoost风机性能预测模型建立

由于清洗后的数据量仍较大,本文选取第30 000~80 000组数据建立模型,选取第16 000~ 26 000组测试数据对模型进行验证。

调用XGBoost函数包中的XGBRegressor方法构建回归器,并对模型参数进行优化。XGBoost中常用的参数有:生成的最大树的数目即最大迭代次数(n_estimators)、学习率(learning_rate)、树的最大深度max_depth(可用来防止模型过拟合)。

本文采用网格搜索法对模型主要参数进行寻优(其他参数采用缺省值),最终确立的模型最大树的数目n_estimators=100,树的最大深度max_depth=6。XGBoost功率和转速模型的评价指标见表2。

表2 XGBoost功率和转速模型评价指标

Tab.2 Evaluation indices for the XGBoost models

指标功率转速 拟合优度0.998 50.995 0 均方误差0.003 00.003 0 平均绝对误差0.033 80.038 7 平均相对误差绝对值0.103 90.108 8

由表2可以看出,XGBoost回归模型的拟合优度都接近1,拟合性好;方均误差、平均绝对误差和平均相对误差绝对值都较小,表明模型针对训练集的拟合精确度高。

采用测试集对模型预测性能进行验证,机组输出功率及发电机转速的预测结果与真实值比较如图5和图6所示。可见功率、转速的预测值都可以很好地跟踪实际值,验证集功率的最大误差不超过250kW,转速的最大误差不超过130r/min,精度较高。

width=210,height=162

width=210.75,height=162

图5 验证集功率预测结果

Fig.5 Power prediction results with validating data set

width=212.25,height=330

图6 验证集转速预测结果

Fig.6 Rotating speed prediction results for validation data set

4 基于时间滑动窗的风机异常态预警方法

4.1 时间滑动窗模型

风机正常运行时模型输出的预测值与实际值的残差很小,当故障发生时机组状态异常残差会大幅增加,因此可利用残差值大小对风机进行状态判定。但由于风速的随机波动较大,控制系统随时处于动态调节过程,利用单点残差容易产生误报警。因此,本文利用时间滑动窗方法,通过计算时间滑动窗口内残差平均值作为评价指标,以避免残差随机波动带来的误报警。其原理如图7所示。

width=194.25,height=99

图7 时间滑动窗口模型

Fig.7 Time-sliding window model

width=13.75,height=15width=7.9,height=15时刻的输入数据,窗口宽度对应数据规模为h,移动增量对应更新频率为q,第k个窗口对应时间width=17.9,height=15width=10.4,height=15的SCADA 数据。处理完第k个窗口的数据后,窗口两端沿时间递增方向同时移动q,再对第k+1个窗口的数据进行处理。随窗口宽度h增大,窗内数据量增加,可有效避免模型单点误差带来的误报警,但数据量过大会导致预警滞后或可能的漏报警。相应地,增量q越大,更新频率越低,异常状态预警的实时性也会变差,因此需通过试验合理设置窗口宽度和增量值。

4.2 状态识别指标及预警阈值确定

采用时间窗内各点模型预测值与实际值的绝对平均偏差作为状态识别指标,表示风电机组相对于正常运行状态的偏离程度。其值越小,越接近正常运行状态;值越大,出现故障的可能性越大[18]。根据滑动窗口计算第k个窗口的状态识别指标为

width=88.25,height=31.65 (17)

式中,width=11.65,height=16.25t时刻的预测值;Ytt时刻的实际值。

由式(17)可知状态识别指标width=28.3,height=13.3。设a为一小概率值,根据统计学的区间估计理论[19],若有

width=97.45,height=15

则状态识别指标C的置信度为1-a的置信区间为width=29.95,height=15width=55.8,height=17.9的概率为a,那么置信上限width=15,height=15计算公式为

width=111.1,height=28.3 (18)

式中,width=13.3,height=16.65s分别为正常运行时状态识别指标C的均值和标准差;n为模型训练的正常运行状态样本数,width=58.25,height=17.9width=9.15,height=15为正常运行时间记录长度。小概率a设为0.000 5,根据小概率原理,风电机组正常运行时状态识别指标width=57,height=17.9几乎不可能出现[20]width=15,height=15即为识别风机异常状态的阈值,据此可将风机运行状态分为正常状态和异常状态。

5 异常状态预警实例及分析

阈值随着训练样本的选择不同而存在差异,阈值过小会使误报率增大,阈值过大会使漏报率增加。依据时间滑动窗算法,当滑动窗参数hq取值分别为5和1时,由式(18)和模型训练数据求得功率和转速预警阈值分别为12.85和17.02。

查询SCADA系统历史数据,2018年5~6月有表3所示故障发生记录。为此调用2018年同期故障前后的历史运行数据,对本文异常状态预警方法进行验证。预警时使用删除空值和风速小于3m/s的数据,再使用滑窗算法进行预警试验。

表3 SCADA系统真实历史故障记录表

Tab.3 SCADA system real historical faults table

故障描述故障开始时间故障结束时间 主控没有收到变桨EFC反馈信号重复出现(实例1)2018/5/12 20:072018/5/13 8:02 机舱柜中齿轮箱的油泵电机保护空开跳开(实例2)2018/6/16 11:552018/6/16 15:34 齿轮箱油入口压力低于下限值(实例3)2018/6/29 9:382018/6/29 11:29

5.1 异常状态预警实例一

系统自2018年5月12日17时06分连续出现功率转速异常预警,其预警曲线如图8所示,对应的真实历史故障状态记录见表3(实例1)。

width=222,height=195.75

图8 异常状态预警实例1

Fig. 8 Abnormal state early warning example 1

根据风机风速与功率状态指标,本文识别出异常状态时间在2018年5月12日17时06分,实际记录的故障时间是2018年5月12日20时07分,预警提前了约3h。

5.2 异常状态预警实例二

系统自2018年6月16日9时46分连续出现功率转速异常预警,其预警曲线如图9所示,对应的真实历史故障状态记录见表3(实例2)。

width=224.25,height=182.25

图9 异常状态预警实例2

Fig.9 Abnormal state early warning example 2

根据风机风速与功率状态指标,识别异常状态时间在2018年6月16日9时46分,实际运行记录故障时间2018年6月16日11时55分,提前了约2h。

5.3 异常状态预警实例三

系统自2018年6月29日9时09分连续出现了功率转速异常预警,其预警曲线如图10所示。根据风机风速与功率状态指标,识别异常状态时间在2018年6月29日9时09分,对照表3真实历史故障记录(实例3)实际记录的故障时间是2018年6月29日9时38分,预警提前了约0.5h。

width=224.25,height=182.25

图10 异常状态预警实例3

Fig.10 Abnormal state early warning example 3

上述预警实例表明,本文提出的基于SVDD和XGBoost的风机故障预警方法可以有效地识别风电机组运行异常状态,提前进行预警。从表3所记录故障类型可见,故障2、3本身与风机转速、功率并无直接相关,但利用预警模型也可正确给出预警。这是由于故障发生前,当某些运行参数超限或异常时,系统保护逻辑会自动限制机组负荷或做出响应保护性调整,从而导致实际负荷偏离模型预测的当前风况应有的正常运行值。但这种异常不一定能被运行人员立刻发现。故障预警系统据此及时发出预警,可及时提醒运行人员提前采取措施排除故障,防止事故扩大,有利于机组长期安全经济运行。

6 结论

本文建立了一种基于SVDD和XGBoost的风电机组异常工况预警方法。论文主要工作有:

1)利用SVDD算法对某风电场1.5MW机组SCADA数据进行预处理,剔除异常数据,以得到正常工况的建模数据,实例表明该方法具有较好的数据清洗效果。

2)采用XGBoost建立风机正常工况性能预测模型,并利用网格搜索算法对模型参数进行寻优。

3)以预测模型为基础,构建时间滑动窗口模型计算评价指标,利用统计学的区间估计理论合理确定风机出现异常的阈值,从而实现风机异常工况及故障早期预警。

以现场真实故障案例进行仿真试验研究,表明该方法可以对风电机组运行异常状态及时进行识别,实现故障早期预警,对于提高风电机组运行的安全性具有工程实用意义。

参考文献

[1] 王丽婕, 廖晓钟, 高阳, 等. 风电场发电功率的建模和预测研究综述[J]. 电力系统保护与控制, 2009, 37(13): 118-121.

Wang Lijie, Liao Xiaozhong, Gao Yang, et al. Summarization of modeling and prediction of wind power generation[J]. Power System Protection and Control, 2009, 37(13): 118-121.

[2] 杨茂, 熊昊, 严干贵, 等. 基于数据挖掘和模糊聚类的风电功率实时预测研究[J]. 电力系统保护与控制, 2013, 41(1): 1-6.

Yang Mao, Xiong Hao, Yan Gangui, et al. Real-time prediction of wind power based on data mining and fuzzy clustering[J]. Power System Protection and Control, 2013, 41(1): 1-6.

[3] 刘轩. 风力发电机故障预警方法研究[D]. 北京: 华北电力大学, 2017.

[4] 梁颖, 方瑞明. 基于SCADA和支持向量回归的风电机组状态在线评估方法[J]. 电力系统自动化, 2013, 37(14): 7-12, 31.

Liang Ying, Fang Ruiming. An online wind turbine condition assessment method based on SCADA and support vector regression[J]. Automation of Electric Power Systems, 2013, 37(14): 7-12, 31.

[5] Bangalore P, Tjernberg L B. An artificial neural network approach for early fault detection of gearbox bearings[J]. IEEE Transactions on Smart Grid, 2015, 6(2): 980-987.

[6] Chen Tianqi, Guestrin C. XGBoost: a scalable tree boosting system[C]//KDD'16: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016: 785-794.

[7] 王桂兰, 赵洪山, 米增强. XGBoost算法在风机主轴承故障预测中的应用[J]. 电力自动化设备, 2019, 39(1): 73-77, 83.

Wang Guilan, Zhao Hongshan, Mi Zengqiang. Application of XGBoost algorithm in prediction of wind motor main bearing fault[J]. Electric Power Automation Equipment, 2019, 39(1): 73-77, 83.

[8] Chatterjee J, Dethlefs N. Deep learning with knowledge transfer for explainable anomaly prediction in wind turbines[J]. Wind Energy, 2020, 23: 1693-1710.

[9] Trizoglou P, Liu Xiaolei, Lin Zi. Fault detection by an ensemble framework of Extreme Gradient Boosting (XGBoost) in the operation of offshore wind turbines[J]. Renewable Energy, 2021, 179: 945-962.

[10] 赵洪山, 闫西慧, 王桂兰, 等. 应用深度自编码网络和XGBoost的风电机组发电机故障诊断[J]. 电力系统自动化, 2019, 43(1): 81-86.

Zhao Hongshan, Yan Xihui, Wang Guilan, et al. Fault diagnosis of wind turbine generator based on deep autoencoder network and XGBoost[J]. Automation of Electric Power Systems, 2019, 43(1): 81-86.

[11] Udo W, Muhammad Y. Data-driven predictive maintenance of wind turbine based on SCADA data[J]. IEEE Access, 9: 162370-162388.

[12] 马然, 栗文义, 齐咏生. 风电机组健康状态预测中异常数据在线清洗[J]. 电工技术学报, 2021, 36(10): 2127-2139.

Ma Ran, Li Wenyi, Qi Yongsheng. Online cleaning of abnormal data for the prediction of wind turbine health condition[J]. Transactions of China Electrotechnical Society, 2021, 36(10): 2127-2139.

[13] 李航涛, 郭鹏, 杨锡运. 基于离散度分析的风电机组功率曲线绘制方法研究[J]. 太阳能学报, 2019, 40(1): 237-241.

Li Hangtao, Guo Peng, Yang Xiyun. Research on wind turbine power curve drawing method based on discrete degree analysis[J]. Acta Energiae Solaris Sinica, 2019, 40(1): 237-241.

[14] Zheng Le, Hu Wei, Min Yong. Raw wind data preprocessing: a data-mining approach[J]. IEEE Transactions on Sustainable Energy, 2015, 6(1): 11-19.

[15] 沈小军, 付雪姣, 周冲成, 等. 风电机组风速-功率异常运行数据特征及清洗方法[J]. 电工技术学报, 2018, 33(14): 3353-3361.

Shen Xiaojun, Fu Xuejiao, Zhou Chongcheng, et al. Characteristics of outliers in wind speed-power operation data of wind turbines and its cleaning method[J]. Transactions of China Electrotechnical Society, 2018, 33(14): 3353-3361.

[16] 陈鹏, 赵小强. 基于GLNPE-SVDD的滚动轴承性能退化评估方法[J]. 华中科技大学学报(自然科学版), 2021, 49(1): 12-16.

Chen Peng, Zhao Xiaoqiang. Performance degradation evaluation method of rolling bearing based on GLNPE-SVDD[J]. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2021, 49(1): 12-16.

[17] 乔福宇, 马良玉, 马永光. 基于功率曲线分析与神经网络的风电机组故障预警方法[J]. 中国测试, 2020, 46(8): 44-50.

Qiao Fuyu, Ma Liangyu, Ma Yongguang. Wind turbine fault early warning method based on power curve analysis and neural network[J]. China Measurement & Test, 2020, 46(8): 44-50.

[18] 万恒正. 基于SCADA数据关系的大型直驱式风电机组健康状态识别与预警[D]. 湘潭: 湖南科技大学, 2018.

[19] 刘家辰, 苗启广, 曹莹, 等. 基于混合多样性生成与修剪的集成单类分类算法[J]. 电子与信息学报, 2015, 37(2): 386-393.

Liu Jiachen, Miao Qiguang, Cao Ying, et al. Ensemble one-class classifiers based on hybrid diversity generation and pruning[J]. Journal of Electronics & Information Technology, 2015, 37(2): 386-393.

[20] 张帆, 刘德顺, 戴巨川, 等. 一种基于SCADA参数关系的风电机组运行状态识别方法[J]. 机械工程学报, 2019, 55(4): 1-9.

Zhang Fan, Liu Deshun, Dai Juchuan, et al. An operating condition recognition method of wind turbine based on SCADA parameter relations[J]. Journal of Mechanical Engineering, 2019, 55(4): 1-9.

Abnormal State Early Warning of Wind Turbine Generator Based on Support Vector Data Description and XGBoost

Ma Liangyu Cheng Shanzhen

(School of Control and Computer Engineering North China Electric Power University Baoding 071003 China)

Abstract An abnormal state early warning method for wind generating units is proposed based on support vector data description(SVDD) and XGBoost(eXtreme gradient boosting)model. The feature variables closely related to the generator speed and output power are selected. Then SVDD algorithm is employed to preprocess the SCADA historical data and the XGBoost-based normal performance prediction model is set up. The time-sliding window model is constructed to calculate the performance evaluation index on the basis of the developed model, and the threshold value of which is determined in accordance with the interval estimation theory of statistics. The abnormal state warning tests are carried out using several true historical fault cases recorded in the SCADA system of a 1.5MW wind power unit. It is shown that the abnormal state warning method based on SVDD and XGBoost can clean the original data effectively, and identify the wind turbine abnormal state timely. The proposed method has practical engineering significance for improving the operation safety of wind turbine generator system.

Keywords: Wind turbine generator, support vector data description, XGBoost, performance prediction model, abnormal state early warning

DOI: 10.19595/j.cnki.1000-6753.tces.210625

中图分类号:TP277

作者简介

马良玉 男,1972年生,教授,硕士生导师,研究方向为工业过程建模与仿真,智能技术在电站建模、控制与故障诊断中的应用。E-mail:maliangyu@ncepu.edu.cn(通信作者)

程善珍 女,1996年生,硕士,研究方向为智能技术在故障诊断中的应用。E-mail:chengshanzhen123@163.com

收稿日期 2021-05-04

改稿日期 2021-12-21

(编辑 郭丽军)