APP下载

基于DBN和多元线性回归的风电功率预测

2023-07-29李芷萱

计算机仿真 2023年6期
关键词:电功率风向风电场

石 慧,李芷萱,马 旭

(太原科技大学电子信息工程学院,山西 太原 030024)

1 引言

风能是一种具有规模化开发条件的清洁可再生能源,而风能的间歇性、随机性和波动性对其发展产生了极大的影响。风电输出功率的预测有利于降低发电成本,提高电能质量与发电效率,有非常重要的研究意义和使用价值。

目前风电功率的预测方法主要有以下几类:数据归一化、功率曲线、功率矩阵等。戚双斌等[1]在预测风速和功率时采用功率曲线来建模。典型的风机功率曲线只考虑风速和功率的转换关系,样本数据种类过于单一。茆美琴等[2]提出EEMD-SVM的方法预测光伏电站短期功率预测。数据归一化通常采用的变量类型较多,受设备工作条件、气象情况等因素的影响,不同变量互相干扰,容易增加预测误差。柯拥勤[3]采用风速、风向的功率矩阵建模,但功率矩阵的数据不具有普遍性,不适用于其它风电场,因此这种方法会对功率预测误差有影响。多元线性回归(Multiple linear regression,MLR)通过建立最优方程可以计算分析关于每个自变量对因变量映射的相对关联度和拟合程度,可以很好的分析不同因素对功率的影响关系[4]。Schaffrin B[5]提出加权最小二乘对MLR的调整方法。王惠文等[6]将MLR建模进行预测和分析。彭鹏等[7]运用MLR对电力负荷预测做了大量的研究。因此本文采用MLR对影响功率的风速和风向进行相关性分析。此外,预测风电功率的方法还包括高斯分布模型[8]、柯西分布模型[9]、分位数回归模型[10]等,这些模型建立都需要大量的风电历史数据,在部分数据缺失和一些新风电场的数据量较少的情况下,对风电功率的预测并不能得到更为准确的值。

上述方法通常采用浅层模型作为预测方法,复杂的系统使用时预测精度有所下降。研究证明,深度学习能够比浅层模型更好的提取数据序列深层非线性特征。当前,已经用于风电功率预测的神经网络模型有支持向量机[11],局部递归神经网络[12],RBF神经网络[13],BP神经网络[14]等。相比于其它的神经网络,深度置信网络(DBN)的非线性映射特征提取能力更适合用于预测风速、风向和功率等复杂特征的时序数列。Sanam Narejo等[15]通过构造一个六层的DBN模型来对风速进行精确预测,并通过DBN的特征提取功能获取到了非线性趋势等重要样本,最终取得不错的预测效果。唐振浩等[16]在DBN网络中插入了小波变换算法,实验证明可以提高风速预测的准确性。Tao Yubo等[17]使用DBN算法提取风电场历史运行数据中的样本特征,同时也通过DBN模型研究了其它干扰因素对预测结果的影响。以上方法证明了DBN可以很好的进行风速的预测,但是要适应电力系统的并网发展要求,还需要对影响功率因素的风向、风机系数等因素进行综合考虑。

为此,本文以风电场历史原始数据为对象,对风速、风向和功率预测方法进行了研究,提出一种结合深度置信网络(DBN)和多元线性回归(MLR)的风电功率预测新方法。首先以风电场风速、风向为自变量,以功率为因变量,建立最优MLR方程,然后在DBN的最顶层加入最优MLR构建预测模型,输入风速和对应的风向数据通过预测模型计算出未来的功率值。根据MLR的映射关系和DBN的预测可以更好的拟合风电能量变换过程,得到风速、风向和功率的预测值,从而实现对风力发电机组的数据预测。

2 深度置信网络模型

2.1 深度置信网络的结构

DBN网络由多个受限玻尔兹曼机(RBM)叠加构成,前一个RBM的隐层同时这也是后一个RBM的输入层。网络训练分为两个阶段:分层预训练阶段,采用前向传播从最底层开始逐层训练;监督微调阶段,利用BP算法计算网络误差,从顶层到底层调节参数,求取整个网络模型的最优解。本文采用的DBN网络在最顶层添加最优MLR方程进行计算,并在监督微调阶段进行训练达到最优。

2.2 受限玻尔兹曼机的结构

