杨国清,王文坤,王德意,刘世林,戚相成
(1.西安理工大学电气工程学院,西安 710048;2.西安市智慧能源重点实验室(西安理工大学),西安 710048)
随着风力发电技术发展以及风电装机容量不断扩大,双馈感应发电机被广泛应用在风力发电中;截至2020年底全国风电累计装机2.81 亿千瓦,装机占比高达12.8%,风电逐步由“辅助电源” 向“主力电源” 转变[1]。然而,由于风能本身的间歇性及不确定性使得风机出力具有较强波动性,当大规模风电并网后将会给电力系统运行、调度、计划发电等方面带来一系列不利影响[2-3]。超短期风电功率的准确预测是解决此问题的有效途径[4],其在电网经济调度、运行策略调整等方面发挥了较为关键的作用,同时也为电力市场交易提供了基础信息,利于保持系统实时功率平衡[5],对于电网安全、经济、稳定运行均具有重要意义[6-7]。
近几年,机器学习的快速发展及其在非线性系统控制方面的广泛应用为风电功率预测问题提供了新的解决方案[8-9]。人工智能和大数据的兴起也使得国内外大多研究学者在统计模型中采用人工智能算法建立风况信息与风电功率之间的非线性映射关系[10-12]。文献[13]~[15]提出相对成熟的卷积神经网络(convolutional neural networks,CNN)和循环神经网络(recurrent neural network,RNN),前者侧重于挖掘高维特征中的空间关联性,后者则侧重于挖掘序列信息的时间关联性。在RNN 的基础上还引申出了较为前沿的长短期记忆(long short-term memory,LSTM)人工神经网络,将此类算法用于功率预测,在预测精度上相较传统的人工神经网络略胜一筹。文献[16]和[17]提出一种基于集合经验模态分解和最小二乘支持向量机的组合预测模型,所采用的集合经验模态分解方法能够有效解决波形混叠现象。
目前风电功率的预测普遍采用仅考虑外部气象因素的静态预测方法,即多以数值天气预报(numerical weather prediction,NWP)数据作为模型输入[18],利用各类机器学习算法的非线性拟合能力实现风电功率的精准预测。然而由于风电场地理位置、地形及风机排布方式导致风机捕获的风能与NWP 数据之间存在一定的偏差,以及NWP 气象数据本身所存在的误差在一定程度上制约了风电功率预测精度。风速是影响风电功率大小最主要的因素[19],故推算风电机组所捕获的真实风能即风机状态是消除上述制约最有效的方法之一。但由于风机所处环境以及自身结构复杂,使得风机状态难以量化,对于风电功率的动态预测研究少之又少。如何高效精准地评估风机状态并将其应用到预测模型中成了一个需迫切解决的问题。文献[20]基于机器学习算法提出了一种数据驱动的预测框架,模型以涡轮机控制输入、流入风速和方向作为预测变量来预测风电场的功率输出和结构疲劳,有效提高了预测精度。文献[21]中分别采用AHP 和随机矩阵理论(random matrix theory,RMT)评估风机状态,提出一种计及风电场状态的动态功率预测模型;预测精度较不计风电场状态的模型有一定的提升,但仍存在以下问题:由于AHP 包含较多的人为主观因素导致评估模型的不合理[22-23],故其评估结果不能很好地追踪风机出力变化趋势;而随机矩阵理论存在适用性不确定、评估判据指标只有平均谱半径(mean spectral radius,MSR)、数据处理步骤复杂等不足[24-25],并不能普遍地应用到各类风电场。
针对目前研究现状,本文综合考虑风电场地形、风电机组排布及风机自身性能等多种因素,通过在传统AHP 评估模型中引入BP 算法构建BP-AHP 评估模型,由于BP 算法基于数据建模,使评估模型克服了AHP 模型包含较多人为主观因素的问题。进而基于BP-AHP 模型进行评估,并将结果引入功率预测,建立了计及风机状态的超短期风电功率动态预测模型,以期提高风电场功率预测精度。
风力机通过叶轮捕获风能、输出机械转矩,传动轴及齿轮箱将风力机的驱动作用传递给发电机提升转速[26]。因此,影响风电机组出力的因素主要有外部因素和内部因素两种:外部因素是指风速、风向等气象因素;内部因素是指风机状态即风机捕获风能以及将风能转化为电能的能力。因此在风速等气象因素引起风电功率波动的同时会导致风机状态发生不同变化,风机状态的改变将会使风电功率波动更加复杂。不同风机功率与风电场风速之间的关系如图1所示。
图1 风机出力对比图
由图1 可知,在采样点80~110 之间,当风速处于中等偏上时,18 号和19 号风机出现了不同的行为特征。19 号风机正常发电的同时18 号风机处于停机状态,此时风电场出力也发生了剧烈波动。说明各风机将风能转换为电能的能力即风机状态是不同的,并且是随时变化的。由此推断,风机状态在一定程度上影响风电场整体出力,能否准确评估风机状态将直接影响风电功率预测的精度。
风机在运行过程中产生的数据种类多,数据量大。从风机数据采集与监控(supervisory control and data acquisition,SCADA)系统导出的数据通常包括温度数据、风况数据、电网数据以及与偏航有关的数据等[27]。如何从众多的运行参量中选出能够表征风机运行状态的有效参量是至关重要的。下面从风机运行的实测数据出发分析各运行参量与风机出力之间的关系。
图2 反映了两台同型号风机的齿轮箱油温与发电机轴承温度的变化趋势。结合图1 可知,在采样点40~80 和采样点120~140 之间,两风机功率波动处于正常变化范围内,其齿轮箱油温以及发电机轴承温度的随机波动是平稳的。在采样点80~110 之间,当两风机功率发生不同幅度的变化时,两风机齿轮箱温度和电机轴承温度的平稳波动过程随之被打破,其中18 号风机各温度参数大幅下降,温度曲线呈锯齿状;19 号风机各温度参数也发生了一定程度的波动,但其波动幅度相对较小。
通过图1 和图2 的对比分析可知,在一般情况下这些温度参量保持在均值附近波动,这种随机波动是平稳的。若某一参量或者多个参量发生异常波动,则有理由怀疑风机系统状态发生变化。
综合对实测数据的分析结果可知,风机状态可由齿轮箱油温、偏航系统参数及轴承温度等多种运行参数表征;同时风机运行时其性能还受风电场风况以及电网侧因素的影响。因此,本文采用风机运行时SCADA 系统记录的各参数实测数据作为评估风机状态的数据源。
AHP 是一种定性与定量分析相结合的多准则决策方法,同时也是多目标、多判据系统综合评价方法。它将评估的目标、考虑的因素及各子因素按照它们之间的相互关系分为最高层、中间层和最低层,并将因素按不同层次凝聚组合,构建递阶层次结构模型如图3所示。
该模型进行系统综合评价时所要求解的是最底层各因素对于最高层目标的贡献权重,具体求解步骤如下:
步骤1:针对最底层及中间层诸多因素分别构建判断矩阵(以最底层为例),判断矩阵W中的元素wij表示i因素对于j因素的重要程度,其取值依照九分位比例尺表。
步骤2:判断矩阵一致性检验。
由于根据量表给出的判断结果具有主观性和模糊性,使得判断结果不可靠,因此需要根据式(2)计算一致性比例CR,当CR<0.1 时,认为矩阵A具有满意的一致性,否则需要重新修正判断矩阵。
式中,CI为一致性指标;n为矩阵阶数;λmax为判断矩阵的最大特征值;RI表示平均随机一致性指标,本文RI的取值通过表1 给出。
表1 随机一致性指标表
步骤3:调整判断矩阵。
若判断矩阵通过步骤2 的一致性检验,则通过判断矩阵求出的权重向量作为最底层各因素的相对权重。否则需对判断矩阵进行调整,直至满足一致性检验。
步骤4:计算贡献权重。
确定各层中每个因素之间的相对权重后,按照递阶层次结构对各层权重进行递阶相乘得到最终的贡献权重。
综上可知,采用AHP 确定最底层对于最高层贡献权重,在构建判断矩阵时难免会存在以下问题:一方面若状态参量数目较多,在选取和计算时将面临较为复杂的问题;另一方面若对各状态参量不甚了解,每个指标的确定不可避免的带有人为主观因素,不能客观的反映出每个指标对总目标的贡献大小。
针对上述AHP 评估方法存在的问题,为更加客观、合理的确定每个指标对总目标的贡献,本文在AHP 的多层次结构模型中引入BP 算法,并结合1.1节所确定的各项评估指标构建如图4所示的BP-AHP评估模型。
图4 BP-AHP 评估模型
BP-AHP 模型采用完全独立结构(即上层每一因素都有独立的下层要素)并以风机状态为评估目标。由于风电机组是工作在户外的旋转机械,并与区域电网关联,需考虑除风机运行参量以外的其他影响因素,因此选取风机性能与外界因素两大主因素以及它们对应的各子因素共同作为中间层指标。最底层指标则是中间层各指标所对应的具体参数,包含SCADA系统中记录的16 种参数。
BP-AHP 模型仍以最底层各因素对于最高层目标的贡献权重为求解目标。由于BP 算法是通过构建输入层与输出层之间的非线性映射关系,利用信号的前向传播和误差的反向传递确定各输入变量的权重,其具有以下两方面的优势:(1)相较于AHP 算法通过构建判断矩阵确定各因素的相对权重而言,BP 完全依托数据构建各输入与输出之间的映射关系,所确定的相对权重中不包含人为主观因素;(2)引入BP 算法能够实现对每台风机单独训练进而确定风机参数所对应的权重,相较于AHP 算法只能利用一台风机参数所对应的权重代替所有风电机组而言,引入BP 算法更能保证风电场各风电机组的独立性。利用AHP 和BP 分别对模型中间层、最底层所对应各因素的权重进行计算,进而求解最终贡献权重,计算步骤如下:
(1)依据1.2 中AHP 原理,计算中间各层相对权重向量,计算如下:
其中,wA为中间第一层风机性能与外界因素两个指标构成的判断矩阵;wB、wC为中间第二层所包含指标所构成的判断矩阵。
由于wA、wB只包含两个因素,故不存在一致性问题,无需检验。根据AwmC=λwmC,求得λmax=3.99,CI=0,选取RI=0.9,即可得CR= -0.0001<0.1;则wC满足条件。综上可知,wA、wB、wC矩阵均通过一致性检验,故wm1、wm2、wm3向量均可作为对应层的相对权重。
(2)针对于递阶层次模型最低层对于中间层的相对权重,采用BP 算法建立最低层各因素与总目标之间的映射关系,通过数据训练模型从而获取各因素相对权重。由于总目标风机状态待求,故可利用风机状态的相关量——功率作为目标,构建各因素与功率之间的映射关系。BP 算法模型如式(5)所示:
该BP 模型仅含输入层和输出层,其中xi表示第i个输入参量;wi为该输入参量对应的权重;y为风机功率;f为激活函数;m代表参数个数。
利用单台风电机组历史实测数据训练BP 神经网络模型,并以均方根误差(root mean square error,RMSE)为评价指标。按RMSE 值较小为优的原则确定最优模型,并从中获取各参量对应的权重。由于各参数与功率的相关性存在正负相关性之分,因此对权重进行归一化处理时依照式(6)保留权重的正负号,进而得到单台风机各运行参数相对的权重向量,作为BP-AHP 模型中最底层各指标相对权重。
(3)依照式(7)及BP-AHP 评估模型架构将BP 客观权重与AHP 主观权重递阶相乘得BP-AHP 模型中最底层各指标对于最高层目标的贡献权重wf。
最后,基于上述所确定的贡献权重,将风电机组各参数的实测数据与相对应的贡献权重相乘即实现单台风电机组的状态评估,如式(8)所示:
式中,xnT为风机在T时刻的第n个运行参量;T为时间点;n为参量个数;v为风机状态。
本文采用比较成熟的梯度提升算法XGBoost 构建输入输出的非线性映射关系如式(9)所示,并且在训练模型时使用网格搜索算法(Grid Search)确定模型的最优参数,以此建立效果较优的风电场超短期功率预测模型来验证本文所提方法的有效性。
XGBoost 模型是一种基于Boosting 的改进集成树模型[28],目标函数如式(10)所示。
该算法通过贪心策略和最优化思想集合若干弱分类器,在生成新树的同时拟合前棵树的残差,使模型损失函数下降,随着迭代次数的不断增加,预测精度显著提高。XGBoost 算法原理如图5所示。
图5 XGBoost 算法原理图
为提升风电功率预测的精准度,根据本文所提BP-AHP 评估模型所评估出的风机状态构建一种动态的预测模型,该模型在原有静态模型的基础上引入风机状态这一输入变量,能准确的反映风电机组出力状态。由于风机为转动机械,因此可假设风电场状态在一定时间范围内具有持续性,即风电场状态具有短时不变性,故模型以当前t时刻的风电场状态、功率以及t+1 时刻的风况数据为输入预测t+1 时刻的功率。动态预测模型如式(11)所示。
式中,nwp(t+1)、p(t+1)分别为t+1 时刻天气预报信息和风电场的预测功率;fDT表示输入输出的非线性关系;p(t)为t时刻风电场的功率;v(t)为当前t时刻风电场状态。
本文采用西北某风电场数据进行算例分析,该风场装机容量49.5MW,单台风机额定容量1.5MW,风机数量为33 台,风电机组排布如图6所示。选取2020年5月1日至8月1日共12960 个采样点的运行数据,时间分辨率为10min,并结合相应气象站所采集的气象数据为例分析验证本文所建模型。
图6 风电机组排布图
基于数据驱动的风电功率预测研究中,准确的风电机组运行数据与气象数据是进行功率预测的前提和基础。但由于风电场在实际运营中常包含因限电、异常停机、记录仪故障、通信设备异常等外在因素导致实测数据中产生较高比例的异常运行数据[27],弱化了各参数间的相关性,使得模型的拟合能力变差,严重影响预测的精度。因此,为避免数据误差所带来的影响,同时满足模型输入要求,有必要对实验数据进行清洗、重构,以此提高风电功率预测模型的准确性与适应性。本文采用统计学中的3-sigma 原则检测异常数据,如式(12)所示。识别异常数据后依照如图7所示的数据重构原理流程对原始数据进行重构得到训练数据。训练数据包含10716 个样本,将其中的9000个样本作为训练集,1000 个作为验证,剩余部分用于预测。
由于气候、地形及机组排布等因素综合作用,各参数表征各机组状态的程度不同,同一种参数对不同的机组影响程度可能存在较大差异。若单纯地以单一某台风电机组的贡献权重代表风电场所有机组参数权重水平,将难以保证各风机的独立性,不能反映各风机真实出力状态。因此,针对风电场所有风电机组均采用BP-AHP 评估模型,计算得到33 台风机的贡献权重见表2(表中A,B,…,P字母代表BP-AHP 模型最底层所对应的16 个参数)。进而可得各风机状态,最后以33 台风电机组状态取均值作为风电场状态,风电场状态评估具体流程如图8所示。
图8 风电场状态评估流程
基于BP-AHP 所评估的风电场状态与风电场功率之间的关系如图9所示。
图9 风电场状态与功率对比图
不难看出,两曲线整体变化趋势相似,结合图1分析可知在第80 个采样点处,风场部分风电机组由于接收风速大于切出风速出现自动停机,这一过程导致风电场状态急剧下降,风电场功率随之呈现下降趋势。为验证风电场功率与状态之间的相关性,引入Pearson 相关系数衡量二者之间的线性关系,相关系数rxy的取值范围为-1~1,当rxy取值的绝对值越大表征相关程度越高。根据式(13)计算得到风电场功率与状态的相关系数rxy=0.789,属于强相关。由此可认为利用BP-AHP 模型评估的风电场状态能够较好地反映风电场真实出力状态,可以将评估结果引入风机功率预测模型中。
根据是否考虑风电场状态这一因素以及评估风机状态的方法,将预测模型分为不计风电场状态的XGBoost模型和计及风电场状态的BP-AHP-XGBoost 模型与AHP-XGBoost 模型。训练模型时损失函数随迭代次数下降的趋势图如图10所示。从图中可以看出,基于BP-AHP-XGBoost 的功率预测模型在一定程度上能够有效避免模型训练时出现过拟合,即可认为风电场状态这一变量是有助于提升风电功率预测模型的精度。
图10 模型损失函数变化趋势图
为了进一步验证本文所提方法在预测精度上的优越性,分别对BP-AHP-XGBoost 模型、XGBoost 模型、AHP-XGBoost 模型进行风电功率超短期预测,预测结果如图11所示。从图中不难看出,计及风电场状态的BP-AHP-XGBoost 模型预测精度明显高于其他两种模型。
图11 风电场功率预测结果
上述3 种预测模型在功率上升、功率下降和功率波动不同出力场景下的预测结果如图12所示,不计风电场状态的XGBoost 模型在任一场景都存在明显的预测偏差;在功率上升阶段,BP-AHP-XGBoost 与AHP-XGBoost 模型整体上相差不大,仅在个别点存在偏差;在功率下降阶段及功率波动阶段,计及状态的BP-AHP-XGBoost 预测模型仍保持较小的预测偏差,但AHP-XGBoost 模型的预测性能却明显低于在功率上升阶段的预测性能。这也从侧面印证了本文所提方法的有效性,BP-AHP-XGBoost 预测模型面临风电场状态各种变化时总能保持较高的预测精度,将误差控制在合理范围之内。
为更直观地比较三种模型的预测效果,选用平均绝对误差(mean absolute error,MAE)、均方根误差(root mean square error,RMSE)[29]及确定系数(Rsquared,R2)用以评估各预测模型,R2值越接近1 则模型预测性能越好[30]。各指标定义如式(14)~(16)所示。
各种预测模型的预测误差见表3,在计及风电场状态的情况下,BP-AHP-XGB 模型相较于AHP-XGB模型在MAE、RMSE 指标上分别降低了0.7615MW、0.5609MW;在R2模型拟合度方面提升了3.43%;表明利用BP-AHP 模型评估的风电场状态与风电场真实出力状态最接近。BP-AHP-XGB 模型相较于不计状态的XGB 模型在预测精度上也有较大幅度的提升。
表3 预测结果误差分析
综上所述,风电场出力受风机状态的影响较大,而且不同评估方法所对应预测模型的结果不同,表明计及风机状态的预测模型精准度在一定程度上也依赖于风机状态的精准评估,也从侧面印证了BP-AHP 评估模型的有效性。结合图1、9、11 分析可知,当风况不稳定导致各风机状态出现不同变化时,BP-AHP评估模型的预测精度明显优于不计及状态的预测模型。这说明在任何风况下本文所提预测模型均能保持较高的精准度,具有较强的鲁棒性,能有效提高风电功率整体的预测精度。
本文针对仅考虑气象因素的传统预测模型精度不足的问题,提出一种基于BP-AHP-XGBoost 的动态预测模型,通过算例分析验证了该动态模型的可行性与优越性,得出以下结论:
(1)融合了BP 算法特点和AHP 结构模型的BPAHP 评估模型能更准确地评估单台风电机组状态,相较于单独的AHP 模型可以更好地反映风电场真实出力状态。
(2)针对于传统静态预测模型不考虑风机状态导致预测精度不足的问题,将BP-AHP 模型的评估结果应用到功率预测模型中构建一种BP-AHP-XGBoost 动态预测模型,该模型适应性较强能够在较复杂风况下保持较高的预测精度;相较于传统静态预测模型在MAE、RMSE 误差指标上分别降低了1.4497MW、1.7921MW,使风电场整体预测的精度提高8.98%,在风电功率超短期预测方面有较高的应用价值。