当前位置:首页 期刊杂志

基于多模型并行集成框架的风电功率异常数据识别

时间:2024-05-22

陈江雨,李培强,钟吴君

(湖南大学电气与信息工程学院,长沙 410082)

随着全球不可再生资源减少导致的能源供应短缺,大力发展可再生能源逐渐成为各国优化能源结构、解决能源危机的重要手段。风能作为一种清洁、易获取的可再生能源,已逐渐成为继火电、水电之后的第三大能源。但由于风能具有间歇性与随机性,风电并网后给电网运行安全、电网调度和电能质量等方面都带来了极大的挑战[1]。风电机组运行历史数据具有很高的研究价值,特别是风速数据和风功率数据,对这些数据进行挖掘分析,不仅可以评估风电场及风电机组的性能和运行状况,还在风电功率预测上发挥不可或缺的作用,直接影响预测结果精准度[2-3]。然而在实际运行过程中,由于环境和机组运行故障等因素,风电机组会产生大量异常运行数据,为提高数据质量,需要对风电功率历史数据中的异常数据进行识别。

目前,许多学者已经在异常数据处理方面开展了大量研究并取得了诸多成果,而机器学习的发展为识别异常数据提供了便利的手段。文献[4]通过比较含噪声的基于密度的聚类方法DBSCAN(densitybased spatial clustering of applications with noise)、局部异常因子LOF(local outlier factor)、Thompson-tau四分位法和孤立森林IF(isolation forest)4种常用异常数据识别方法,得出了IF方法通用性最强且LOF方法对稀疏异常数据效果好的结论;文献[5]提出了基于分功率区间的自适应DBSCAN 异常数据识别算法,但该方法需要针对不同机组运行情况划分功率区间,普适性较差;文献[6]提出了一种基于变点分组-四分位的组合风电异常数据识别方法,但清洗后的功率曲线呈阶梯状;文献[7]提出了一种孤立森林与均值漂移算法组合的风电异常数据清理算法,但出现了过度删除的情况;文献[8]提出基于灰色关联度和K-means 聚类的异常数据识别方法,但需要针对不同场景进行调参。

对比单一识别方法,顺序集成类方法可以相互弥补单一方法在异常数据处理上的不足,但是顺序集成类方法还需要探究方法之间的使用顺序,并且可能会出现过度删除的情况,故而有部分学者将并行集成类学习方法用于异常数据检测。文献[9]最早提出了并行集成类异常检测框架feature bagging,通过从原始数据集抽取特征子集训练多个基学习模型(即基本异常数据检测模型),最终采用一定策略组合所有基学习模型的输出结果。然而这类并行集成框架缺乏对全部基学习模型输出结果的选择性组合,从而使表现优秀的基学习模型难以发挥优势。同时,该类并行集成框架是基于全局角度出发,难以关注到局部异常。针对这类问题,文献[10]提出了基于局部动态选择组合的并行集成异常检测算法LSCP(locally selective combination in parallel outlier ensemble),通过设置不同参数的LOF 基学习模型,采用生成局部伪标签的方式对每个数据点进行异常识别,达到了更优的效果。

综上所述,本文提出一种基于多模型并行集成框架的风电功率数据异常识别方法。鉴于LSCP框架中采用的基学习模型为超参不同的LOF方法,且单一LOF 方法对分布密度较高的异常数据识别效果较差,因此本文在LSCP 框架中加入异构基学习模型——基于最近邻隔离INNE[11](isolation using nearest neighbor ensemble)和不同超参的LOF 算法进行集成,通过异构基学习模型对具有不同分布特征的风电功率异常数据进行有选择识别,提升模型的整体性能。通过在不同风电场实际运行数据集上进行验证,获得的实验结果表明,与单一方法和顺序集成类方法相比,本文方法在风电功率异常数据识别任务取得了更好的效果。

1 风电场数据分析

1.1 风速-风功率曲线

风力发电是指风电机组利用风机叶片使风的动能转化为机械能,再通过发电机转化为电能的过程。在实际运行情况中,风电机组的输出功率遵循以下规律:当风速不超过切入风速时,机组不进行发电;当风速介于切入风速与额定风速之间时,风机开始发电,输出功率与风速的立方成正比;当风速超过额定风速但未达到切出风速时,输出功率保持额定输出功率Pn不变;当风速超过切出风速时,机组通过控制系统实施停机,输出功率降为0。则风机的实际功率[12-14]P0可表示为