RBM通过可见层接收最底层(或者前一个隐层)传送过来的数据向量,输入向量通过激活函数变换到隐含层,经过训练使得内部能量函数达到最小值。给定可见单位vi、隐藏单位hi及其连接权值Wij(大小为nvnh),以及vi的偏移ai和hi的偏置权值bj,定义能量函数E(v,h)为

(1)

通过能量函数E(v,h)的计算,得出隐藏层和可见层的概率分布P(v,h)为式(2)(3),Z为归一化因子

(2)

P(v,h)=e-E(v,h)/Z

(3)

观测数据v的概率分布Pθ(v),它对应Pθ(v,h)的边缘分布,也称为似然函数,如式(4)所示。式(5)表示在h中去掉分量hk后得到的向量,并代入式(6)(7)。

(4)

h-k=(h1,h2,…,hk-1,hk+1,…,hnh)T

(5)

(6)

(7)

能量函数简化为式(8),可以得到求解出似然函数为式(9)(10)

E(v,h)=-β(v,h-k)-hkαk(v)

(8)

P(hk=1|v)=P(hk=1|h-k,v)

(9)

(10)

RBM的激活概率公式为sigmoid函数,此函数在(-∞,+∞)函数值始终在0到1之间,可以计算出相应节点的激活概率。当已知可见层(或隐藏层)所有神经单元是否被激活后,可以推出隐藏层(或可见层)神经元的激活概率,即计算P(hk=1|v)和P(vk=1|h)。未知的RBM参数W,a,b可以通过无监督学习确定,如2.3节所述。

2.3 深度置信网络的训练

DBN的训练过程包括分层预训练过程和微调过程。分层预训练过程用于为所有参数提供良好的初值,微调过程通过假定神经网络的最初状态来找寻最优解。前者需要对神经网络采取逐层分别计算的方法,即每次对独立的RBM进行预训练,其相关参数为W,a,b(W连接权值,vi的偏移ai和hi的偏置权值bj)。对联合概率P(v,h)的求解根本上是求出W,a,b的值。解出数据采样的极大似然,就能让RBM网络表示的联合概率P(v,h)和数据自身隐藏的内在联系最为相似。因此,目标函数为

(11)

其中θ属于{W,a,b},S为训练数据集。采用梯度上升算法求得RBM中的参数W,a,b的初值,具体如下

(12)

(13)

(14)

式(12)-(14)为只含单一训练样本时各偏导数的计算公式,而对于含有n个样本的公式第一项可以使用训练数据集上的数据计算。但是式(12)-(14)中关于Σ的计算复杂度是O(2nv+nh),第二项的计算过程十分复杂。对于这种任意的分布,可以采用马尔可夫链蒙特卡罗方法(Markov Chain Monte Carlo,MCMC),如使用Gibbs采样方法来采样,并用样本数据对Σ的值进行估计。

Hinton等提出了对比散度(Contrastive Divergence,CD)算法,通过在训练样本开始阶段调整MCMC的状态,只需要很少次的状态转移就能够达到目标。本文采用k步CD算法来进行计算,CD-k算法步骤具体可描述为:

1)利用P(h|v(t-1))采样出h(t-1);

2)利用P(v|h(t-1))采用出v(t);

(15)

(16)

(17)

(18)

(19)

实验结果表明,即使k=1,CD算法也能很好地识别模型。本研究采用CD-1进行采样。因此,参数W,a,b的更新规则可由式(12)-(19)推导得到,上标t表示时间步长,η为学习率。

Wt+1=Wt+η(P(h|v(0))[v(0)]T-P(h|v(1))[v(1)]T)

(20)

at+1=at+η(v(0)-v(1))

(21)

bt+1=bt+η(P(h|v(0))-P(h|v(1)))

(22)

DBN中的所有参数都是基于分层的预训练方法进行适当初始化,同时监督学习并更新,使得DBN产生最小的损失函数。由于反向传播算法(Back Propagation,BP)算法的有效性和高效性,本文使用BP算法进行微调,激活函数是sigmod函数,采用误差平方和作为性能评价指标,学习规则采用最速梯度下降法。在微调过程中,BP采用周期性地自顶向下的学习方式。每个周期结束后相应参数全部要更新,从而降低预测结果的误差率。接下来对训练集的误差进行反向传播,更新调整DBN的参数为最优结果。经过一定的BP训练周期后,可以对所有参数寻求最优状态,从而完成了DBN的训练过程,如图1所示。

图1 DBN训练流程图

