APP下载

两阶段CP-Copula的风电机组异常数据清洗算法

2022-12-24郭慧军李永亭齐咏生刘利强

计算机仿真 2022年11期
关键词:变点方差风电

郭慧军,李永亭*,齐咏生,刘利强

(1.内蒙古工业大学电力学院,内蒙古 呼和浩特 010080;2.内蒙古自治区机电控制重点实验室,内蒙古 呼和浩特 010051)

1 引言

风功率关系曲线是风电机组发电性能的一个重要参数,因为风机运行的不稳定性,导致风机的发电功率不稳定,故而风电并网对电力系统有一定的影响,研究造成的负面影响离不开对风电机组运行状态的有效分析和评估[1]。风电机组的历史数据是风电机组功率预测、风电机组控制策略、风电机组性能评估的基础[2],但是风电机组在实际运行过程中,由于运行环境影响、数据采集、传输时的误差以及设备发生故障等因素,运行期间会产生大量的异常数据。这些受到扰动和异常的数据无法准确反映风电机组的真实运行状态,如果直接使用这些数据进行后续分析,必然会影响风电机组的运行状态和运行特性的分析结果,为此,必须对风电机组运行数据进行清洗。

当前,关于风电机组运行数据的清洗研究已有许多报道,如文献[3]和文献[4]采用数理统计中的四分位方法剔除异常数据,取得一定的效果,但是当异常数据过多时,确定异常值上下限会受到影响,识别效果变差。文献[5]基于密度的离群因子(LOF)算法剔除异常数据,可以有效剔除一些分散性异常数据,但当异常数据密度较高时,LOF算法的识别能力就会下降,容易误删正常数据。文献[6]采用组内最优方差建立数据清洗模型,但是该方法默认把每个风速区间内的最大功率当成额定功率,无法清洗功率曲线上方的不正常数据,而且该方法本质上是一种单边清洗算法,不能很好地做到双边清洗。文献[7]采用LOF 和支持向量机两种方法进行结合,首先用LOF算法值固定异常值范围,然后利用支持向量机建立判别异常的准则来判定异常值,但支持向量机适合处理小样本,面对海量风电数据显得力不从心。文献[8] 按不同风向上的不同风速区间内使用组内最优方差来识别其相应的异常数据,利用风玫瑰图统计不同风向的风速大小,但是算法需要在每个风向进行两次风速细分后,再在每个风速区间内设定阈值,大大降低了运行的效率。文献[9] 提出了一种基于灰色关联度和K-means聚类的方法。利用灰色关联法对数据进行关联度挖掘,其次用K-means聚类的方法建立数据的异常检测模型。综上,现有的风机数据清洗方法主要集中在统计量方法[10-11]、基于密度或者聚类的方法上。当异常数据量比较多时,统计量方法如四分位会出现识别失效的情况[12],最优组内方差方法需要对不同的数据集设置不同的阈值,不具有工程通用性;基于密度和聚类的方法,模型参数的确定缺乏有效指导,参数选择通常是困难的。针对以上问题,同时考虑风速和功率两个属性之间的依赖关系[13-14],本文提出了一种基于变点检测方法和Copula理论相结合的两阶段数据清洗算法,该算法将特征不同的异常数据分开讨论,结合异常数据的时序特征分别建立识别模型,最后从提出算法的有效性进行了分析验证。

2 风功率曲线数据分析

2.1 风速-功率曲线

风电机组的切入风速和切出风速是反映风电机组功能的重要设计参数,理论上,当外界实际风速大于切入风速后,风电机组开始有输出功率。在切入风速到额定风速之间时输出功率和风速的关系可以近似用指数规律表示,当达到额定风速后,风速增加,但是输出功率不再变化。当风速达到切出风速时,为了防止机组过载,一般情况下风电机组会采取制动停机,输出功率等于零。

以某风电场一台2MW的风电机组为例,其实测风功率曲线的散点图如图1所示。由图1可以看出,风电机组在实际运行过程中的功率点处于较大的分布范围内,风功率数据呈非线性,同时其带状分布特征又表现出一定的不确定性,但是风功率散点集中区域的概率密度明显的要比风功率散点分散区域的高。因此,可以认为概率密度高的区域属于风电机组的正常运行状态区域,能够更好地反映风电机组实际运行状态。

