基于pca-bp-ssa
算法的风电功率复合预测方法
技术领域
1.本发明属于风力发电技术领域,涉及一种风电功率预测方法,特别涉及一种基于主成分分析和麻雀搜索算法优化bp
神经网络的风电功率复合预测方法。
背景技术:
2.随着新能源规模的扩大,风电并网所引发的一系列问题亟需解决,其中包括电力系统调度问题,风电功率的准确预测是解决这一问题的关键。准确的风电功率预测有助于电力部门制定出有效的发电计划,从而保证电力系统的安全稳定经济运行。风电功率的预测方法可以分为物理方法、统计方法和ai方法。本发明使用的是ai方法,它能够十分准确地拟合非线性函数,风电预测精度较高。
3.目前应用比较广泛的风电功率预测的ai算法有:bp神经网络、遗传算法、支持向量机等。传统的bp算法初始权值阈值随机,容易陷入局部极小值,且对于稍复杂的非线性函数进行拟合,会导致学习收敛速度太慢。遗传算法的局部寻优能力较差,导致进化后期收敛速度变慢,甚至无法收敛到全局最优解。支持向量机算法对大规模训练样本难以实施,训练时间比较长,另外其对参数和核函数选择十分敏感,然而目前核函数和参数都是人为根据经验来选取的,带有一定的随意性。
4.亟需一种新的风电功率预测方法,克服现有预测方法的一些缺陷,使预测
模型更加准确。
技术实现要素:
5.本发明的目的在于克服现有技术的不足,提供一种基于pca-bp-ssa算法的风电功率复合预测方法,该方法一方面通过主成分分析法和自适应学习率的bp网络解决了训练过程收敛速度慢的问题,并且使得此预测模型更加精确;另一方面通过麻雀搜索算法优化了bp神经网络的权值和阈值的初始值,避免了使用bp神经网络进行风电功率预测时容易陷入局部极小值的缺陷。本发明的目的通过以下技术方案实现。
6.基于pca-bp-ssa算法的风电功率复合预测方法,包括以下步骤:
7.s1:从风电功率预测系统的数据处理模块中获取指定时间范围内的风电机输出功率(kw)、风速(m/s)、风向的正弦值、风向的余弦值、气温(℃)、大气压强(kpa)及湿度(%rh)数据。
8.s2:采用主成分分析减少各种气象信息的信息冗余,通过协方差分析与特征计算消除输入变量间的相关关系,并保留原始变量的主要信息,从而达到降低bp神经网络模型输入维数的目的。
9.s3:初始化bp神经网络模型的模型参数,将经过主成分分析后的气象信息进行预处理作为模型输入,构建三层bp神经网络,以输出功率作为模型的预期输出,进行模型训练,训练过程中,采用麻雀搜索算法计算每个麻雀的适应度,并更新发现者、加入者和侦查者的位置,直至得到最优位置和最佳适应度值,然后分别赋值给bp神经网络模型作为权值
和阈值,从而改善bp神经网络模型权重和阈值初始化的随机性。
10.s4:在步骤s3得到bp神经网络的最优初始权值和阈值的基础上,进一步采用自适应学习率算法进行bp神经网络训练,可以解决bp神经网络训练过程收敛速度慢的问题,最终得到多重优化的bp神经网络模型。
11.s5:将多重优化后的bp神经网络模型得到的风电功率预测数据进行反归一化处理,得到最终的预测值。
12.s6:将最终的预测值与实际值进行对比分析,以便评估优化后模型的预测性能。
13.进一步地,步骤s2中所述主成分分析的步骤包括:
14.s2-1:确定样本数为n,选取的气象信息数目为p,相应的原始数据矩阵xn×
p
如下:
[0015][0016]
s2-2:为了消除各种气象信息之间在量纲和数量级上的差别,对气象信息进行零均值归一化,得到标准化矩阵公式:
[0017][0018]
式中:y
ij
为各量归一化后的结果。
[0019]
s2-3:建立相关矩阵r,计算其特征值λ和特征向量α。
[0020][0021]
式中:
[0022]
r的特征值λ和对应的特征向量α分别为
[0023]
λ1≥λ2≥,l,≥λ
p
[0024]
αi=(α1,α2,l,α
p
)
[0025]
s2-4:计算方差贡献率βi和累积方差贡献率β(i)
[0026][0027][0028]
s2-5:求出主成分z=xα。
[0029]
累计方差贡献率β(s)大于一定数值c(根据实际选择)时,以z1,z2,z3,l,zs来代替
x1,x2,x3,l,x
p
,既降低了输入维数,又消除了原样本空间的自相关性。
[0030]
进一步地,步骤s3中麻雀搜索算法所述发现者的位置更新表达式为:
[0031][0032]
式中,t为当前迭代次数;j=1,2,3,l,d,d表示待优化问题变量的维数;为迭代t次时第i只麻雀的第j维的位置;iter
max
为最大迭代次数;α为[0,1]之间的随机数;r2∈[0,1]和st∈[0.5,1]分别为警报值和安全阈值;q为服从正态分布的随机数;l表示一个1
×
d的矩阵,该矩阵内每一个元素全部为1。
[0033]
进一步地,步骤s3中麻雀搜索算法所述加入者的位置更新表达式为:
[0034][0035]
式中,x
p
是目前发现者所占据的最优位置,为第t次迭代全体最差位置;为第t+1次迭代发现者的最佳位置;a为与输入维度相同的1
×
d维矩阵,其中每个元素随机分配为1或-1、且a
+
=a
t
(aa
t
)-1
。当时,这表明,适应度较低的第i个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其他地方觅食,以获得更多的能量,n为麻雀的数量。
[0036]
进一步地,步骤s3中麻雀搜索算法所述侦查者的位置更新表达式为:
[0037][0038]
式中,是第t次迭代的全局最优位置;λ作为步长控制参数,是服从均值为0,方差为1的正态分布的随机数;j是[-1,1]之间的随机数;fi和fw为全局最佳适应度值和最差适应度值;ε定义为最小的常数,以避免分母出现零。
[0039]
进一步地,步骤s4所述自适应学习率算法是根据前一步的总
误差函数,增加或减小学习速率。
[0040]
进一步地,bp网络的训练过程实质上是权值的寻优过程,这个过程通常是非线性的。在这个寻优过程中学习率η应该是不断变化的,变化的依据是使误差e(k)不断下降,最好不要产生振荡。振荡不一定发散,但振荡将使收敛速度变慢。另外,在权值的修正中引入动量项是很有必要的,因为动量项αδw(k)可以看作是前一次误差的梯度。当本次误差梯度与前一次误差梯度同号时,其加权求和值增大,即δw(k+1)增大,结果在稳定调节时加快了权值的调节速度;当本次误差梯度与前一次误差梯度相反时,说明有一定的振荡,此时加权求和值减小,即δw(k+1)减小,起到稳定的作用。综上所述自适应学习率算法具体如下:
[0041]
w(k)=w(k-1)+δw(k)
[0042]
δw(k)=η(k)[2.5δw(k-1)+δ(k)]
[0043][0044]
式中k为第k次迭代,e(k)为第k次迭代的误差,δ(k)为局部梯度。
[0045]
当前误差与前一次误差比较,如果误差出现反弹或持平,说明学习率过大,那么将学习率降到原来的60%,然后再按5%的速度递增;如果误差持续下降,学习率继续递增;当误差再出现反弹或持平时,再将学习率下调40%;这样反复跳跃以刺激收敛速度,同时这种跳跃还可以避免寻优搜索陷入局部极小值。
[0046]
与现有技术相比,本发明具有以下有益技术效果:
[0047]
(1)采用多种气象数据作为模型的输入,模型对风电功率预测的精度更高。
[0048]
(2)采用主成分分析降低模型输入层信息的重复性,消除了变量之间的耦合性,降低神经网络的输入维度,提高了模型的运算速度。
[0049]
(3)采用ssa算法优化bp神经网络的初始权值和阈值,克服了bp神经网络在训练过程中训练时间较长并且容易陷入局部极小值的缺点,提高了bp神经网络的全局寻优能力,提高了模型预测的准确度。
[0050]
(4)采用自适应学习率的bp神经网络算法,通过在训练过程中修改学习速率的大小,解决训练过程收敛速度慢的问题,可以大大提高训练过程的收敛速度。
附图说明
[0051]
图1为本发明所述的bp神经网络经过ssa算法优化参数后的模型图。
[0052]
图2为本发明所述的基于pca-bp-ssa算法的风电功率复合预测方法流程图。
[0053]
图3为本发明风电功率预测的步骤示意图。
具体实施方式
[0054]
下面结合说明书附图,对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明的保护范围。
[0055]
图2和图3分别为本发明所述基于pca-bp-ssa算法的风电功率复合预测方法的流程示意图和大致步骤图,包括以下步骤:
[0056]
s1:从风电功率预测系统的数据处理模块中获取指定时间范围内的风电机输出功率、风速、风向的正弦值、风向的余弦值、气温、大气压强及湿度数据。
[0057]
s2:如图1,采用主成分分析减少各种气象信息的信息冗余,通过协方差分析与特征计算消除输入变量间的相关关系,并保留原始变量的主要信息,从而达到降低bp神经网络模型输入维数的目的。
[0058]
s3:如图2,将经过主成分分析后的气象信息进行预处理作为模型输入,构建三层bp神经网络,以输出功率作为模型的预期输出,并初始化bp神经网络模型的模型参数。然后进行模型训练,训练过程中,采用麻雀搜索算法计算每个麻雀的适应度,并更新发现者、加
入者和侦查者的位置,直至得到最优位置和最佳适应度值后分别赋值给bp神经网络模型作为权值和阈值从而改善bp神经网络模型权重和阈值初始化的随机性。
[0059]
s4:经优化达到预设的模型训练条件得到最优的权值和阈值,作为bp神经网络的初始权值和阈值,进一步采用自适应学习率算法进行bp神经网络训练,可以解决bp神经网络训练过程收敛速度慢的问题,最终得到优化的bp神经网络模型。
[0060]
s5:将得到的风电功率预测数据进行反归一化处理,得到最终预测值。
[0061]
s6:将最终预测值与实际值进行对比分析,以便评估优化后模型的预测性能。
[0062]
其具体步骤如下:
[0063]
步骤1:确定样本数为n,选取的气象信息种类数为p,相应的原始数据矩阵xn×
p
如下:
[0064][0065]
步骤2:为了消除各种气象信息之间在量纲和数量级上的差别,对气象信息进行零均值归一化,得到标准化矩阵公式如下:
[0066][0067]
式中:y
ij
为各量归一化后的结果。
[0068]
步骤3:建立相关矩阵r,计算其特征值λ和特征向量α。
[0069][0070]
式中:
[0071]
r的特征值λ和对应的特征向量α分别为:
[0072]
λ1≥λ2≥,l,≥λ
p
[0073]
αi=(α1,α2,l,α
p
);
[0074]
步骤4:计算方差贡献率βi和累积方差贡献率β(i)
[0075][0076][0077]
步骤5:求出主成分z=xα。
[0078]
累计方差贡献率β(s)大于一定数值c(根据实际选择)时,以z1,z2,z3,l,zs来代替x1,x2,x3,l,x
p
,既降低了输入维数,又消除了原样本空间的自相关性;
[0079]
步骤6:将经过主成分分析后的气象信息进行归一化预处理作为模型输入,构建三层bp神经网络,以输出功率作为模型的预期输出,并初始化bp神经网络模型的模型参数,优化后的模型图如图1所示;
[0080]
步骤7:初始化种,设定麻雀种的总数量n、发现者数量、意识到危险的麻雀数量以及最大迭代次数iter
max
、警报阈值r2;
[0081]
步骤8:计算初始种的适应度,挑选出最优和最差的个体;
[0082]
步骤9:分别利用如下三个公式计算并更新发现者、加入者、侦察者的位置;
[0083][0084]
式中,t为当前迭代次数;j=1,2,3,l,d,d表示待优化问题变量的维数;为迭代t次时第i只麻雀的第j维的位置;iter
max
为最大迭代次数;α为[0,1]之间的随机数;r2∈[0,1]和st∈[0.5,1]分别为警报值和安全阈值;q为服从正态分布的随机数;l表示一个1
×
d的矩阵,其中该矩阵内每一个元素全部为1。
[0085][0086]
式中,x
p
是目前发现者所占据的最优位置,为第t次迭代全体最差位置;为第t+1次迭代发现者的最佳位置;a为与输入维度相同的1
×
d维矩阵,其中每个元素随机分配为1或-1、且a
+
=a
t
(aa
t
)-1
。当时,这表明,适应度较低的第i个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其他地方觅食,以获得更多的能量,n为麻雀的数量。
[0087][0088]
式中,是第t次迭代的全局最优位置;λ作为步长控制参数,是服从均值为0,方差为1的正态分布的随机数;j是[-1,1]之间的随机数;fi和fw为全局最佳适应度值和最差适应度值;ε定义为最小的常数,主要是为了防止f
i-fw=0的情况;fi>fg表示此时的麻雀正处于种的边缘,极其容易受到捕食者的攻击。fi=fg时,这表明处于种中间的麻雀意识到了危险,需要靠近其它的麻雀以此尽量减少它们被捕食的风险。
[0089]
步骤10:重复步骤9直至迭代后满足终止条件,最终从全局中获得最佳位置以及最佳适应度值,并将得到的全局最优位置作为bp神经网络的初始权值,得到的最佳适应度值作为bp神经网络的初始阈值。
[0090]
步骤11:经上述步骤达到预设的模型训练条件得到最优的权值和阈值,作为bp神经网络的初始权值和阈值,进一步采用自适应学习率算法进行bp神经网络训练,最终满足预期误差,得到完全优化好的预测模型。自适应学习率算法如下:
[0091]
w(k)=w(k-1)+δw(k)
[0092]
δw(k)=η(k)[2.5δw(k-1)+δ(k)]
[0093][0094]
式中k为第k次迭代,e(k)为第k次迭代的误差,δ(k)为局部梯度。
[0095]
当前误差与前一次误差比较,如果误差出现反弹或持平,说明学习率过大,那么将学习率降到原来的60%,然后再按5%的速度递增;如果误差持续下降,学习率继续递增;当误差再出现反弹或持平时,再将学习率下调40%;这样反复跳跃以刺激收敛速度,同时这种跳跃还可以避免寻优搜索陷入局部极小值。
[0096]
步骤12:将得到的风电功率预测数据进行反归一化处理,得到最终预测值。
[0097]
步骤13:将最终预测值与实际值进行对比分析,以便评估优化后模型的预测性能,评估标准采用平均绝对百分比误差和均方根误差这两个方面。
[0098]
其公式分别如下所示:
[0099][0100][0101]
式中,m表示预测总次数;yf和y
t
分别为风电功率的预测值和实际值,其中平均绝对百分比误差和均方根误差越小,表示预测结果越好。
[0102]
为证明本发明方法的有效性,以某风电场为例,采用matlab进行仿真分析,分别构建了两种预测模型:传统的bp神经网络预测模型,本发明的pca-ssa-bp预测模型,对其中一段时间的风电功率输出进行仿真预测。对预测结果的性能评价采用上述的平均绝对误差mape、均方根误差mse来描述。两种模型运行多次的结果分析如表1所示。
[0103]
表1两种模型仿真的结果分析
[0104][0105]
表1为两种模型运行多次的结果,左边两列为bp神经网络模型对风电功率预测的误差结果,其平均绝对误差mape为0.0559,均方根误差mse为0.0861;右边两列为本发明提供的方法对风电功率预测的误差结果,其平均绝对误差mape为0.0323,均方根误差mse为0.0288。可以看出,使用本发明提供的方法进行预测的结果相对更加稳定,结果更加精确。
[0106]
尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施方式进行变化、修改、替换和变型。本发明的保护范围由权利要求书及其等同技术方案限定。
技术特征:
1.基于pca-bp-ssa算法的风电功率复合预测方法,其特征在于,包括以下步骤:s1:从风电功率预测系统的数据处理模块中获取指定时间范围内的基础数据,包括:风电机输出功率,单位kw;风速,单位m/s;风向的正弦值;风向的余弦值;气温,单位℃;大气压强,单位kpa;以及湿度,单位%rh;s2:采用主成分分析减少各种气象信息的信息冗余,通过协方差分析与特征计算消除输入变量间的相关关系,并保留原始变量的主要信息;s3:初始化bp神经网络模型的模型参数,将经过主成分分析后的气象信息进行预处理作为模型输入,构建三层bp神经网络,以输出功率作为模型的预期输出,进行模型训练,训练过程中,采用麻雀搜索算法计算每个麻雀的适应度,并更新发现者、加入者和侦查者的位置,直至得到最优位置和最佳适应度值,然后分别赋值给bp神经网络模型作为权值和阈值;s4:在步骤s3得到bp神经网络的最优初始权值和阈值的基础上,进一步采用自适应学习率算法进行bp神经网络训练,最终得到多重优化的bp神经网络模型;s5:将多重优化后的bp神经网络模型得到的风电功率预测数据进行反归一化处理,得到最终的预测值;s6:将最终的预测值与实际值进行对比分析,评估优化后模型的预测性能。2.根据权利要求1所述的风电功率复合预测方法,其特征在于,步骤s2中所述主成分分析的步骤包括:s2-1:确定样本数为n,选取的气象信息数目为p,相应的原始数据矩阵x
n
×
p
如下:s2-2:对气象信息进行零均值归一化,得到标准化矩阵公式:式中:y
ij
为各量归一化后的结果;s2-3:建立相关矩阵r,计算其特征值λ和特征向量α:式中:r的特征值λ和对应的特征向量α分别为λ1≥λ2≥,l,≥λ
p
α
i
=(α1,α2,l,α
p
);s2-4:计算方差贡献率β
i
和累积方差贡献率β(i):
s2-5:求出主成分z=xα;累计方差贡献率β(s)大于一定数值c时,以z1,z2,z3,l,z
s
来代替x1,x2,x3,l,x
p
。3.根据权利要求1所述的风电功率复合预测方法,其特征在于,步骤s3中麻雀搜索算法所述发现者的位置更新表达式为:式中,t为当前迭代次数;j=1,2,3,l,d,d表示待优化问题变量的维数;为迭代t次时第i只麻雀的第j维的位置;iter
max
为最大迭代次数;α为[0,1]之间的随机数;r2∈[0,1]和st∈[0.5,1]分别为警报值和安全阈值;q为服从正态分布的随机数;l表示一个1
×
d的矩阵,该矩阵内每一个元素全部为1。4.根据权利要求1所述的风电功率复合预测方法,其特征在于,步骤s3中麻雀搜索算法所述加入者的位置更新表达式为:式中,x
p
是目前发现者所占据的最优位置,为第t次迭代全体最差位置;为第t+1次迭代发现者的最佳位置;a为与输入维度相同的1
×
d维矩阵,其中每个元素随机分配为1或-1、且a
+
=a
t
(aa
t
)-1
;当时,适应度较低的第i个加入者没有获得食物,处于十分饥饿的状态,需要飞往其他地方觅食,以获得更多的能量,n为麻雀的数量。5.根据权利要求1所述的风电功率复合预测方法,其特征在于,步骤s3中麻雀搜索算法所述侦查者的位置更新表达式为:式中,是第t次迭代的全局最优位置;λ作为步长控制参数,是服从均值为0,方差为1的正态分布的随机数;j是[-1,1]之间的随机数;f
i
和f
w
为全局最佳适应度值和最差适应度值;ε定义为最小的常数,以避免分母出现零。
6.根据权利要求1所述的风电功率复合预测方法,其特征在于,步骤s4所述自适应学习率算法是根据前一步的总误差函数,增加或减小学习速率。7.根据权利要求6所述的风电功率复合预测方法,其特征在于,步骤s4所述自适应学习率算法具体如下:w(k)=w(k-1)+δw(k)δw(k)=η(k)[2.5δw(k-1)+δ(k)]式中k为第k次迭代,e(k)为第k次迭代的误差,δ(k)为局部梯度;当前误差与前一次误差比较,如果误差出现反弹或持平,说明学习率过大,那么将学习率降到原来的60%,然后再按5%的速度递增;如果误差持续下降,学习率继续递增;当误差再出现反弹或持平时,再将学习率下调40%;如此反复跳跃。
技术总结
基于PCA-BP-SSA算法的风电功率复合预测方法,属于风力发电技术领域,采用主成分分析和麻雀搜索算法优化的BP神经网络方法预测风电功率。先获取各类气象数据的历史值,采用主成分分析方法提取影响功率预测的主成分量,再将所提取的数据输入BP神经网络,构建训练样本集,采用麻雀搜索算法优化BP神经网络的权值和阈值,将训练得到的权值和阈值输入BP神经网络,再采用自适应学习率的BP神经网络进一步训练,最终得到最优模型。将得到的风电功率预测数据进行反归一化处理,得到最终预测值,将最终预测值与实际值对比分析,评估优化后模型的预测性能。本发明预测更加准确,解决了训练过程收敛速度慢和容易陷入局部极小值的问题。程收敛速度慢和容易陷入局部极小值的问题。程收敛速度慢和容易陷入局部极小值的问题。
技术研发人员:
宋大为 张伟剑 狄立 王世谦 李秋燕 王圆圆 卜飞飞 华远鹏 韩丁 贾一博 王涵
受保护的技术使用者:
国网河南省电力公司经济技术研究院
技术研发日:
2022.09.30
技术公布日:
2022/12/19