式中:Cp为风能利用系数,为吸收风能与初始风能之比;ρ为空气密度;S为叶片接触面积;v为风速;vi、vn、vo分别为切入风速、额定风速和切出风速。

为直观看出风电机组实际运行时风速与功率的分布情况,可以画出风电场的风速-功率(v-P)散点图。以本文使用的4个国内外风电场2021年的实际运行数据集为例,其实测v-P曲线散点图如图1所示。从图1中可以看出,实际运行状态下的风速-风功率数据呈非线性分布,且分布位置与分布密度各异,不同风电场的运行数据分布类型并不一致。由式(1)可以得知,风电机组实际运行时其风速-风功率的理想运行曲线为“S”型,故可以认为在v-P曲线散点图中,数据分布密度高且分布位置类似理想曲线“S”的数据为风电机组正常运行数据。

图1 风速-功率散点图Fig.1 Scatter plot of wind speed vs power

1.2 风电功率异常数据成因及分布特征

每台风机在投入实际运行前都需要在各种运行工况下进行测试,若在实际运行过程中收集到的运行数据与测试运行数据偏离较大,这类运行数据被称为异常数据。基于统计学的3σ准则[15],假设风电功率数据按照正态分布,σ表示数据的标准差,μ表示数据的均值,可以认为分布在(-∞,μ-3σ)和(μ+3σ,+∞)两区间内的数据为异常数据。异常数据产生的原因主要来自两方面:一是人为限电,如风机停机检修、按发电计划降低或暂停风机出力等;二是客观影响,如遭遇极端天气、风机叶片损坏、电力通信故障等。

从数据分布位置及密度来看,异常数据类型主要可以分为堆积型和分散型两类[16-18],其产生原因也不尽相同。为此,依据数据分布形态及产生原因,将异常数据分为5类,并在图1中圈注为(1)~(5)。

第(1)类,顶部堆积型异常数据。如图1(b)所示,这类异常数据在v-P散点图上表现成一条横向的密集数据带,其功率超出风电场的总装机容量,主要成因是风电机组处于超发状态。

第(2)类,上方堆积型异常数据。这类异常数据主要是由于风电场的测量或者通信设备发生故障,在一段时间内持续发送某一固定数值,其在v-P散点图上通常有2 种形式的表现,若为竖线,说明故障发生在气象测量或通讯仪器上,如图1(a)所示;若为横线,则故障发生在功率测量/通讯仪器。

第(3)类上,方分散型异常数据。这类异常数据的成因与上方堆积型相同,不同的是它出现时间较为随机且在v-P散点图上分布靠近整体曲线,这在图1(a)、(d)中均有体现,识别难度较高。

第(4)类,下方堆积型异常数据。如图1中4幅分图所示,这类异常数据通常分布在v-P曲线的右侧和底部,呈现为一条横向或斜向的密集数据带,主要由弃风限电、计划内停机检修、风机停机启动等因素导致。同时,由于风机内部测控系统的自耗,会出现风速为0 但输出功率为负的情况,表现为聚集在v-P散点图底部功率为0附近的数据带。

第(5)类,下方分散型异常数据。这类数据在v-P散点图上分布为密度较低的无规律点,在图1所示的4 幅分图中均有体现,主要由测量误差、信号噪声、极端天气等因素影响,导致输出功率产生随机偏差。

2 基于风功率异常数据特征的多模型并行集成框架

针对不同类型的风电功率异常数据,单一识别方法很难做到全方位识别处理;同样,顺序集成方法可能存在过删除的情况,因此,本文依据所划分的5类风电功率异常数据特征,提出一种基于多模型并行集成框架的风电功率异常数据处理方法,并加入异构基学习模型,实现对各类风电功率异常数据的识别。

2.1 并行集成框架

