当前位置: 风电网 » 风电技术 » 风电技术 » 正文

风电知识 | 几种风机运行数据异常值检测的方法

日期:2023-04-24    来源:千尧科技

国际风力发电网

2023
04/24
16:22
文章二维码

手机扫码看新闻

关键词: 风电风机 风电产业 风电项目

风电场在运行的过程中,每天都会产生海量的风机运行数据,但由于运行故障、数据传输等原因,数据汇集难免会产生数据异常值,AdaBoost、GBDT等模型对异常值很敏感,精准识别异常值是确保模型计算结果准确的关键。因此,本文将通过介绍标准差法、箱型图法、DBScan聚类和孤立森林等几种数据异常值检测方法,简述工业场景下几种异常值检测的原理,为功率曲线拟合、低效机组挖掘、机组健康度分析等场景提供数据预处理的方法和思路。

标准差法

在统计学中,若一个数据集服从正态分布,则数值在均值一个标准差,两个标准差,三个标准差内的百分比为68.27%,95.45%,99.73%。数据表达式如下:

X:正态分布随机变量观测值

μ:正态分布平均值

σ:正态分布标准差

图1 正态分布图

由此可见,一个正态分布的数据集的取值几乎全部集中在区间内,超出这个范围的可能性仅占不到0.3%,对于风机运行数据中服从正态分布的数据,我们可以将此作为数据异常值判定的阈值,即将三倍标准差之外的数据判定为异常值。

箱线图法

箱线图(Boxplot)也称箱须图(Box-whiskerPlot),它是用一组数据中的下限、第一四分位数(Q1)、中位数、第三四分位数(Q3)和上限来显示数据分布的标准化方法。其中箱线图中关键的数据信息如下:

中位数(Q2/50th百分位数):数据集的中间值;

第一四分位数(Q1/25th百分位数):数据集最小值和中位数之间的中间数;

第三四分位数(Q3/75th百分位数):数据集的中位数和最大值之间的中间数;

四分位间距(IQR):第一四分位数至第三四分位数的距离;

上限:Q3+1.5*IQR;

下限:Q1-1.5*IQR。

图2 箱线图与正态分布对比图

因此,由箱线图特性,我们将上限值和下限值之外的数据作为异常值,和标准差法对比来看,Q1,Q3相当于-0.6745σ,0.6745σ的位置,而Q1-1.5*IQR,Q3+1.5*IQR相当于-2.698σ,2.698σ的位置。除此之外,箱线图可以直观地看出数据集的以下重要特性:

1)中心位置:中位数所在的位置就是数据集的中心,从中心位置向上或向下看,可以看出数据的倾斜程度;

2)散布程度:箱线图分为多个区间,区间较短时,表示落在该区间的点较集中;

3)对称性:如果中位数位于箱子的中间位置,那么数据分布较为对称,如果极值离中位数的距离较大,那么表示数据分布倾斜。

箱型图可依据实际数据绘制,对数据没有任何限制性要求,它只是真实直观地表现数据分布的本来面貌;另一方面,箱型图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的鲁棒性,多达25%的数据可以变得任意远而不会严重扰动四分位数,所以异常值不能对这个标准施加影响。由此可见,箱型图识别异常值的结果比较客观,在识别异常值方面具有一定的优越性。

聚类法

基于聚类的方法主要目标是产生聚类簇,而在聚类簇之外的数据,我们可以认为是离群点,因此聚类算法可以用作离群点检测。

常用的聚类算法有K-means,DBSCAN等,与DBSCAN相比,k-means需要指定聚类簇数k,并且初始聚类中心对聚类影响很大;另一方面,k-means对非凸数据集效果不好。所以通常情况下DBSCAN用于离群点检测适用性更强,本文中也以DBSCAN为例进行讲解。

首先,说明下DBSCAN聚类的两个参数:

邻域半径:Eps;

成为核心点所需邻域半径内的最少点数:MinPts。

DBSCAN算法将数据点分为三类:

核心点:在半径Eps内含有超过MinPts数目的点;

边界点:在半径Eps内点的数量小于MinPts,但是落在核心点的邻域内的点;

噪音点:既不是核心点也不是边界点的点。

DBSCAN算法流程如下:

1)将所有点标记为核心点、边界点或噪声点;

2)每组连通的核心点形成一个簇;

3)将每个边界点指派到一个与之关联的核心点的簇中(哪一个核心点的半径范围之内)。

图3 DBSCAN聚类示意图

