APP下载

基于FEEMD-PACF-BP_AdaBoost模型的风电功率超短期预测

2021-11-15蒲娴怡毕贵红

计算机应用与软件 2021年11期
关键词:电功率分量神经网络

蒲娴怡 毕贵红 王 凯 高 晗

(昆明理工大学电力工程学院 云南 昆明 650500)

0 引 言

风力发电在受到越来越多的重视的同时,它所特有的随机性、不确定性和间歇性,依旧给电力系统安全稳定运行带来危害。因此,对风电功率进行准确预测变得极为重要。风电场风能预测对电力系统的相关设备安全、功率平衡及经济调度具有极其紧要的意义,是风电安全并网、设备防护、高效利用的重要保障措施。风电功率预测技术也随着需求和实际情况在逐步改善优化[1-3]。

文献[4]提出一种基于自适应噪声完整集成经验模态分解(CEEMDAN)-模糊熵(FE)的核极限学习机(KELM)组合预测的方法,在同等条件下与KELM方法进行对比,显著地提高了预测精度。文献[5]为解决风电功率时间序列中的混沌问题, 提出一种基于集成经验模态分解(Ensemble Empirical Mode Decomposition,EEMD)-近似熵和回声状态网络(ESN)的风电功率混沌时间序列组合预测模型,为风电功率短期预测提供了新的参考。采用某风电场的实际功率数据进行分析预测,预测结果验证了所提方法的正确性和有效性。文献[6]提出一种基于集合经验模态分解(EEMD)和深浅层学习组合的短期风电功率预测方法,建立 EEMD-SAE-BP预测模型。即先用EEMD将风电功率分解为几个数据变化不太复杂的分量,用SAE预测IMF分量中的高频分量,用BP神经网络预测低频分量,叠加序列的预测结果得到最终的预测结果,具有较高的实用价值。

为了考虑对输入变量的选择且改进EEMD分解时间冗长和BP单一模型的预测精度低的问题且采用分解集成模型预测能有效提高预测精度[7-8],本文提出了一种基于FEEMD分解样本熵重构和BP神经网络集成的风电功率预测模型。首先把原始风电功率数据利用FEEMD分解为特征互异的固有模态函数(IMF),得到几个IMF分量和余量,在FEEMD分解过程中采用样本熵计算各分量的熵值进行重构,再利用PACF确定输入变量的长度。通过神经网络分别对各个分量和余量进行预测,叠加各分量的预测结果即为最终预测结果,以降低各IMF分量预测的计算规模。在建立BP预测模型时加入AdaBoost算法选择加权后的训练数据来代替随机选取的训练样本,将得到的多个弱预测器组成新的强预测器,提高预测精度。

1 算法原理

1.1 FEEMD算法

实际中的大多数信号是非稳定信号,为此Huang等[9]提出EMD来处理这种非稳定的信号,EMD是信号处理上的一个重大突破。但是非稳定信号的极值点分布不均匀会在EMD分解的过程中产生严重的模态混叠现象问题。模态混叠会使临近的两个IMF分量波形混叠在一起,无法辨认,致使分解出的IMF分量没有意义。因此,常鹏等[10-11]提出了一种EMD的改进方法——EEMD,通过在不同的序列中多次添加强度相同的白噪声,使有缺失的信号得到补充,并且对产生的新信号进行分解,在本质上使模态混叠问题得到了解决。但迭代过程中此方法需要进行多次迭代,对IMF分量的筛选是一个耗时费力的过程,这就导致了这种算法的实时性不好。而且各IMF分量在EEMD分解中都会混入许多的特定尺度下的噪声成分,如果把某个尺度的IMF分量直接完全滤掉,则有很大的可能会在去除噪声成分时把一些有用的成分也一起滤掉,会对后续信号分析的准确性造成一定的影响。

FEEMD[12]是EEMD的快速实现方式,原理与EEMD相同。本文将使用FEEMD的方法来分解,通过减少取样来降低计算时间,处理速度更快,提高 EEMD 算法执行效率。文献[13]验证了FEEMD是一种有效的数据处理技术,能很好地对信号进行降噪。

