基于深度表示的风电机组异常检测方法与流程

文档序号:31720839发布日期:2022-10-04 23:13阅读:163来源:国知局
基于深度表示的风电机组异常检测方法与流程

1.本发明属于风电机异常检测技术领域,具体涉及基于深度表示的风电机组异常检测方法。


背景技术:

2.风电机组监控与数据采集(scada)系统已经开发了许多智能故障诊断模型,以便有效、准确地处理大量scada数据。然而,在这些研究中有一个被忽视的问题,即scada数据分布不均衡,异常数据挖掘不足,正常数据的数量远大于异常数据的数量,异常状态信息很容易被正常状态信息淹没,这使得这些模型往往偏向于大多数类别,异常点的检测能力相当弱,导致故障诊断的准确性较差。


技术实现要素:

3.为解决现有技术中存在的技术问题,本发明的目的在于提供基于深度表示的风电机组异常检测方法。
4.为实现上述目的,达到上述技术效果,本发明采用的技术方案为:
5.基于深度表示的风电机组异常检测方法,主要用于风电机组的运行状态监测,首先利用设计的双锚钉损失函数对神经网络进行训练,提取出有效划分正常与异常区域的深度特征表示,最后,利用k近邻方法进行异常检测。
6.基于深度表示的风电机组异常检测方法,具体包括以下步骤:
7.步骤一、提取scada数据变量,包含:风速,风向角,有功功率,风电机转速,桨距角,桨距角直流电,机舱温度,变桨电机温度;
8.步骤二、对异常数据与正常数据进行标注,并对异常数据进行重采样;
9.步骤三、设计神经网络;
10.步骤四、设计新的双锚钉损失函数,利用设计的双锚钉损失函数对神经网络进行训练,提取出有效划分正常与异常区域的深度特征表示;
11.步骤五、利用k近邻方法进行风电机组异常检测。
12.步骤一中,提取scada数据变量的步骤包括:
13.利用互信息技术对scada数据多维变量进行特征选择,选取与发电机异常状态最相关变量作为之后用于异常检测的特征;
14.两个离散事件x、y的互信息(mi)定义为:
[0015][0016]
其中,p(x,y)表示x、y的联合概率分布,p1(x)表示x的独立概率分布,p2(y)表示y的独立概率分布;
[0017]
在风电系统中,设输入特征为xm,输出特征为y,对输入特征和输出特征作如下处理:
[0018]
第一步:把输入特征xm和输出特征y进行从小到大排序;
[0019]
第二步:把最大的三分之一归为2,最小的三分之一归为0,中间的三分之一归为1。这样处理后每个输入特征和输出特征只有3种可能取值,其独立概率分布和联合概率分布就很容易能找到;
[0020]
第三步:在第二步后每个特征可能取值的独立概率分布都是1/3,输入输出特征之间的联合概率分布如下:
[0021][0022][0023]
其中,i,j=0、1、2;l为样本总数;l为第l个样本;
[0024]
第四步:计算输入输出特征的互信息,处理后互信息mi的计算公式为:
[0025][0026]
这样就使得样本的计算维数大大降低,便能计算出输入输出之间的互信息。采用公式(4)对scada高维变量特征筛选,设置关联度阈值为0.05,低于阈值下的特征集将被去除。经互信息处理后,提取的特征包含:风速,风向角,有功功率,风电机转速,桨距角,桨距角直流电,机舱温度,变桨电机温度。
[0027]
步骤二中,对异常数据与正常数据进行标注,并对异常数据进行重采样的步骤包括:
[0028]
首先构造训练集,将选取的特征作为神经网络模型的输入,神经网络模型的输出需要进行标注,根据scada数据的报警与故障信息进行异常值的标注,其余为正常值,由于异常数据总量远远小于正常数据总量,因此,利用smote算法对异常信号进行线性插值,以此得到正常数据样本与异常样本的平衡;smote数据重采样方法如下:
[0029]
x
gen
=xi+rand(0,1)(x
i-x
ik
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0030]
其中,x
gen
为生成的样本,xi为原始数据点,x
ik
为xi的第k个近邻点,rand(0,1)∈[0,1]为随机数。
[0031]
步骤三中,设计神经网络的步骤包括:
[0032]
首先,构造训练方式,对神经网络依次输入下述类型数据:异常特征,正常特征,异常锚钉特征,正常锚钉特征,每一类型由步骤一、步骤二获取;每输入上述四类数据,通过构造的损失函数进行一次梯度下降,不断迭代,最终当损失达到最小阈值时停止迭代,神经网络模型训练完毕,为了获取不同类别的锚钉数据,对正常与异常类分别进行kmean聚类,将各自的聚类中心作为锚钉数据;
[0033]
之后,输入数据,利用卷积神经网络提取数据间的局部信息,最终通过全连接层进行输出,利用3*1卷积进行特征提取,训练时,利用双锚钉损失函数进行深度特征提取,训练过程中,模型的神经网络输出层进行z-score归一化,以此保持数据输出的有界性与稳定性。
[0034]
步骤四中,双锚钉损失函数如下:
[0035][0036]
其中,g
θ
(
·
)为特征映射函数,分别为第i个正样本与负样本,x
a-n
,x
a-p
分别为负样本锚钉与正样本锚钉,α为正负锚钉间的间隔阈值。
[0037]
步骤五中,训练好的模型作为scada原始变量的深度特征提取器,最终,利用knn算法对数据进行异常检测,即存储原有的深度特征,当有新的数据出现时,将该新数据通过深度特征提取器进行特征映射,将得到的映射特征输入knn中,以此判断风电机是否存在异常。
[0038]
与现有技术相比,本发明的有益效果为:
[0039]
利用神经网络并结合设计的双锚钉损失函数对scada数据进行深度特征表示,改善了数据的不平衡现象,有利于提高异常值的识别性能,有利于进行异常检测。
附图说明
[0040]
图1为本发明的scada卷积神经网络的基本拓扑结构图;
[0041]
图2为本发明的双锚钉损失函数原理示意图。
具体实施方式
[0042]
下面对本发明进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
[0043]
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
[0044]
如图1-2所示,基于深度表示的风电机组异常检测方法,主要用于风电机组的运行状态监测,首先利用设计的双锚钉损失函数对神经网络进行训练,提取出有效划分正常与异常区域的深度特征表示,最后,利用k近邻方法进行异常检测,具体包括以下步骤:
[0045]
步骤一、提取scada数据变量,包含:风速,风向角,有功功率,风电机转速,桨距角,桨距角直流电,机舱温度,变桨电机温度等。
[0046]
步骤一中,利用互信息技术对scada数据多维变量进行特征选择,选取与发电机异常状态最相关变量作为之后用于异常检测的特征。
[0047]
互信息(mi)是信息论里一种有用的信息度量,用于衡量两个事件集合之间的相关性。两个离散事件x、y的互信息(mi)定义为:
[0048][0049]
其中,p(x,y)表示x、y的联合概率分布,p1(x)表示x的独立概率分布,p2(y)表示y的独立概率分布。
[0050]
由公式(1)可以看出,计算两个变量间的互信息必须计算各自的独立概率分布和联合概率分布。在风电系统中,设输入特征为xm,输出特征为y。由于候选输入特征的维数特
别大,其维数接近于样本数,直接使用mi算法无法计算出输入输出特征之间的互信息,因此对输入输出特征作如下处理:
[0051]
第一步:把输入特征xm和输出特征y进行从小到大排序;
[0052]
第二步:把最大的三分之一归为2,最小的三分之一归为0,中间的三分之一归为1。这样处理后每个输入输出特征只有3种可能取值,其独立概率分布和联合概率分布就很容易能找到;
[0053]
第三步:在第二步后每个特征可能取值的独立概率分布都是1/3,输入输出特征之间的联合概率分布如下:
[0054][0055][0056]
其中,i,j=0、1、2;l为样本总数;l为第l个样本;
[0057]
第四步:计算输入输出特征的互信息。基于以上独立与联合概率分布,处理后互信息mi的计算公式可以写成下式:
[0058][0059]
这样就使得样本的计算维数大大降低,便能计算出输入输出之间的互信息。采用公式(4)对scada高维变量特征筛选,设置关联度阈值为0.05,低于阈值下的特征集将被去除。经互信息处理后,提取的特征包含:风速,风向角,有功功率,风电机转速,桨距角,桨距角直流电,机舱温度,变桨电机温度等。
[0060]
步骤二、对异常数据与正常数据进行标注,并对异常数据进行重采样。
[0061]
步骤二中,首先构造训练集,将选取的特征作为神经网络模型的输入,模型的输出需要进行标注,根据scada数据的报警与故障信息进行异常值的标注,其余为正常值,由于异常数据总量远远小于正常数据总量,因此,利用smote算法对异常信号进行线性插值,以此得到正常数据样本与异常样本的平衡。smote数据重采样方法如下:
[0062]
x
gen
=xi+rand(0,1)(x
i-x
ik
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0063]
其中,x
gen
为生成的样本,xi为原始数据点,x
ik
为xi的第k个近邻点,rand(0,1)∈[0,1]为随机数。
[0064]
步骤三、设计神经网络
[0065]
首先,构造训练方式,对网络依次输入下述类型数据:异常特征,正常特征,异常锚钉特征,正常锚钉特征。每一类型由步骤一、步骤二获取。每输入上述四类数据,通过构造的损失函数进行一次梯度下降。不断迭代,最终当损失达到最小阈值时停止迭代,模型训练完毕。为了获取不同类别的锚钉数据,对正常与异常类分别进行kmean聚类,将各自的聚类中心作为锚钉数据;
[0066]
之后,输入数据,利用卷积神经网络提取数据间的局部信息,最终通过全连接层进行输出,网络拓扑结构如图1所示,利用3*1卷积进行特征提取,训练时,利用双锚钉损失函数进行深度特征提取。训练过程中,模型的神经网络输出层进行z-score归一化,以此保持
数据输出的有界性与稳定性。
[0067]
步骤四、基于triplet loss损失函数,设计了新的双锚钉损失函数,用于实现风电机的异常特征提取,如图2所示。triplet loss是深度学习的一种损失函数,主要是用于训练差异性小的样本,比如人脸,细粒度分类等。设计的双锚钉损失函数如下:
[0068][0069]
其中,g
θ
(
·
)为特征映射函数,分别为第i个正样本与负样本,x
a-n
,x
a-p
分别为负样本锚钉与正样本锚钉,α为正负锚钉间的间隔阈值。
[0070]
步骤五、训练好的模型作为scada原始变量的深度特征提取器。最终,利用knn算法对数据进行异常检测,即存储原有的深度特征,当有新的数据出现时,将该新数据通过深度特征提取器进行特征映射,将得到的映射特征输入knn中,以此判断风电机是否存在异常。
[0071]
本发明未具体描述的部分或结构采用现有技术或现有产品即可,在此不做赘述。
[0072]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1