并行集成类方法在异常数据处理领域上的应用通常是采用无监督框架,在一般情况下,风功率数据本身不会提供自身“是否异常”的信息,故而将并行集成框架用于风电功率异常数据的研究较少。此外,大部分无监督并行集成框架在输出识别结果时,通常采用平均法等策略结合全部基学习模型给出识别结果,这会导致表现优异的基学习模型被表现差的基学习模型掩盖。同时,这种策略通常是基于全局,无法针对局部异常数据因地制宜[19]。

LSCP 是一个可以对多个异常检测模型进行并行集成的无监督框架算法,各个基本模型之间独立运行,互不干扰。LSCP 框架采用动态分类选择器DCS[20](dynamic classifier selection)来选择适合于每个风功率数据样本点的异常检测模型,其原理是通过评估各模型在数据点局部邻域内的表现来判断模型是否在该点表现良好。再通过基于K 最邻近算法KNN(K-nearest neighbor)生产局部伪标签,筛选并组合基学习模型的辨识结果。

本文构建的多模型并行框架如图2 所示,具体流程如下。

图2 多模型并行集成框架流程Fig.2 Flow chart of multi-model parallel integration framework

步骤1构建模型池:分别训练基于INNE方法和基于LOF方法的超参不同的基本异常检测模型,构成基本异常检测模型池。同时划分风功率数据集为训练集Xtrain和测试集Xtest,将训练集输入到模型池中对所有模型进行训练,完成各模型的初参数调试。

步骤2邻域划分:使用KNN 法划分风功率数据集中所有数据点的局部最近邻区域ψi,其中,为KNN法的满足条件。

步骤3生成伪标签:对于数据点xi,将其ψi内每一数据点放入基本异常检测模型池进行识别,获取对应局部异常得分横向量,再合并形成局部异常得分矩阵O(ψi)。将所得矩阵O(ψi)中各横向量进行归一化处理,再选取各横向量中的最大值fmax(),组成对应局部伪异常标签targetψi。

步骤4计算最终结果:计算局部异常得分矩阵O(ψi)与对应局部伪异常标签targetψi的皮尔逊相关系数,选取相关系数大的基本异常检测模型作为数据点xi的异常检测模型,若选出模型个数为1,则其检测结果就为xi的辨识结果;若模型个数大于1,则将各模型检测结果的平均值作为xi的辨识结果。

2.2 基于堆积型风功率异常数据的最近邻隔离方法

基于最近邻隔离方法是一种改进孤立森林算法,结合了最近邻距离比来计算数据的异常指标。对于风功率数据,IF方法可以有效处理堆积型异常数据,但是考虑到IF方法是通过不断递归平行轴来细分数据区间,而使平行于坐标轴的堆积型异常数据无法被识别。而INNE方法针对这一点进行了改进,通过建立多组多维超球体进行数据空间的切割来实现隔离机制,加强了对轴平行的异常数据的处理能力,可有效识别该类风功率异常数据[11,21]。

INNE 方法分为训练阶段和测试阶段,两阶段使用的数据集可以无关也可相关,过程如下。

(1)训练阶段:从风功率训练数据集中随机选择数据点构成大小为N且无需替换的子数据集Xi。再对Xi中每个数据点进行最近邻搜索,即在剩下N-1 个数据点中寻找离自身最近的点。然后以自身为球心,到所寻最近邻点的距离为半径画出超球,一共画出N个超球体。重复上述操作t次,得到t组超球体集合。

(2)测试阶段:将风功率测试数据集中某一数据点x放入某组超球体集合Bi(cj)(i∈[1,t],j∈[1,N])中,如果x不被Bi(cj)中任意一个超球体包含,则将该数据点的孤立评分记为1;若x被某个超球体Bi(c1) 包含,则再找到离Bi(c1) 最近的超球体Bi(c2),分别记录两者的半径τ1、τ2,则数据点x的孤立评分为1-τ2/τ1。将测试集中每一个数点分别放进每组超球集合中计算其孤立评分,再计算其异常评分。孤立评分和异常评分分别表示为

式中:Bi(cj)为用数据集Xi构建的超球体集合中的第j个超球体;Ii(x)为数据样本x在子数据集Xi构建的超球体集合中的孤立评分;Iˉ(x)为数据样本x的异常评分。