本文采用快速集合经验模态分解(FEEMD)的方法将一个复杂的、非平稳的时间序列信号X(i)分解成有限个IMF和一个剩余分量R,在保证了有效信号的完整性的前提下去除了信号的噪声。此方法的具体步骤如下:

(1) 求取时间序列数据Xi(t)的极大值与极小值。

(2) 采取适当方法(例如三次样条插值法)可以获得上下包络线Ui(t)和Li(t),得到下式:

Ui(t)≥Xi(t)≥Li(t)t∈[ta,tb]

(1)

(3) 求出上下包络线Xi(t)的均值mi(t):

(2)

(4) 提取出信号的局部细节信息,即求出Xi(t)与mi(t)的差值:

hi=Xi(t)-mi(t)

(3)

对hi(t)判断是否满足如下条件:① 点的个数与序列过零点的个数是否相等或相差为1;② 在任意的时刻点,上下包络线的平均值是否为0。若满足以上条件则继续,否则返回第(1)步。

(5) 计算剩余数据ri(t):

ri(t)=Xi(t)-hi(t)

(4)

(6) 重复进行上述步骤可以获取N个IMF分量,直到满足下式时停止分解。

(5)

式中:M为筛选次数;n为样本数。

综上所述,得到原始信号为:

(6)

式中:N为被分解出来的IMF的总个数。

1.2 样本熵

近似熵[14]可以对一个序列的复杂性进行度量分析。虽然少量的数据就可得到相对稳定的数值,但是近似熵的计算会产生偏差,同时近似熵的一致性较差。所以,Richman等[15]提出了精度更好的样本熵。样本熵是一种在近似熵的基础上改进的时间序列复杂性的度量方法。与近似熵相比,样本熵不但具有近似熵的所有优点,还具有对数据长度的依赖性减小、抗噪声和干扰能力增强、在大的取值范围内参数一致性好等特点,更有效避免了统计量的不一致性。

假设原始数据序列为:x(1),x(2),…,x(N),采样点一共有N个,以下是样本熵的计算步骤:

(1) 将故障信号维数设为m,把原始信号的数据组成m维向量,表示为:

xm(i)=[x(i),x(i+1),…,x(i+m+1)]i=1,2,…,N-m+1

(7)

(2) 计算x(i)与x(j)之间的距离:

k=0,1,…,m-1

(8)

(3)设定阈值为r,求解所有i的平均值:

(9)

(4) 再重构一个维数m+1,重复步骤(1)-步骤(3),可以得到Bm-1(r)。

(5) 假设N为有限数据值,则故障信号的样本熵的计算式如下:

(10)

1.3 BP神经网络集成结构

BP神经网络属于多层前馈式神经网络,它的基本思想就是根据梯度下降法不断更新,训练方式是信号向前传递,误差反向传播,以最小化的均方误差为目标不断修改网络直到输出精度满足要求。BP神经网络经典的三层拓扑结构,由输入层、隐含层、输出层构成,隐含层介于输入层和输出层之间,如图1所示。其中X1,X2,…,Xp是网络输入层各神经元的输入值,隐含层可以由多层构成,Y1、Y2、…、Yq为神经网络的输出值。

图1 BP神经网络拓扑结构

但标准的BP神经网络容易造成局部极小而得不到全局最优值的结果。训练次数多反而使得学习效率低,收敛速度慢,出现过拟合问题,使测试误差上升。针对单一BP神经网络预测精度和泛化能力低的缺点,提出基于BP-AdaBoost方法的预测方法。

AdaBoost算法是经典Boosting算法的一种改进形式,经过近几年的改进此算法也被广泛的应用到了预测问题上[16]。本文主要是通过把BP神经网络作为弱预测器从初始训练集中合并多个“弱”预测器的数据输出以方便产生有效预测,多次训练通过误差分析调整BP神经网络预测样本输出,通过AdaBoost算法集成得到多个BP神经网络弱预测器组成的强预测器。预测步骤如下:

(1) 对样本数据进行选择。从样本数据中选择m组为训练样本,n组为测试样本。

(2) 数据进行归一化处理。由于原始数据级不同,如果直接输入到弱分类器中,数值大的输入变量将会对输出导致较大的影响,而数值小的输入变量将会对输出产生较小的影响。数据归一化处理就是为了使这种不平衡性得到统一。