3 多元线性回归模型

相同风速下,风电机组的功率仍然会在区间内波动,这是因为风机的周围环境参数有所不同,特别是风向的变化会对稳定运行的系统产生较大的影响。为了研究风向与功率的联系,本文采用多元线性回归(MLR)对风速、风向和功率建立三元映射模型。多元线性回归通常用来研究输出与不同输入的相关程度,本文中输入为风速和风向,输出为相应的输出功率。建立的多元线性回归模型为

(23)

其中因变量y为功率,x1为风速的数据,x2为风向的数据,βi为对应的回归系数。通过引用概率密度函数把回归问题转变为概率问题

(24)

因此求回归系数βi就是解出全部概率密度函数的最大乘积结果

(25)

(26)

采用最小二乘法求解回归系数β。其最小二乘矩阵表达式为

(27)

展开矩阵函数并对其求导等于0

(28)

求的解析解为

θ=(XTX)-1XTY=[β0,β1,β2]

(29)

根据前面的描述,基于风速、风向和功率的多元线性回归分析除了需要预测即将到来的风速数据,还需要预测风向数据,才能根据多元线性回归得出功率映射关系。风电功率的预测方法与风速的预测方法相同,即基于深度置信网络的模型预测方法。在多元线性回归模型中代入预测的风速、风向结果,从而计算出风电输出功率的预测值。

4 基于DBN和MLR的功率预测模型

本文将功率预测模型的建立分为以下三步:第一是将历史原始风速和风向数据分别输入到DBN中进行分层预训练。第二是求解最优MLR方程,将MLR方程放置于预训练好的DBN最顶层,通过监督微调过程使DBN模型参数达到最优。第三是将历史风速和风向数据分别输入微调好的DBN网络。通过DBN网络可以得到风速和风向的预测值,最后MLR最优方程可以计算出风电机组输出功率的预测结果。提出的风电功率预测方法是DBN和MLR算法的结合模型,模型的输入是风速数据序列和风向数据序列。DBN的训练过程首先将参数随机初始化,然后优化所有的参数直至收敛。利用JetBrains PyCharm实现所开发的风电功率预测模型,风电功率预测流程图如图2所示。

图2 风电功率预测流程图

5 实验结果与分析

5.1 数据描述

数据取自我国风电场风电机组实际运行时收集到的历史风速、风向和功率数据,采样时间分别为30秒和10分钟,选取1000个样本点的数据,数据覆盖了2016年7月到2017年2月的时间段。在每个季节,将采集到的风速、风向数据分为训练数据集和测试数据集。训练集涵盖每月1日至20日,其余数据构成测试数据集。

5.2 评价指标

选取4个函数对预测的风电风速、风向和功率评估指标,具体计算公式如下:

1)相关系数R(Correlation Coefficient):

(30)

2)测定系数R2:

(31)

3)均方误差(Mean Square Error,MSE):

(32)

4)均方根误差(RMES):

(33)

5.3 多元线性回归分析结果

分别对采样时间为30秒和10分钟的原始风速、风向和功率数据进行多元线性回归分析,将风速和风向作为输入变量X,功率作输出变量Y,样本数量为1000。通过模型汇总计算,回归方程拟合的结果如表1所示。

表1 多元线性回归结果统计

在观测值不变的同类数据拟合下,相关系数R为0.95表示极高的正相关关系,测定系数均大于0.902显示出较高的拟合度。根据结果可知,风速的回归系数远远大于风向的回归系数,因此功率的预测主要影响因素是当时的风速值,风向值影响相对较小。

对多元线性回归建模的误差分析如表2所示。随着采样时间的增加,虽然整体拟合效果更好,但回归系数均有波动,回归系数越大,对功率的影响越大,对应的RMES波动越大,容易影响预测精度。

表2 均方根误差比较

从上述计算过程中数据得到分析统计表,可见风速、风向和功率建模符合基本假设,因此模型设定是有效的。根据回归模型可知,风速和风向对功率具有明显的正向相关性影响,且风速的正向影响更加突出。

5.4 深度置信网络预测结果分析