2.3 基于分散型风功率异常数据的局部异常因子方法

局部异常因子方法是一种基于密度的异常数据检测方法[22],其原理是计算风功率数据集中某一数据点x周围数据点所处位置的平均密度与该数据点所处位置的密度的比值,该比值定义为局部异常因子。比值越接近1或小于1,则x是正常数据的可能性越大;比值越大于1,则x越可能是异常数据。

对于风功率数据点x来说,其处于不同数据集或同一数据集的不同位置,表现出的特征会不一致。LOF方法在判断x是否异常时,是取决于x的k距离邻域,这可以有效识别出风电功率数据中的局部异常数据,避免识别方法仅基于全局异常的问题。同时,针对分散型异常数据,由于其分布密度与正常数据分布密度相差较大,也可以由LOF方法有效识别。

3 实测风功率算例验证

为验证所提方法能对风功率异常数据进行有效识别,以第1.2 节提到的4 个风电场的运行数据为例,用本文所提方法进行异常数据识别,并与单一最近邻隔离方法、局部异常因子方法及最近邻隔离-局部异常因子顺序集成方法进行对比,以此说明所提方法的识别效果及清洗效率。其中,风机切入风速取2 m/s,额定风速取12 m/s,切出风速取20 m/s。本文方法使用的并行框架中各基检测模型的关键参数设置为:INNE 模型中超球体集合个数为8,训练集选取的子数据集大小为200;5个LOF模型的k距离邻域选择分别为15,20,25,30,35。4 个风电场数据集情况如表1所示。

表1 风电场数据集简介Tab.1 Profile of wind farm data sets

3.1 本文方法识别结果

采用本文方法对第1.2 节所提4 个风电场的实际运行数据进行异常数据识别,得到的结果如图3所示,其中浅色为所识别的异常数据。可以看出,本文方法可以有效识别运行数据中存在的各种异常数据类型。

图3 异常数据识别结果Fig.3 Abnormal data identification results

相较于风电场B、C、D 的实际运行数据在v-P散点图上呈现出的曲线均较为符合理想风机运行情况,风电场A 的采样频率为10 min,且安装的风电机组型号较多,对比图3的4幅分图可以看出,其运行数据组成的频带较宽,所包含的异常数据分布形式与其他3 个风电场不完全一致。从图3(a)展示的识别结果来看,风电场A 包含的4 类异常数据均被有效识别,但当输出功率大于14 MW时的数据均被识别为异常数据,这是由于INNE 方法中采用了最近邻距离比,且LOF 也是基于密度检测方法,而风电场A在实际运行时基本没有满发时刻,故输出功率大于14 MW 且小于额定功率的数据点数量较小,其分布密度虽然大于同功率区间范围内的异常数据分布密度,但是小于同风速区间内的正常数据分布密度。

对于风电场B、C 和D,这3 个风电场的异常数据类型一致,都具有大量类型5 的异常数据,但分布位置不同,其中:风电场B 的异常数据大部分出现在曲线的下半部分,风电场C和D则多集中与上中部。除此之外,风电场C还具有许多平行于横坐标轴的异常数据,而风电场B和D的这类异常数据仅分布在输出功率为0或额定功率附近。对于这3个风电场包含的各种异常数据,文本方法均有较为优秀的表现。

综上所述,4 个风电场运行数据中的几类异常数据都能被有效识别。虽然风电场A 与其他风电场的运行数据在风速-功率散点图上表现差异较大,但本文所提方法在各类异常数据识别上均取得了有效的成果,且算法最后识别所获得的结果都较为符合理想风速-风功率曲线,这说明该方法具有一定的通用性。

3.2 与单一模型和顺序集成模型对比

本节利用单一INNE 方法、LOF 方法和INNELOF 顺序集成方法对4 个风电场运行数据进行识别。其中,本文方法中所使用INNE 基本异常检测模型的超参与单一INNE法和INNE-LOF法中一致,即超球体集合个数为8,训练集选取的子数据集大小为200;由于本文方法使用了不同超参的LOF基本异常检测模型,故单一LOF 法和INNE-LOF 法的超参选择使单一LOF 法表现最优的超参,即k距离邻域的k取25。图4~图6为3种方法的识别结果。