2.2 异常数据分布特征及其产生原因

根据图1所示的实际散点图数据分布形态可知,异常数据主要可分为横向堆积型异常数据和周围分散型异常数据,不同种类的异常数据在风功率散点图中的分布位置也不相同,如图2中圈注所示。为此,异常数据进行一下分类:

1)底部堆积型异常数据:这类异常数据表现为一条沿风速方向堆积的数据带。在长时间内实测风速大于切入风速,但输出功率却等于0或接近于0的数据,此类数据产生的主要原因有机组故障、通信设备或采集设备故障、不定时停机检修等情况。

2)中部堆积型异常数据:这类异常数据表现为一条或多条沿风速方向堆积的数据带。只要特征是输出功率低于风功率曲线下界,这时系统采集到风速数据虽然不断变化,但输出功率在一段时间内维持在一个较低的数值并基本保持不变,此类异常数据产生的原因是人为控制的弃风限功率或通信故障[15]。

图1 实测风速-功率散点图

3)周围分散型异常数据:这类异常数据主要表现为风功率曲线附近的无规律散点,此类异常数据可能来源于外部噪声干扰、传感器测量误差、天气变化剧烈等因素[16]。

图2 异常数据分布示意图

3 异常运行数据的识别与清洗流程

由于单一检测方法不利于识别各类特征的异常值,因此本文依据各类异常数据在风功率曲线上呈现的分布特征,提出了一种两阶段基于变点分组(Change Point, CP)-Copula理论的组合异常数据清洗算法。第一阶段主要清洗大部分堆积形异常数据和少量分散型异常数据,提高正常数据占比;第二阶段主要清洗剩余的分散型异常数据。

3.1 基于CP理论的第一阶段数据清洗

CP理论其基本的定义是在一个时间序列或过程中,当某个统计特性在某个点受非偶然性的因素影响而突然发生变化,就称该点为变点,变点识别即利用统计量或统计方法将该点的位置估计出来。风机数据进行变点异常值检测就是寻找风电机组运行数据中的数据相对于正常数据发生异常的部分。如果在某个风速区间内有大量堆积型异常数据,那么这个区间内功率序列的变化率、均值、方差以及方差的变化率等数据特征都会发生突变,不再符合原来的规律。因此采用变点理论对风功率曲线中的异常数据进行清洗具有理论可行性。研究数据清洗问题时,需要找出的是风功率序列中数据特征突变的位置,即数据点位置。由于方差变化率可以用来衡量数据的波动性,且采用方差变化率作为识别数据突变点时,效果最明显,因此,本文采用基于方差变化率的变点作为分组依据。

基于方差变化率的变点算法步骤如下:先将风速按照相同的等间隔大小分成个s区间,统计这个区间内的风速-功率数据对,记第i个风速-功率区间内的功率数据样本为

I={(v1,p1),(v2,p2),…,(vn,pn)}

(1)

式中,vi和pi分别表示第i个数据样本的风速和功率,把功率值进行降序排列,即pi>pi+1,i∈(1,n-1),重新排列数据对,然后求出各点的方差

(2)

t(i)=|si-si-1|,i=2,3,…,n

(3)

对风电机组功率的方差变化率进行变点识别,可以得到功率值变化明显的位置。最小二乘法是处理变点问题时常用的一种方法,它构造观察值与理论值之差的二次平方和作为目标函数,当使目标函数达到极小值之点的时刻或位置作为突变点的估计参数。若在第个区间内,功率的方差变化率发生了突变,说明这种突变是由大量离散程度高的异常数据所导致的,用最小二乘法求出变点位置后,变点之后的数据离散程度将越来越高,可认为是异常数据,进行清洗剔除。利用上述原理在各个风速区间进行清洗,就可以得到整个区间内风功率曲线的正常数据集和异常数据集。

3.2 基于Copula理论的第二阶段数据清洗

