一种基于oc-rkelm的风电机组状态监测方法

文档序号:732048 发布日期:2021-04-20 浏览:4次 >En<

阅读说明:本技术 一种基于oc-rkelm的风电机组状态监测方法 (Wind turbine generator state monitoring method based on OC-RKELM ) 是由 金晓航 泮恒拓 于 2020-12-21 设计创作,主要内容包括:一种基于OC-RKELM的风电机组状态监测方法,包括如下步骤:步骤1:采集风电机组的运行数据、环境参数数据;步骤2:对采集到的风电机组数据进行清洗;建立风电机组正常运行数据的健康数据集;步骤3:基于风电机组的健康数据集,利用OC-RKELM模型建立针对健康数据集的数学描述;步骤4:基于历史正常数据的分析来确定健康阈值,以判断运行数据是否隶属于风电机组健康数据集;步骤5:对风电机组实时运行数据进行相应的处理,基于OC-RKELM模型判断其是否为正常运行数据,当满足预警条件时,对风电机组进行预警、停机检查。本发明人为干预少、实施简单,能有效地检测出风电机组发电机运行状态的异常,可以为风电场运维提供技术支持。(A wind turbine state monitoring method based on OC-RKELM comprises the following steps: step 1: collecting operating data and environmental parameter data of a wind turbine generator; step 2: cleaning the collected wind turbine generator data; establishing a health data set of normal operation data of the wind turbine generator; and step 3: based on the health data set of the wind turbine generator, establishing mathematical description aiming at the health data set by utilizing an OC-RKELM model; and 4, step 4: determining a health threshold value based on analysis of historical normal data to judge whether the operating data belongs to a health data set of the wind turbine generator; and 5: and correspondingly processing the real-time operation data of the wind turbine generator, judging whether the real-time operation data is normal operation data or not based on the OC-RKELM model, and performing early warning and shutdown inspection on the wind turbine generator when early warning conditions are met. The method has less human intervention and simple implementation, can effectively detect the abnormity of the running state of the generator of the wind turbine generator, and can provide technical support for the operation and maintenance of the wind power plant.)

一种基于OC-RKELM的风电机组状态监测方法

技术领域

本发明涉及风电技术领域,尤其涉及一种基于OC-RKELM的风电机组状态监测方法。

背景技术

为了应对环境污染和能源危机等问题,世界各国正在大力发展风电产业,风电机组累积装机容量不断增长。截止2019年底,全球风电机组装机容量已经达到了651GW,数十万台风电机组正在并网运行。风电机组的设计寿命通常为20年,在其服役的生命周期中,由于各种环境、载荷、材料等因素的不利影响,机组各个部件都不可避免地产生累积损伤、抗力衰减和功能退化,甚至会导致严重故障的发生。状态监测技术可以在装备故障前提前发现异常,从而为优化运维策略、降低运维成本提供技术支持。因此,发展风电机组的状态监测技术是提高风电场可靠性和经济性的关键之一。

现有的数据采集与监视控制(SCADA)系统状态监测技术仅通过对一维特征参数设定阈值来实现,只能发现极端的异常数据;现有的风电数据可视化分析技术需要有专业分析人员对风电机组的功率曲线等图表进行分析或由经验丰富的人员对风电场进行监控,人力成本较高且实时性较差;现有的基于神经网络建模的状态监测技术,其参数具有较强的随机性,模型的泛化性和稳定性难以保证。

发明内容

为了克服已有技术的不足,本发明提供了一种一种基于单分类简化核极限学习机(One-Class Reduced Kernel Extreme Learning Machine,OC-RKELM)的风电机组状态监测方法,该方法人为干预少、实施简单,能有效地检测出风电机组发电机运行状态的异常,可以为风电场运维提供技术支持。

本发明解决其技术问题所采用的技术方案是:

一种基于OC-RKELM的风电机组状态监测方法,包括如下步骤:

步骤1:采集风电机组的运行数据、环境参数数据,风电机组运行数据包括桨距角、发电机转速和有功功率,环境参数包括风速、风向和环境温度;

步骤2:对采集到的风电机组数据进行清洗,包括对缺失值、异常值进行处理;对待机、停机数据以及离群数据进行清除;建立风电机组正常运行数据的健康数据集;

步骤3:基于风电机组的健康数据集,利用OC-RKELM模型建立针对健康数据集的数学描述,其中,OC-RKELM模型输出的一维指标即表征了输入的实时运行数据与风电机组健康数据集中数据的相似程度;

步骤4:基于历史正常数据的分析来确定健康阈值,以判断运行数据是否隶属于风电机组健康数据集;

步骤5:对风电机组实时运行数据进行相应的处理,基于OC-RKELM模型判断其是否为正常运行数据,当满足预警条件时,对风电机组进行预警、停机检查。

进一步,所述步骤2的过程为:

步骤21:清除采集的数据中存在缺失的数据;清除超出参数给定范围的数据;

步骤22:为获取到纯净的风电机组正常运行数据,首先清除掉机组待机以及停机状态下的数据;其次,通过局部异常因子离群点检测算法,将严重偏离健康数据集群的离群数据去除;

步骤23:为消除量纲影响,对数据清理后的数据进行相应的归一化。

所述步骤2中,为消除量纲影响,对风电机组数据进行相应的归一化。归一化是对原始数据的线性变换,使变换的结果落到[0,1]区间,转换函数如下:

对离群数据的清洗采用局部异常因子算法,其中有如下一些定义:

k-距离:对于数据集D中某一对象p,定义p的k-距离为p和对象o∈D之间的距离k-dist(p)=d(p,o),对象o满足以下两个条件:①至少有k个对象o’∈D\{p},满足d(p,o’)≤d(p,o);②最多有k-1个对象o’∈D\{p},满足d(p,o’)<d(p,o);

k-距离邻域:对象p的k-距离邻域Nk(p),定义为D中与p的距离不超过p的k-距离的所有对象:

Nk(p)={q∈D\{p}|d(p,q)≤k-dist(p)} (2)

可达距离:对象o到对象p可达距离reach-distk(p,o)定义为:

reach-distk(p,o)=max{k-dist(o),d(p,o)} (3)

即为对象p与对象o的k-距离中的较大值;

局部可达密度:对象p的局部可达密度lrdk(p)定义为:

表示对象p的k-距离邻域内的对象与对象p可达距离的比值;

局部异常因子:对象p的局部异常因子定义为:

表示p的k-距离邻域内的对象的局部可达密度与p的局部可达密度之比的平均数。局部异常因子可以描述对象p的离群程度,当局部异常因子小于或等于1时,说明p位于数据密集区域内;当局部异常因子大于1时,说明p可能远离数据密集区域,值越大p离群的程度越高。

再进一步,所述步骤3的过程为:支持向量选取:为选取到具有代表性的风电机组运行数据,采用系统抽样方法进行抽样,操作为:对功率、时间等参数进行分段,并划分出相应的子样本集,从各个子样本集中抽取样本作为支持向量。

所述步骤3中,需要构建OC-RKELM状态监测模型。抽取一定数量的健康样本,X=[x1,x2,…,xN]T,目标输出向量为R=[1,1,…,1]T。输出的形式为:

式中,为模型输出参数,βj为输出权重,K(·)为核函数,是支持向量的集合,选取了径向基函数作为核映射函数,其形式如下:

K(x,xj)=exp(-||x-xj||2/σ) (7)

式中,σ是超参数,xj是支持向量;

OC-RKELM模型求解的单分类问题描述为:

式中,KN×L=K(X,XL)为简化的核矩阵,通过引入L2正则化来平衡训练误差和输出权重,公式(8)可重写为:

式中,ξ是训练误差,λ为正则化系数。引入拉格朗日函数对公式(9)进行求解:

式中,A为拉格朗日乘子向量。根据卡罗需-库恩-塔克(Karush-Kuhn-Tucker,KKT)条件,求得输出权重的解为:

式中,I为单位矩阵。

样本到正常类的距离可以定义为:

样本到正常类的距离越大,意味着样本越偏离正常类。

更进一步,所述步骤4的过程为:通过核密度估计方法确定健康阈值,包括:基于OC-RKELM模型计算正常运行数据对应的一维输出指标,用核密度估计方法估计其密度函数,按一定置信度确定健康阈值。

所述步骤4中,利用核密度估计方法确定健康阈值,决策函数定义为:

式中,Sign(·)为符号函数,thres为阈值。当d(x)小于或等于阈值时,认为监测数据属于正常数据;当大于阈值时,认为监测数据为异常数据。

所述步骤5的过程为:

步骤51:将实时运行数据输入已构建的OC-RKELM模型,当输出指标超出健康阈值时判定其为异常运行数据;

步骤52:对OC-RKELM模型的输出结果进行统计分析,设置适当的预警条件,当满足预警条件时,提示风电机组异常。

本发明中,OC-RKELM方法是在单分类极限学习机(One-Class Extreme LearningMachine,OC-ELM)基础上改进的单分类方法,通过结合核方法以及随机抽取支持向量,既提升了模型的泛化能力,又保持了比较低的计算时间复杂度。本发明在此基础上,结合风电机组数据的特点,采用系统抽样及分层抽样方法抽取了更具代表性的支持向量,进一步提升了模型的泛化能力。

本发明的有益效果主要表现在:本发明仅通过对风电机组健康数据集的分析,可以实现对机组健康状态的实时自动监测,引入核方法以有效提升状态监测模型的泛化性和稳定性,本发明所提方法人为干预少、实施简单,具有较高的实用价值。

附图说明

图1为本发明的流程图;

图2为停机数据、待机数据清洗示意图,其中(a)表示清洗前,(b)表示清洗后;

图3为离群数据清洗示意图,其中(a)表示清洗前,(b)表示清洗后;

图4为发电机故障可视化分析示意图,其中,(a)表示截至故障前8天数据降维后的分布图,(b)表示截至故障前7天数据降维后的分布图,(c)表示截至故障前6天数据降维后的分布图,(d)表示截至故障当天数据降维后的分布图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图4,一种基于OC-RKELM的风电机组状态监测方法,包括如下步骤:

步骤1:采集风电机组运行数据、环境参数数据,风电机组运行数据包括桨距角、发电机转速和有功功率等,环境参数包括风速、风向和环境温度等;

步骤2:对采集到的风电机组数据进行清洗,包括对缺失值、异常值进行处理;对待机、停机数据以及离群数据进行清除等,其主要目的是建立风电机组正常运行数据的健康数据集;

步骤3:基于风电机组的健康数据集,利用OC-RKELM模型建立针对健康数据集的数学描述,其中,OC-RKELM模型输出的一维指标即表征了输入的实时运行数据与风电机组健康数据集中数据的相似程度;

步骤4:基于历史正常数据的分析来确定健康阈值,以判断运行数据是否隶属于风电机组健康数据集;

步骤5:对风电机组实时运行数据进行相应的处理,基于OC-RKELM模型判断其是否为正常运行数据。当满足预警条件时,对风电机组进行预警、停机检查。

所述步骤2中,为消除量纲影响,对风电机组数据进行相应的归一化。归一化是对原始数据的线性变换,使变换的结果落到[0,1]区间,转换函数如下:

对离群数据的清洗采用局部异常因子算法,其中有如下一些定义:

k-距离:对于数据集D中某一对象p,定义p的k-距离为p和对象o∈D之间的距离k-dist(p)=d(p,o),对象o满足以下两个条件:①至少有k个对象o’∈D\{p},满足d(p,o’)≤d(p,o);②最多有k-1个对象o’∈D\{p},满足d(p,o’)<d(p,o);