图4 INNE 方法识别结果Fig.4 Identification results obtained using INNE method

由图4可以看出,INNE方法能有效剔除多种类型异常数据,大部分平行于坐标轴的异常数据也得到了有效处理,但紧靠v-P曲线的部分异常数据难以被识别。除此之外,图4 的4 幅分图中均有小部分堆积型异常数据被误判为正常数据。

从图5 来看,由于风机实际运行时存在弃风限电等情况,故而在同一风速区间或功率区间下,会出现异常数据分布密度等于甚至大于正常数据分布密度的情况,并且LOF方法的检测原理是基于局部邻域密度的大小,因此从图5 所示4 个分图中可以看出,部分分布密度较大的异常数据无法被识别。对比图4 的4 幅分图,LOF 方法无法识别横向堆积型异常数据,而INNE 方法在处理这部分异常数据有很优秀的表现。

图5 LOF 方法识别结果Fig.5 Identification results obtained using LOF method

虽然INNE方法采用了基于最近邻距离比来优化局部识别能力,但其最终输出结果还是基于全局最优,仍存在部分局部异常数据无法被识别的情况。基于此,顺序集成方法采用先INNE 后LOF 的顺序,通过基于局部邻域密度的LOF 方法弥补INNE 方法在局部异常识别的不足。从图6 展示的结果可以看出,顺序集成方法可以有效识别大部分异常数据,对比图3所示结果,部分紧靠v-P曲线下方的堆积型异常数据识别效果较差。对于图6(a),有部分堆积型异常数据没有被识别;观察图6(c),其超过额定风速但未超过切出风速的满发状态下的数据,大部分被误判为异常数据。

图6 INNE-LOF 方法识别结果Fig.6 Identification results obtained using INNE-LOF method

综上所述,本文方法结合了INNE 算法和LOF算法两者之长,可以有效识别各类异常数据。对比单一INNE、LOF 方法和INNE-LOF 方法,本文方法的处理结果更为优秀。对比INNE 方法,本文方法加强了其局部异常处理能力;对比LOF 方法,本文方法提高了对平行于坐标轴的异常数据处理能力;对比顺序集成方法,LSCP 框架在判别数据点是否异常时是根据数据点所处局部区域动态选择表现优异的基学习模型,并且在给出最终结果时结合局部伪标签对多个基学习模型进行二次筛选,因此,本文方法在堆积型异常上处理能力更优。

4 风功率数据清洗后数据误差对比分析

由图1 展示的数据分布情况可知,正常数据集中分布于v-P曲线,而大部分异常数据分布明显远离v-P曲线。获取每一个风电场的标准风速-风功率曲线,比较剔除异常数据后剩余数据组成的数据集与标准v-P曲线的差距,可以判断各个异常数据处理方法的识别效果与精准度。

4.1 基于标准功率曲线的评价指标

基于风电场提供的标准功率曲线,以风速作为基准,按0.5 m/s 划分风速区间,在各个风速区间内计算数据样本功率值与标准输出功率值的绝对距离,再计算清洗之后整个数据集与标准曲线的误差。区间内误差的计算公式为

式中:MAEi为第i个区间的数据与标准值的平均绝对误差;RMSEi为第i个区间的均方根误差;Ni为第i个区间的数据总量;Pi为第i个区间的基准功率曲线的值;Pi,j为第i个区间的第j个数据。

此外,记录各个方法在每个数据集的运行时间,并计算的数据删除率为

式中:D为数据删除率;R0为原始数据;R1为剩余数据量。

4.2 识别误差分析

将异常数据剔除后,按照式(4)、式(5)计算各个方法的识别结果与对应样本数据集标准功率曲线之间的离散程度,以此来分析对比4种方法识别异常数据的精确度。同时,获取各方法进行异常数据识别所需时间,并按式(6)计算各方法的数据剔除率,即被剔除的异常数据量与原数据量的比值,各项计算结果如表2所示。

表2 数据清洗结果与功率曲线误差Tab.2 Data cleaning results and power curve errors