(3) 初始化数据。根据样本数据的输入输出的维数以及分布权重确定神经网络的结构,初始BP神经网络的权重和阈值。

(4) 弱预测器预测。训练第t个弱预测器时,用训练数据训练BP神经网络并且预测训练数据的输出,得到弱预测器的预测误差和et。误差和et的计算式为:

i=1,2,…,mt=1,2,…,T

(11)

式中:T为弱预测器的个数,本文中T=10。

(5) 弱预测器的权重调整。根据式(12)的算法来更新训练样本的权值,并赋予较大误差的训练个体权重更大,在下一次迭代时更加关注这些训练个体。

(12)

计算弱预测器权重。根据弱预测器的预测误差e(t)计算弱预测器的权重at,权重计算公式为:

(13)

(6) 强预测器预测。训练T轮后,使用测试数据进行预测,得到T个弱预测器的输出y(t),则强预测器的预测结果输出:

(14)

BP-AdaBoost预测模型如图2所示。

图2 BP-AdaBoost预测模型

2 基于FEEMD-PACF-BP-AdaBoost预测模型

基于FEEMD-PACF-BP-AdaBoost的超短期风电功率预测模型实现流程如图3所示。

图3 风电功率预测模型

FEEMD-BP-PACF-AdaBoost算法的主要步骤如下:

(1) 采用FEEMD算法将原始风电功率序列分解为7个IMF子序列和余量。

(2) 结合样本熵与分量曲线综合评价,将得到的分量进行重构。

(3) 自相关分析与建模,采用PACF计算相关程度,为每个IMF子序列确定输入的变量,建立BP-AdaBoost模型,单步滚动输出当前IMF分量的预测值。

(4) 结果叠加,汇总各分量预测结果进行综合评价。

3 实验与结果分析

以某一风电场实际采集的数据为算例,选取2019年9月1日到11日,风电功率的采样间隔为10 min,一共1 464个数据。将前十天的数据共1 440个点作为训练集,用于模型训练,取每24个数据(即4 h)为一组作为训练输入,共60组,来训练神经网络,最后一组24个数据作为预测对比数据。

3.1 数据预处理及误差评价

(15)

为了评价建立的风电功率预测模型,将预测序列和实际序列做数据对比,选取三个统计量:平均绝对误差(MAE)、平均绝对百分比误差(MAPE)和均方根误差(RMSE)。数值越小,则说明预测值与实际值越接近,模型的预测效果越好。

计算表达式如下:

平均绝对误差(MAE):

(16)

平均绝对百分比误差(MAPE):

(17)

均方根误差(RMSE):

(18)

3.2 FEEMD分解

风电场实测风电功率数据进行分析,以每10 min为一个采样点进行采样,共采样了1 464个点。FEEMD参数设置为:加入了实验次数NE=100组的白噪声信号,添加的白噪声标准偏差设置为0.2。把模态分量按高频到低频进行分布,高频分量一般认为是对风速的随机性影响因素;低频分量一般认为是对风速的周期性影响因素;较低频率的分量一般认为具有趋向性,它反映了原始风速的长期趋势。基于 FEEMD 的计算结果如图4所示。

图4 风电功率原始序列及FEEMD分解曲线

3.3 重 构

计算各IMF分量的样本熵值结果如图5所示,随着IMF分量频率的降低呈递减趋势。考虑到样本熵值的大小同时兼顾FEEMD的分解结果,合并情况如表1所示。其中RIMF1与余量分量的样本熵值与其他分量的差值较大,且从FEEMD分解结果看,这两个分量需要单独考虑;IMF2、IMF3和IMF4分量相邻且样本熵相近,因此将它们进行合并;IMF5、IMF6和IMF7样本熵差值相近,相比与前几个分量幅值大了很多,频率变化较缓,且同为低频周期分量,因此也将它们合并。

图5 样本熵值分布

表1 重构分量结果

重构后的分量曲线如图6所示。

图6 重构后的分量曲线