k-距离邻域:对象p的k-距离邻域Nk(p),定义为D中与p的距离不超过p的k-距离的所有对象:

Nk(p)={q∈D\{p}|d(p,q)≤k-dist(p)} (2)

可达距离:对象o到对象p可达距离reach-distk(p,o)定义为:

reach-distk(p,o)=max{k-dist(o),d(p,o)} (3)

即为对象p与对象o的k-距离中的较大值;

局部可达密度:对象p的局部可达密度lrdk(p)定义为:

表示对象p的k-距离邻域内的对象与对象p可达距离的比值;

局部异常因子:对象p的局部异常因子定义为:

表示p的k-距离邻域内的对象的局部可达密度与p的局部可达密度之比的平均数。局部异常因子可以描述对象p的离群程度,当局部异常因子小于或等于1时,说明p位于数据密集区域内;当局部异常因子大于1时,说明p可能远离数据密集区域,值越大p离群的程度越高。

所述步骤3中,需要构建OC-RKELM状态监测模型。抽取一定数量的健康样本,X=[x1,x2,…,xN]T,目标输出向量为R=[1,1,…,1]T。输出的形式为:

式中,为模型输出参数,βj为输出权重,K(·)为核函数,是支持向量的集合。选取了径向基函数作为核映射函数,其形式如下:

K(x,xj)=exp(-||x-xj||2/σ) (7)

式中,σ是超参数,xj是支持向量。

OC-RKELM模型求解的单分类问题可描述为:

式中,KN×L=K(X,XL)为简化的核矩阵。通过引入L2正则化来平衡训练误差和输出权重,公式(8)可重写为:

式中,ξ是训练误差,λ为正则化系数。引入拉格朗日函数对公式(9)进行求解:

式中,A为拉格朗日乘子向量。根据卡罗需-库恩-塔克(Karush-Kuhn-Tucker,KKT)条件,求得输出权重的解为:

式中,I为单位矩阵。

样本到正常类的距离可以定义为:

样本到正常类的距离越大,意味着样本越偏离正常类。

所述步骤4中,利用核密度估计方法确定健康阈值,决策函数定义为:

式中,Sign(·)为符号函数,thres为阈值。当d(x)小于或等于阈值时,认为监测数据属于正常数据;当大于阈值时,认为监测数据为异常数据。

为进一步提升模型的泛化能力,结合风电机组数据的特点,采用系统抽样及分层抽样方法抽取了更具代表性的风电机组数据作为支持向量。依据系统抽样的思想,先将风电机组数据按时间顺序排列,并按照一定的间隔分段:确定分段的间隔k,对数据进行分段,当N/n(n是子数据集个数)是整数时,取k=N/n,得到n个子数据集;依据分层抽样的思想,对分段后的子数据集中的数据进行分层:将数据按一定的功率区间分成l个层级,并从中随机抽取样本。抽样后共获得L=n×l个样本,这些样本具有较好的代表性,被用作OC-RKELM模型中的支持向量。

本实施例以风电机组发电机的状态监测进行说明,利用SCADA数据对基于OC-RKELM的风电机组状态监测方法进行验证,过程如下:

步骤1:采集风电机组运行数据、环境参数等数据;提取其中与发电机健康状态密切相关的特征参数,如:风速、发电机转速、绕组温度等。

步骤2:对缺失值、异常值进行处理;如图2所示,对待机、停机数据进行清除;如图3所示,对离群数据进行清洗;建立风电机组发电机正常运行数据的健康数据集。

步骤3:基于风电机组发电机的健康数据集,利用OC-RKELM模型建立针对发电机健康数据集的数学描述。

步骤4:基于历史正常数据的分析来确定健康阈值,以判断运行数据是否隶属于风电机组健康数据集。

步骤5:对风电机组实时运行数据进行相应的处理,基于OC-RKELM模型判断其是否为正常运行数据。方法成功对实施例的故障进行了预警,并如图4所示,对异常数据进行可视化分析。

本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种风电机组高度测量方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!