作者:张毅
风力发电作为一种成熟的可再生能源技术,近年来在中国得到迅速发展[1],随着国内多个大型风电场的建成,风电并网后对电网的稳定性和电能质量有着重要影响,对风电场进行动态建模是研究这些影响的前提条件。风电场建模的核心目标是找到一种模型使等值精度最高,仿真时间最短[2]。国内外有许多学者提出不同的方法对风电场进行等值建模[3]~ [9]。
常见的风电场动态等值方法分为单机等值法和多机等值法[2]。单机等值法是将风电场中所有风力发电机等值为一台发电机[3]。苏勋文提出的单机等值模型仅仅考虑定速机组风电场,没有考虑双馈式感应风力发电机组或永磁直趋式风力发电机组[3]。多机等值模型采用智能算法对风机进行分群,将风力发电机组的特征值作为分群指标进行聚类运算[4]~ [9]。Muhammad Ali利用支持向量机算法,以风电场测风塔两年的风速和风向数据为特征值进行概率分群,虽然仿真结果精度很高,但单台风机风速需要通过尾流效应计算得出,每个风电场的风机排列不同,无法做到普适性翻。
国内外许多学者对风电场中风机风速分布做出的研究结果表明,双参数Weibull分布是目前最能代表风速概率密度的分布函数[10]。本文提出一种基于实时数据的支持向量机动态分群算法,以风机风速作为特征值,通过风电场所有风机的总体风速数据产生风速样本,将风速总体数据的标准差作为风速样本划分依据,通过遗传算法对支持向量机的参数进行寻优,利用支持向量机训练样本构造出超平面,最后得到风机的聚类结果。本文提出的聚类算法适用于任何已知单机风速数据的风电场,无需考虑风电场的排布和大小,具有良好的动态分群特性。
1理论背景
支持向量机(SVM)是建立在统计学习理论和结构风险最小化原理上的一种机器学习算法,它能够有效解决小样本的分类和回归问题。SVM将样本中的数据通过核函数K映射到高维空间,将原本低维不可分数据变成高维线性可分数据,避免了维数灾难导致的数据不可分和分类慢问题,广泛应用于模式识别、回归分析、函数分类等数据挖掘领域[11]。支持向量分类(SVC)是基于支持向量机理论的一种分类算法,它通过给定训练样本求取最优超平面从而得到分类函数,然后将总体数据带入分类函数进行分类。
首先给定训练样本其中:为样本总数,通过求解以下优化问题得到最优超平面。
式中:W为线性权值向量;C为惩罚参数;为松驰因子;为样本分类标签;为样本特征值;b为阀值。通过拉格朗日( Largrange)优化法将上式转化为对偶问题,如下式所示:
2 SVC聚类算法
在支持向量分类算法中,训练样本的优劣直接影响算法的训练速度和精度。本文通过对风电场的风机实测风速数据计算出Weibull近似分布函数,然后利用分布函数构造样本进行训练,同时通过遗传算法对支持向量机参数进行优化,得到风速数据分类,对每一类分组利用K-means找到聚类中心风速,最后得到等值模型。
2.1构造训练样本
构造训练样本分为两步:①通过总体风速数据构建样本;②对样本分类计算得到每类的标签。
2.1.1构建样本容量比a
通过风电场中的总体风速数据V求出Weibull分布中的尺度参数a和形状参数b.进而得到总体的Weibull分布函数F(v)。
假设风电场有Ⅳ台风机,风速的总体数据V=利用统计估计法,根据Weibull分布中尺度参数a、形状参数b与总体的平均风速v和方差S的关系计算出a和6,见式(4)和(5)。
由以上方程组可以求解得到尺度参数a和形状参数b,进而得到分布函数F(v)。最后在分布函数中随机抽取n=a.N个风速数据作为样本。采用随机抽取样本,而不是在总体数据中选择,是因为在总体数据中无法随机抽取到能够反映风速分布的样本,从而降低分类精度。
在独立同分布的随机抽样中,样本容量百分比a可以通过中心极限定理得到,风速总体为V.Vi为总体中的个体,数量为N,总体均值u=E(V),总体标准差为,总体方差,样本数为n,样本均值为。
数理统计的中心极限定理为
2.2支持向量机(SVM)参数寻优
本文中SVM使用径向基核函数(RBF),核函数的功能是将低维非线性数据映射到高维线性空间中,让数据能够线性可分=核函数中的gama决定海森矩阵的特征值,进而影响SVM中分类函数的最优表达:SVM中约束条件的满足程度用惩罚参数C表示,C越大代表约束条件越严格。这两个参数共同决定经过SVM训练后的最终分类函数。可以利用网格算法(GS)、遗传算法(GA)和粒子群算法(LSO)等对这两个参数进行迭代选优,本文通过遗传算法对参数进行寻优。
首先设定C和gama(以下简称g)的取值范围,将上文得到的样本带入遗传算法,以C和g作为优化目标,分类准确率为评价函数,通过支持向量机对C和g迭代,求出最优解。迭代过程的算法流程如图1所示。
2.3利用K-means&SVM对总体分类
将样本、样本标签、惩罚参数C和核参数g带人SVM程序构建分类函数,对总体风速数据进行计算得到风机分类,最后利用K-means算法计算每一类风机群的中心风速和风机数量。程序流程如图2所示。
3支持向量机聚类结果分析
本文选取新疆某风电场的实时数据,风电场中有33台双馈式感应风力发电机(DFIG),单机容量为1.5 MW,33台风机通过4条电缆连接到汇流母线,风电场出口为35 kV/110 kV变压器,风电场总额定输出有功功率为49.5 MW,仿真平台采用Simulink。风电场风机排列见图3,从实时数据中随机选取10组风电场风机风速数据,相对误差K取值为6%~9%,间隔为0.5%,聚类结果如表1所示。
从表1可以得出,样本容量比和分群数与相对误差成负相关,分群数的分界线在K为7%~7.5%。考虑到计算机仿真时间与分群数成正比.仿真精度与样本容量比成反比,假设K取7%时在精度和仿真时间这两个风电场分群的核心指标上能够取到最优,通过随机选取10组数据进行验证,见表2。
从表2可以得到,5群比4群仿真时间多46s,4群比3群仿真时间多22 s。当K取6.5%时,误差虽然比取7%时更小,但是样本训练时间增加,故验证以上假设,K取7%时最适宜。
4算例分析
本文中相对误差K取7%,风速数据采用同一天内每隔1h采样一次,总共采集到10 h的数据,风电场总有功功率和无功功率误差通过单机模型、支持向量机模型和K-means模型对比详细模型得到,图4为风电场10次仿真中有功功率输出的误差比较图。
从图4可以看出,传统单机模型的误差在10%以上.K-means模型的误差波动很大,最低为0.14%,最高为5.19%,而本文提出的支持向量机模型误差在1.3%以下,平均误差仅有0.754 %。通过数据验证了支持向量机模型能够准确表征静态风电场。
单机模型误差大的原因在于风电场中发电机的机头风速差异过大,无法用平均风速代表;K-means模型因为算法有缺陷,会导致局部收敛,所以误差波动很大。本文的算法在精度和误差收敛方面优于前两者。
为了验证支持向量机模型在动态扰动下也具有很高的等值精度,本文随机抽取一组风速数据.采用在阵风扰动下对比单机模型进行仿真。阵风风速为2 m/s,以3s开始到7s结束,持续4s,仿真结果如图5和图6所示。
从图5和图6可以看出,传统单机模型有功功率误差达到12.62%,无功功率误差达到
4.39%:K-means模型的有功功率误差为0.65%.无功功率误差为2.7%;而支持向量机模型有功功率误差仅为0.5%,无功功率误差为0.55%。支持向量机模型的聚类结果见表3。
从表3可以得到,当扰动达到最大时,支持向量机模型的有功功率误差只有0.22%,通过仿真验证了本文提出的支持向量机模型具有良好的动态响应,能够比传统单机模型和K-means模型更加精确地反映风电场的动态行为。
5结语
本文提出的支持向量机模型能够精确表征风电场的动态等值建模,因为采用风电场的实测风速进行聚类计算,所以避免对风电场进行尾流效应建模,能够适用于任何风电场:通过与传统单机模型和K-means模型进行算例对比,证明支持向量机模型能够实时对风速进行准确分群,有效降低仿真时间,同时等值精度能够达到99%以上。
6摘要:
风电场建模是研究风电并网技术的基础,找到一种能够精确反映风电场状态和大幅缩短仿真时间的模型是目前国内外学者的研究重点。文章基于统计学习理论的支持向量机算法,以风电场动态建模为目标,针对单机模型和K-means模型所产生的误差,提出一种基于风电场风速威布尔分布的支持向量机算法模型,并且利用实测数据和MATLAB/Simulink软件对算例进行仿真,风电场的有功功率和无功功率误差结果验证了该模型具有良好的动态性能,并且有效缩短了仿真时间。