考虑条件概率分布特征的风电场站异常数据识别算法
2022-08-24马天东耿天翔钟海亮
马天东,耿天翔,钟海亮,李 峰
(1.国网宁夏电力有限公司,宁夏 银川 750001;2.国网宁夏有限公司电力科学研究院,宁夏 银川 750001)
风电场站出力的随机性与间歇性对电力系统的影响逐渐明显,如何精准预测风速和风电功率,及时诊断风电机组的故障状态成为风力发电领域的热点问题[3-5]。风电场站运行大数据是风电场站风速、功率预测、状态监测等工作的基础,但由于存在监控系统故障、弃风限电等原因,会造成风电场站采集的数据质量差,对于异常数据占比较高的数据集,直接分析其规律和特征变量之间的关联性极为不便,容易得出错误结论,影响相关调度指令的正确发布。因此,识别出风电场站运行大数据中的异常值,形成可靠的数据集,是一项十分重要的工作。
针对于风电机组的异常数据识别问题,国内外很多研究团队都开展了相关的工作,目前主要的异常数据识别算法可分为3 类。一是基于统计量的识别算法,这类算法的特点在于使用了大数据中的特征统计量,如标准差、方差和四分位数等。文献[6]提出了一种通过分段求取组内最优方差,从而识别异常数据的算法,但对于组内方差变化均匀的数据集,该算法适用性不强。文献[7]提出了一种基于风速-叶尖速比散点的四分位异常识别算法,该算法可准确识别风电机组运行过程中的异常数据,但随着数据量的增多,存在大量正常数据被误识别的风险。
二是基于无监督学习的识别算法,文献[8-9]提出了基于聚类算法的异常数据识别模型,但并未给出判断识别算法优劣性的度量标准和准则。
三是其他类型的异常识别算法,如文献[10-11]提出了基于Copula 理论的置信风功率曲线建模方法,然后利用概率功率曲线识别异常数据点。文献[12]利用图像识别技术识别异常数据点。风电场站的运行大数据相较于风电机组的运行大数据数量更为庞大、异常种类更多,而针对于风电场站的异常数据识别问题,目前的研究工作较少。
本文针对风电场站历史运行大数据,提出了一种考虑条件概率分布特征的风电场站异常数据识别算法。首先,依据风电场站监控系统的采集数据,分析了风电场站大数据的特征,其次,对传统的Copula 算法模型进行了分析和优化,提出了考虑条件概率分布特征的异常数据识别算法模型,最后,对风电场站的监测数据进行处理,并对比了传统的Copula 算法模型和本文提出的考虑条件概率分布的算法模型,结果表明,本文提出的算法能较为准确地识别出各类异常数据,相关评价指标优于传统的Copula模型,具有良好的通用性。
1 理想风功率曲线和风电场运行大数据特征
1.1 理想风功率曲线
风力发电的原理是将风的动能转化为电能,对于一个风电机组,其实发功率由当前风速决定,理想情况下,风速-功率关系可表示为:
式中:P为风电机组的输出功率;CP为风能利用率;ρ为空气密度;A为风机叶片扫过的有效面积;V为当前时刻的风速;νin,νout,νn分别为风机的切入风速、切出风速和额定风速。
1.2 风电场运行大数据特征分析
风电场站监控系统实测的风速-功率数据并不严格满足式(1)的三次函数关系,本文以宁夏贺兰山第三风电场的实测风速-功率为例,分析风电场运行大数据的特征。宁夏贺兰山第三风电场的监控系统每隔15 min采集一次风速与场站实际功率情况,一年可采集30000余条数据,图1为宁夏贺兰山第三风电场的实测风速-功率数据与理想风功率曲线的对比图,从图中可以看出,在理想的风功率曲线上,一个风速严格对应当前的实发功率,风电场站实测数据与理想风功率曲线具有类似的形状,但数据数量大,且数据分散性、随机性强,在同一风速下,不同时间的功率不相同,对应的功率区间宽,因此,有必要研究在确定的风速条件下功率的概率分布情况,进而考虑不同风速下功率的条件概率分布特征,进行异常功率点的识别。
图1 宁夏贺兰山第三风电场的实测风速-功率数据与理想风功率曲线的对比图
2 异常数据识别算法
考虑到风电场站数据的分散性和随机性,可利用概率功率曲线识别异常数据,所谓概率功率曲线,是指在给定置信水平下,某一风速条件对应的功率区间上下边界形成的曲线,认为概率功率曲线以内的数据点为正常点,概率功率曲线以外的数据点为异常点,然后再根据异常点的特征对其进一步识别。
2.1 基于Copula理论的异常数据识别算法
将传统的Copula理论[13]应用于风电场站异常数据识别,可将风速与功率看成两个具有一定相关性的随机变量,设V、P分别表示风速和功率的随机变量,FV(ν)、FP(p)分别为风速和功率的边缘概率分布函数,根据Sklar定理,存在二元函数C(FV(ν),FP(p)),使得:
式中:F(V,P)(ν,p)为风速和功率的二维联合分布函数;C 即为一个Copula 函数。常用的Copula 函数有3 种类型,分别为Gumbel Copula、Clayton Copula和Frank Copula,本文采用Gumbel Copula 函数拟合风速和功率的二维联合分布,计算公式如下:
式中:θ为Gumbel Copula函数的参数,可通过极大似然估计求得。
当风速V=ν时,功率P的条件概率分布可表示为:
取置信度为α,置信区间的不对称系数为k,则置信区间的上下置信概率边界可表示为:
由式(4)的逆函数可求得,当风速V=ν时,在置信水平α下的功率边界为:
根据上述方法可求得在置信水平α下的概率功率曲线,利用概率功率曲线可对风电场站的实测风速-功率数据进行识别,认为概率功率曲线以内的数据点为正常点,概率功率曲线以外的数据点为异常点。图2为Copula算法流程框图,图3为利用Copula算法对宁夏贺兰山第三风电场的实测风速-功率数据识别效果图,从图中可以看出识别效果欠佳,只能识别出少量的上侧离群点和底部堆积点,而且误识别情况严重。主要原因在于,相比于风电机组的实测数据,风电场站的数据量更多,相应的异常数据比例也更高,在利用Copula函数拟合风速-功率的二维联合分布时,异常数据的分布情况对整体数据的影响明显,因此在求解指定风速条件下的功率分布情况和功率置信区间的边界时存在较大的误差,造成识别效果较差。
图2 Copula算法流程框图
图3 Copula算法识别效果图
2.2 考虑条件概率分布特征的异常数据识别算法
考虑到Copula 算法对异常数据的识别效果差,且由于风电场站数据量多,导致在建模求解风速、功率的边缘概率分布时算法运行时间长,运行效率低,本文在此基础上优化了Copula模型,并提出了考虑条件概率分布特征的异常数据识别算法。相比于传统的Copula模型,本文提出的异常数据识别模型做了两点改进。
在建模求解指定风速条件下的功率分布情况时,先将风电场站的数据按风速划分为数个子集,在每个子集上对功率数据进行升序排列,然后利用核密度估计的方法求解功率的概率分布情况。当子集划分数量足够多时,每个子集上的风速区间范围足够小,此时该风速区间上的功率分布可准确反映功率在风速条件下的分布情况,且由于每个子集上数据量小,在利用核密度估计计算概率分布时算法运行时间短,算法效率得到提升。图4为分别利用Copula算法和优化之后的算法得到的分别在风速v= 5、8、15 m/s 时的功率分布情况,图中功率数据已在各个风速条件下经过归一化处理。在低风速段,功率数据主要集中在低功率区间,而随着风速的增加,功率数据逐渐向中高功率区间聚集,从图中可以看出,由Copula算法得到的概率分布不能准确地反映功率分布情况,这是Copula算法对异常数据识别效果较差的根本原因。
图4 三个风速区间上的功率概率分布对比
在得到每个子集上的功率分布和置信功率边界后,首先对边界点进行修正,主要采用函数值递增方法和导数值递增方法,理想的风功率曲线是风速的三次函数,因此要求概率功率曲线能准确反映这种特征,对于功率上边界集合{P(i)u}和功率下边界集合{P(i)d},利用式(7)剔除异常边界点:
式中:N为子集划分个数,即集合{P(i)}中元素个数;上标j等于u或d,分别为功率上边界集合和功率下边界集合。最后,利用三次样条插值的方法形成概率功率曲线,利用曲线识别异常数据。图5 为考虑条件概率分布特征的异常数据识别算法流程框图。
图5 考虑条件概率分布特征的异常数据识别算法流程框图
2.3 异常类型和异常识别判据
根据本文提出的考虑条件概率分布特征的异常数据识别算法,提出相应的异常识别判据,建立风电场站大数据异常识别模型,将风电场站的数据划分为4种类型。
第一类,这类数据位于上下概率功率曲线的边界之内,显著的特征为数据量大,数据密集,且绘制的散点图能较好地反映出理想的风功率曲线,认为这类数据为正常数据。
第二类,这类数据位于上下概率功率曲线的边界之外,但与概率功率曲线之间的距离不超过ε,显著特征是数据量较少,但分布规律大致满足理想的风功率曲线,认为这类数据为概率异常点。
第三类,这类数据位于上概率功率曲线的边界之外,且数据量少,距离概率功率曲线远,为显著的离群点,认为这类数据为第一类异常点,主要由传感器故障、数据监测系统故障等原因导致。
第四类,这类数据位于下概率功率曲线的边界之外,距离概率功率曲线远,部分数据点呈现比较密集的横向分布特征,认为这类数据为第二类异常点,主要由停机、限风限功率等原因引起。
表1中列举了具体的异常类型和异常识别判据,图6 为应用本文提出的异常识别算法对宁夏贺兰山第三风电场的数据识别效果图。
图6 本文提出的异常识别算法识别效果图
表1 数据异常类型和异常识别判据
表中ε表示给定的概率功率曲线容许的误差范围。
3 算例分析
为了验证本文提出异常识别算法的有效性,本文以宁夏黄麻山第一风电场2020年的实测数据和人工合成的风电场站数据集为研究对象,分别应用Copula 算法和本文提出的算法对其进行识别,对比分析两种算法的识别效果和相关评价指标。
老的让开道,催促着,奖励着,让他们走去。路上有深渊,便用那个死填平了,让他们走去。 [2](第1卷,P354-355)
3.1 实测数据异常识别
宁夏黄麻山第一风电场共有96台并网风机,场站额定容量为98 MW,其数据监控系统每15 min采集一次场站运行数据,经过预处理之后,数据集中包含2万余条风速-功率数据。为了对比异常识别算法的有效性,选取数据保留率η,某一风速段内功率方差减少量ΔM作为评价指标,来衡量两种算法的优劣性,计算公式如下:
式中:Nre为经过异常识别模型识别后保留的正常数据点数量;N为经过预处理后的数据集中数据点数量;MSE为经过预处理后的数据集在某一风速段内功率的方差;MSEre表示正常数据点在某一风速段内功率的方差,这里选取9 m/s<ν<10 m/s 风速段。
最终识别效果如图7、表2所示,从识别结果可以看出,不管是数据保留率η,风速方差减少量ΔM,还是对异常数据的识别效果,本文提出的异常识别算法均优于Copula算法,而且识别为正常的数据在某一风速段内功率的方差小,数据更加集中,说明这部分数据作为正常点保留是合理的。
图7 本文算法识别效果图
表2 两种算法识别效果对比
3.2 人工合成数据异常识别
利用本文提出的异常识别算法对宁夏黄麻山第一风电场的实测数据进行识别之后,剔除异常数据,保留正常数据,在此基础上人工添加异常数据,形成新的数据集。同样选取数据保留率η,功率方差减少量ΔM作为评价指标,考虑到人工合成数据集是有标签的,再引入识别率γ和误识别率μ作为评价指标,计算公式为:
式中:Nab为人工添加的异常数据中被是识别为异常点的数量;Nabsum为人工添加的异常数据数量;Nf1为人工添加的异常数据中被识别为正常数据点的数量;Nf2为正常数据中被识别为异常数据点的数量。
图8为本文算法最终识别效果和数据真实的异常情况对比图,表3 列举了相关评价指标,从识别结果可以看出,对于人工合成的数据集,本文提出的异常识别算法依然具有适用性,相比于Copula算法,本文算法的识别率更高,误识别率更低,识别效果更好。
图8 本文算法识别效果和数据真实的异常情况对比图
表3 两种算法识别效果对比
4 结束语
Copula 算法在异常识别效果和运行效率方面表现较差,本文提出的算法优化了条件概率分布的求解,并对概率功率曲线进行了修正,对异常数据可达到理想的识别效果,并且提高了异常数据识别算法的运行效率。
以场站实测数据和人工合成数据为研究对象,对Copula 算法和本文提出的算法进行了对比分析,结果表明,本文提出的异常识别算法在数据保留率、方差减少量、识别率和误识别率等方面均优于Cop‐ula算法,对异常数据的识别更加准确。