DBSCAN作为离群点检测的聚类方法,优势在于可以对任意形状的稠密数据集进行聚类,并且可以在聚类的同时发现异常点,对数据集中的异常点不敏感;但同时也存在收敛时间较慢,不同参数组合对聚类效果影响较大,样本集的密度不均匀、聚类间距差相差很大,聚类质量较差等问题。因此在工程化应用中,需要根据数据分布特点进行算法适配和选择。

孤立森林法

孤立森林 (Isolation Forest, iForest)是一个基于Ensemble的快速离群点检测方法,具有线性时间复杂度和高精准度,是符合大数据处理要求的State-of-the-art算法。由南京大学周志华教授等人于2008年首次提出,之后又于2012年提出了改进版本。适用于连续数据(Continuous numerical data)的异常检测,与其他异常检测算法通过距离、密度等量化指标来刻画样本间的疏离程度不同,孤立森林算法通过对样本点的孤立来检测异常值。具体来说,该算法利用一种名为孤立树(iTree)的二叉搜索树结构来孤立样本。由于异常值的数量较少且与大部分样本的疏离性,因此,异常值会被更早的孤立出来,也即异常值会距离iTree的根节点更近,而正常值则会距离根节点有更远的距离。此外,相较于LOF、K-means等传统算法,孤立森林算法对高纬数据有较好的鲁棒性,其可以用于网络安全中的攻击检测、金融交易欺诈检测、疾病侦测和噪声数据过滤等。

该算法大致可以分为两个阶段,第一个阶段我们需要训练出t棵孤立树,组成孤立森林。随后需将每个样本点带入森林中的每棵孤立树,计算平均高度,之后再计算每个样本点的异常值分数。

训练孤立森林阶段,步骤如下:

1)从训练数据中随机选择Ψ个点样本点作为样本子集,放入树的根节点;

2)随机指定一个维度(特征),在当前节点数据中随机产生一个切割点p(切割点产生于当前节点数据中指定维度的最大值和最小值之间);

3)以此切割点生成了一个超平面,然后将当前节点数据空间划分为2个子空间,把指定维度里小于p的数据放在当前节点的左子节点,把大于等于 p 的数据放在当前节点的右子节点;

4)在子节点中递归步骤2)和3),不断构造新的子节点,直到子节点中只有一个数据(无法再继续切割)或子节点已到达限定高度;

5)循环1)至4),直至生成t个孤立树iTree。

异常值分数评价阶段,步骤如下:

1)计算单个样本点在单棵孤立树上的高度:

e为样本点从树的根节点到叶节点的过程中经历的边的个数;

n为和样本点同在一个叶子结点样本的个数;

c(n)为修正函数,表示个样本构建一个二叉树的平均路径长度,表达式如下:

γ为欧拉常数,约等于0.5772156649。

2)计算单个样本点的异常值得分: 

h(x):单个样本点在单棵孤立树上的高度;

E(h(x)):单个样本点在所有孤立树的高度均值;

c(n):表示个样本构建一个二叉树的平均路径长度。

由上述公式可见,s(x,n)的值域为(0,1),s(x,n)越接近1,异常概率越大。

图4 孤立森林异常点检测示意图

总的来讲,孤立森林算法是具有线性时间复杂度的算法,速度快,系统开销小,并且每棵孤立树相对独立,适合并行计算,但是孤立森林算法不适用于维度较高的样本数据;当树的样本量确定之后,树的高度也随之确定,当样本维度较高时,会存在建完树之后仍有大量的特征信息未被使用,从而影响算法的准确性。

结语

对比来看,标准差法,箱线图法等统计学的异常检测方法的有效性高度依赖于对给定数据所做的统计模型假定是否成立,对于已知分布特征的风机运行数据,如功率、风速等数据,比较有效。

基于聚类的异常检测方法对于样本集密度均匀的数据较为有效,如果样本集的密度不均匀、聚类间距差相差很大时,聚类质量较差,这时用DBSCAN聚类一般不适合;而且因聚类方法的时间复杂度较高,对于样本集较大的场景,也不适合此方法。

孤立森林算法具有线性时间复杂度,并且适配分布式计算,对于连续性数据的异常检测效果较好,但是当样本集中异常点比例过高时,孤立森林算法效果会打折扣,即便这样,孤立森林算法也是工业界中较为常用的异常检测算法。



返回 国际风力发电网 首页

风电资讯一手掌握,关注 风电头条 储能头条 微信公众号

看资讯 / 读政策 / 找项目 / 推品牌 / 卖产品 / 招投标 / 招代理 / 发新闻

风电头条

储能头条

0条 [查看全部]   相关评论

国际能源网站群

国际能源网 国际新能源网 国际太阳能光伏网 国际电力网 国际风电网 国际储能网 国际氢能网 国际充换电网 国际节能环保网 国际煤炭网 国际石油网 国际燃气网