从4 种方法清洗异常数据所花时间来看,顺序集成方法费时最长,两种单一方法耗时较短,本文方法耗时居中。结合表1中4个数据集的数据量可以看出,清洗时间随风功率数据集数据量的增大而增大。本文方法的清洗时长主要取决于基本异常检测模型中耗时最长的检测模型和后续利用伪标签对结果进行二次筛选合并。顺序集成方法耗时短于两单一模型耗时直接相加,这是因为前一步处理后风功率数据集总数据量减小了。对于两种单一模型,LOF 方法是基于局部邻域密度,INNE 方法是基于集成的,后者的计算量更大,故INNE方法耗时大于LOF方法。

从表2 中可以看出,本文方法的异常数据删除率为4种方法中最大,这是因为LSCP框架针对所集成的各个基本检测模型结果做了再一次筛选。顺序集成方法的数据删除率均大于2 种单一类方法。值得注意的是,针对风电场B,顺序集成方法的数据删除率大于本文方法,出现了过删除的情况。此外,LOF方法在识别异常数据时更容易受到局部分布密度的影响,故该方法的删除率会大于INNE方法。

对比MAE和RMSE可以看出,本文方法的识别效果更精准,与标准功率曲线的误差也更小;但是顺序集成方法在风电场B上的误差小于文本方法,通过对比图3(b)和图6(b)以及数据删除率可以看出,顺序集成方法所识别出的正常数据曲线整体宽度较本文方法的更窄,所剔除的异常数据更多,故其与标准功率曲线的误差也会更小。

4.3 异常数据识别在风功率预测中的应用

将风电机组实测数据集中的异常数据剔除,有利于提高后续风电机组出力预测的精度,是构建可靠准确风电功率预测模型的重要基础。使用原始风功率数据集、本文方法清洗后的风功率数据集和3种对比方法清洗后的风功率数据集分别作为训练集对长短期记忆LSTM(long short-term memory)模型[23]进行训练。每个训练集中的训练样本数相同,预测模型参数及结构一致,选取同一天运行数据样本作为测试集进行仿真预测,选取平均绝对误差和均方根误差作为预测结果的评价指标,计算预测结果与实际数据的误差,所得结果如表3所示。

表3 风功率预测指标Tab.3 Indexes for wind power prediction

从表3 中可以看出,对比利用原始数据集进行训练,剔除异常数据后,MAE 和RMSE 均有不同程度的减少,MAE平均减少了4.02%,RMSE平均减少了2.36%,预测模型的精度均得到了提升;使用经本文方法处理后的数据集进行风功率预测,MAE 和RMSE两项指标减少得最多,分别为5.06%和3.46%,预测精度提高效果最明显;顺序集成方法的MAE和RMSE分别减少了4.68%和3.15%,对预测精度的提升效果略逊于本文方法;两种单一模型的误差减少最小,对预测精度的提升效果不如两种集成方法;本文方法能有效清洗风电功率异常数据,有效提升了预测模型的预测精度,也有利于提高风电机组的利用率和电力系统经济调度的有效性。

综合来看,本文方法为风电功率异常数据处理提供了一种合理、高效的识别方法。通过LSCP 框架结合了两种识别算法的优点,能有效识别前文所提各类异常数据,在不同风电场实际运行数据集、不同异常数据分布状态下均具有良好表现,其识别效果优于顺序集成方法,也避免了顺序集成方法使用先后顺序的问题,具有较强的实用性和通用性。

5 结 语

本文针对风电机组运行过程中产生异常数据的问题,通过对异常数据类型及产生原因进行分析,提出了一种多模型集成并行框架的风电功率异常数据识别方法。通过实例验证和对比分析表明,该方法结合了INNE 方法和LOF 方法的优势,对不同风电场运行场景、不同异常数据类型、不同异常数据分布状态,尤其是横向堆积型异常数据的识别效果显著,能有效提升后续风功率预测模型的精度,具有较强的通用性,适用于大多数异常数据处理场合。但本文方法在识别过程中还存在以下2个问题:一是数据删除率相对较高,对风电功率数据集完整性破坏较大;二是没有考虑数据重构问题。下一步工作将研究如何降低数据删除率,以及如何对被识别的异常数据进行合理重构,并在数据重构时考虑使用更多风电机组其他数据信息。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!