偏相关分析是用来表达一组数据中前后两个元素同时与第三个随机元素相关时,剔除随机元素的干扰后,分析另外两个元素之间的相关程度的过程。用于测量当前序列值和过去序列值之间的相关性,并指示预测将来值时最有用的过去序列值。在本算例中,对于各个IMF分量结果,用偏自相关系数(PACF)来分析每个IMF中的数据之间的相关性继而选择每个BP模型的最优输入特征向量。如图7所示,采用偏自相关系数可以计算序列与其自身经过某些阶数滞后形成的序列之间存在某种程度的相关性,有效地确定了输入变量的长度。表2为输入变量选择结果。

图7 重构分量偏自相关图

表2 输入变量选择结果

3.4 预测结果与真实值的对比

为了比较不同方法的预测效果,本文构建了直接多步预测和单步滚动的多步预测两类预测模型。

(1) 直接多步预测。BP神经网络看作弱预测器,采用单隐层神经网络,通过重复实验权衡网络的预测误差和训练时间,历史风电功率数据参数作为输入层节点,确定输入层节点数24,隐含层节点数为15,预测的风电功率数据作为输出,输出节点数为24的网络结构。网络最大训练次数为900,训练目标为0.000 1,学习速率为0.001,AdaBoost 把预测误差超过0.001的测试样本作为应该加强学习的样本,训练生成10个BP神经网络视作弱预测器,最后用10个弱预测器组合成强预测器对风电功率进行预测。建立和实现BP、BP-AdaBoost、FEEMD-BP和FEEMD- BP-AdaBoost模型进行对比。

(2) 单步滚动预测。BP神经网络结构设置为24-10-1,网络最大训练次数为900,训练目标为0.000 1,学习速率为0.001。AdaBoost 参数设置与直接多步的相同。建立BP单步滚动、FEEMD-BP-AdaBoost单步滚动、FEEMD-BP-PACF-AdaBoost单步滚动的多步预测组合预测模型对风电功率进行超短期预测,将不同模型预测结果进行比较。

各模型预测结果如图8所示。

图8 各模型预测结果对比

各模型误差结果如表3所示。

表3 评价预测模型误差

由图8对比可知,七种组合预测模型中采用FEEMD分解后经PACF确定输入长度的BP-AdaBoost模型预测风电功率曲线均比各单一或组合预测模型的曲线更接近于实际功率曲线。该组合预测模型预测结果的均方根误差和平均绝对百分比误差,均明显小于其他几种组合预测模型。对比表3中三种BP单步滚动预测值的均方根误差RMSE 分别为0.146 2、0.145 0和0.139 1,比 BP单一网络模型的均方误差提高了79.12%、79.29%和80.13%,说明BP滚动预测模型的预测区间变化较小,即该模型的拟合和自适应能力要强于单一BP神经网络模型的。FEEMD-BP-PACF-AdaBoost单步滚动模型预测值平均绝对误差MAE为0.019 3,比BP单滚动网络模型的0.124 1和未采用PACF选择输入的FEEMD-BP-AD单步滚动模型的0.122 7分别提高了84.44%和84.27%,表明该模型的预测误差离散程度较小。

4 结 语

通过对比七种单一、组合重构预测模型,得到以下结论:

(1) 传统FEEMD-BP模型在预测未来电风功率时,缺少对风电功率在FEEMD分解结果的物理意义思考;样本熵可以衡量时间序列的复杂性,为FEEMD分解的分量重构提供了有力依据,基于FEEMD分解和样本熵结合的BP神经网络可以很好地预测风电功率。

(2) 以往在构建BP模型时,输入变量的选择没有依据,但采用偏相关分析可以呈现序列的相关性,表明了变量之间的相关信息。PACF可以在不同序列的自变量中,选出对因变量的影响较大的自变量作为输入变量,继而可以舍去不用考虑那些对因变量影响较小的因素。

(3) AdaBoost算法能够合并多个弱预测器的输出以计算当前弱预测器的权重,可以把弱预测器组合更新权重形成最终的强预测器。综上对比可知,该组合模型在超短期预测风电功率时能得到较为准确的预测趋势和较高的精度,能够获得令人满意的预测结果。

猜你喜欢

电功率分量神经网络
基于神经网络的船舶电力系统故障诊断方法
基于PCC-CNN-GRU的短期风电功率预测
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
画里有话
18.2电功率(教学设计)
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
论《哈姆雷特》中良心的分量
三次样条和二次删除相辅助的WASD神经网络与日本人口预测