风速和功率具有随机性和波动性,可以将其视为具有相关性的两个随机变量进行处理,而Copula函数能够描述两个随机变量的相关性。根据风电机组实测数据,计算风速和输出功率的累计概率分布,选取最合适风速-功率数据分布的Copula函数描述风速和功率两个随机变量间的相关性,在不同风速和置信度下,即可得到输出功率的条件概率分布模型,最终把各个风速取值下的上下分位数连接起来形成两条曲线即为概率功率曲线,在本算法中认为在曲线内的数据是符合分布规律的正常数据。

由Sklar理论知道[17],两个随机变量得联合概率分布可以用Copula函数描述。对于风速v和功率p的累积概率分布FV(V)和FP(P)存在相应的Copula函数将其联合分布函数连接起来,即

F(V,P)=CV,P(FV(V),FP(P))

(4)

函数CV,P称为随机变量风速V、功率P的Copula概率分布函数。Copula函数中的未知参数可以用极大似然估计法求解,常见的Copula函数分别有Clayton Copula,Gaussian Copula,Frank Copula,Gumbel Copula和t-Copula函数。

3.3 两阶段CP-Copula算法流程

基于两阶段CP-Copula建立异常数据组合清洗模型,分成两个模块,具体算法流程如图3所示。在第一个模块流程中,依据风功率数据量多少,将风速区间等间隔划分成若干个区间,使在某风速区间的对应功率数据落入该风速区间,根据公式计算每个点的方差以及方差变化率,之后利用变点算法对该区间内的异常功率数据进行首次识别,将第一次识别出的异常数据直接剔除,并且保留剩余的数据;在第二个模块,针对变点算法清洗后剩余的可疑数据首先构造经验Copula函数和五种常见Copula函数的欧式距离,选取距离最小的函数建立风速和功率的依赖结构,最后利用Copula函数建立概率功率曲线进行第二次异常数据的识别,并且形成最终的正常数据集。

图3 CP-Copula数据清洗算法流程

4 仿真分析

为了验证本文所提方法的有效性,选取内蒙古某风电场中的一台风电机组作为实验对象,采集实际运行过程中将近两个月的历史运行数据进行实例验证,共计954683条数据样本。风机基本参数如下:切入风速为3m/s、切出风速的10min均值为25m/s、额定风速为10m/s,额定功率2MW。

4.1 第一阶段清洗效果验证

由图2可知,该台机组包含本文所有类型的异常数据,首先利用变点算法进行堆积型异常数据的首次识别清洗。以实测运行数据中15.0-15.5m/s风速区间内的数据为例说明变点算法的清洗原理,在该区间内,经过统计原始风速-功率数据对有10703个,将功率值按降序排列,根据式(2) (3)计算各点的方差变化率,结果如图5所示。

图4 15.0-15.5m/s原始风功率数据分布

图5 功率方差变化率

由图5可知,在9000个点左右,功率的方差变化率出现了显著变化,这是因为在这个区间中,原始数据存在大量的离散程度高的异常点所导致的,由最小二乘法计算得到功率值突变的序号是9616,因此可以判定第9616个点之后的数据为异常数据,可以进行剔除,图6是该区间内异常数据识别情况。

图6 单区间变点分组异常数据识别效果

由图6可知,变点分组法可以有效识别第一、二类堆积型异常数据,利用变点算法在整个风速区间内进行相同处理,其处理后的风功率散点图如图7所示。从图7可知,经过变点算法进行首次识别后,大部分堆积型异常点被清洗掉,但是仍有部分异常数据无法有效清除,此时需要异常数据的二次识别和清洗,对剩余的异常数据进行剔除。

图7 变点法处理后的风功率曲线

4.2 第二阶段清洗效果验证

经过第一阶段变点算法识别后的剩余数据,还需要进一步清洗。Copula函数模型是基于随机变量边缘分布结果建立的,由于存在五种Copula函数模型可以描述风速和功率的相关性,不同的Copula函数表现出来的变量相关性关系是不同的。为了找到最合适的描述模型,本文采用极大似然法对待选的五种Copula函数的未知参数进行求解,并计算每种Copula函数与经验Copula的二次平方欧式距离,结果如表1所示。由表1可知t-Copula函数与经验Copula的二次平方欧式距离最小,能够更好地拟合原始风功率数据,因此本文选用t-Copula函数模型求取风速-功率联合概率分布模型。