利用JetBrains PyCharm平台对风电功率预测模型进行预测。预测结果图中蓝色线为真实数据,黄色线为拟合数据,绿色线为预测数据,样本数量为1000,预测步长为100。损失函数图采用最高迭代240次的预测结果进行显示。以下给出了风电场在采样时间为30秒和10分钟的典型风速预测结果。其中,图3图4为风电场的实测风速、拟合风速和预测风速的对比结果图。横坐标为样本数量,纵坐标为风速大小。从预测结果可以看出,风电场在前期的实际风速变化大体较为平缓,能较好地实现对风速的预测,但在风速变化剧烈时,预测效果有所下降,但均能很好地反映大体风速的变化。

图3 采样时间30s的风速预测结果

图4 采样时间10min的风速预测结果

由表3可知,在240次迭代过程中,loss函数值逐渐减少并稳定。30秒采样时间预测的风速loss函数值和MSE值均比10分钟预测的值更大。用式(32)评价预测结果的均方误差MSE均小于0.466,预测精度较高。因此可知,采样时间并不是越小越好,10分钟的采样时间的误差更小,拟合程度更好,预测风速也更加精准。当采样时间过小时,短期预测难以预测局部风速风向波动,导致预测误差也随之增大。

表3 风速预测性能指标比较

根据前面的描述,基于风速、风向的DBN建模预测功率,要求计算风速和风向两个参数的预测值后通过多元线性分析模型得到功率。图5、图6是采用DBN模型得到的相对应的风向预测结果。

图5 采样时间30s的风向预测结果

图6 采样时间10min的风向预测结果

由于风向数据比风速数据的波动区间更大,可从表4得知loss函数和MSE值均增大。采样时间为10分钟的预测数据的loss函数和MSE值相对较小,预测风向的效果更好。

表4 风向预测性能指标比较

表5 风电功率预测性能指标比较

在DBN网络中将MLR作为逻辑回归层进行运算,输入为风速和风向,输出为预测的功率,结果如图所示。图7图8给出了风电场输出功率预测的不同情况。图7中平均采样时间较小,数据中的变化较多,预测误差容易增大,预测曲线基本与实际曲线的趋势一致;图8中在预测的平稳波动内预测误差较小,但风电场输出功率在突然发生明显变化时,预测误差变大。随着采样时间的增加,功率预测误差减少,但预测细节更少,预测整体表现较好。

图7 采样时间30s的风电功率预测结果

图8 采样时间10min的风电功率预测结果

多元线性回归后预测的功率会受到风速预测和风向预测所带来的误差影响,所以功率预测的拟合情况较好但误差更大。减少风速和风向的误差可以有效的减少功率的误差影响。

由以上结果分析可知,通过DBN和MLR的模型预测的风电功率能够很好的拟合功率的变化,输出功率相对稳定时,功率预测的误差小,预测曲线类似于实际风机功率的产出曲线。均方误差MSE在10分钟采样的预测效果较好,整体误差较小。风机功率的预测结果大体上满足预测需求。

为了验证所提出算法的有效性,分别采用风电场数据进行建模实验,对比不同算法的建模精度。算法一[18]结合人工鱼群算法(AFSA)和支持向量机(SVM)对风电功率进行预测。算法二[19]基于数学形态学聚类(CA)与果蝇优化算法(FFOA)相结合。算法三[20]基于多位置NWP与主成分分析(PCA)进行研究。算法四为本文提出的DBN和MLR预测模型。实验结果如表6所示。

表6 不同模型实验结果对比

从表6中可以看出,基于DBN和MLR的模型预测误差最小,MSE和RMSE分别为风电场输出功率的36.66%和6.06%,整体预测结果都要优于其它几种方法,尤其在均方误差MSE中,误差值明显降低。

6 结论

风电功率预测是保持电网稳定性的重要因素。本文提出了DBN融合MLR的预测模型,

对采集到的风电场的风速、风向和功率数据进行深度特征提取,分别对其进行回归预测并进行实验验证。验证结果表明,基于DBN和MLR的功率预测模型能较好地拟合风能的变化趋势,既可以充分挖掘历史数据减少误差,又可以优化功率曲线建模,在一定程度上能提高风速、风向对功率预测时的预测精度。本文提供的风电功率预测模型可以适用于风电场功率预测,为电网运行调度增加选择方案和参考依据。

猜你喜欢

电功率风向风电场
基于PCC-CNN-GRU的短期风电功率预测
轻松上手电功率
你会计算电功率吗
解读电功率
基于PSS/E的风电场建模与动态分析
含风电场电力系统的潮流计算
行业统计带来哪些风向?
探求风电场的远景
风向
代力吉风电场的我们