表1 五种Copula函数的距离

利用t-Copula函数建立概率功率曲线,进一步剔除异常数据,图8给出概率功率曲线的上下边界,经过两阶段CP-Copula识别模型处理后的最终风功率散点图如下图9所示。从对异常数据点的识别效果来看,本文模型最大程度的还原了风电机组的实际运行状况,风速和功率之间的真实规律通过概率功率曲线得到准确反映,说明本文方法能够有效识别风电机组异常数据点。

图8 Copula理论概率功率曲线图

图9 CP-Copula理论最终清洗效果图

为了进一步说明本文所提方法的有效性,引入数据识别率作评价指标,识别率定义为清洗的数据量和原始数据量的比值,同时与变点-3σ(CP-3σ)模型和最优组内方差-四分位法(OIV-Quartile)进行了对比,不同方法的异常数据识别效果对比图如下所示。

图10 3σ模型上下界曲线图

图11 CP-3σ方法最终清洗效果图

图12 OIV-Quartile清洗效果图

表2比较了三种模型的异常数据识别率,从识别率的情况看,本文所提递进式两阶段的方法较传统3σ模型和四分位模型而言有效提高了数据识别率。在第一阶段利用变点算法有效剔除大量堆积型异常数据,避免了高比例的异常数据对四分位清洗算法的干扰。在第二阶段,由于不是使用方差、中位数等统计量进行辨识异常点,而是经过对概率功率曲线的修正,减少了异常数据集中分布对统计分析结果的影响,所以可有效提高数据识别效果。

表2 不同算法的清洗效果对比

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

利用CP-Copula模型进行异常数据识别之后,有利于挖掘风电机组各变量与功率之间的真实关系,提高风机功率预测模型的有效性。基于对风电数据预处理的基础上,本节分别选取原始数据集和经过异常数据模型筛选后的数据集训练基于长短期记忆网络(Long Short-Term Memory,LSTM)的功率预测模型。用三种不同算法清洗后的数据集训练风功率短期预测模型[18]。从每个数据集中选取相同数量的训练样本,同时保证LSTM模型的结构相同。选择1000个功率点进行仿真预测,选取均方根误差(RMSE)、平均绝对误差(MAE)、R2作为指标对预测结果进行评价,表3是各项指标的记录情况,从表3可以看出用异常数据清洗模型识别后的数据进行短期风功率的预测精度都得到显著提升,但使用本文CP-Copula清洗算法得到的数据集建立的功率预测模型,RMSE和MAE比原始数据的对应指标减少最多,预测精度的改善效果要好于其他两种清洗方法。各个功率预测模型的功率残差结果如图13(a)~(d)所示,可以看出图13(a)的残差波动范围是最小的,功率的残差绝对值最大也没有超过50kW。

表3 短期风功率预测指标

图13 各个功率预测模型的功率残差结果图

5 结论

风功率曲线的异常数据会对风电数据挖掘产生不利影响,本文在分类风电机组不同类型异常数据的基础上,提出了基于变点-Copula理论的组合模型,识别不同类型的风电机组异常数据,结果表明剔除效果明显,与传统的识别模型相比,提高了准确性且完整地保留了正常运行数据;又将其应用在短期风功率预测当中,仿真结果表明预测精度改善明显,为后续分析风电机组真实的运行状态提供更为可靠和有效的支持。

猜你喜欢

变点方差风电
回归模型参数的变点检测方法研究
概率与统计(2)——离散型随机变量的期望与方差
正态分布序列均值变点检测的贝叶斯方法
基于二元分割的多变点估计
独立二项分布序列变点的识别方法
方差越小越好?
计算方差用哪个公式
海上风电跃进隐忧
分散式风电破“局”
风电:弃风限电明显改善 海上风电如火如荼