樽海鞘算法优化LSTM的新能源功率预测方法
未命名
07-20
阅读:176
评论:0
樽海鞘算法优化lstm的新能源功率预测方法
技术领域
1.本发明属于功率预测方法技术领域,涉及樽海鞘算法优化lstm的新能源功率预测方法。
背景技术:
2.为了解决能源需求和环境保护问题,随着可再生能源发展战略的实施和世界大型清洁能源基地建设的稳步推进,清洁能源发电量迅速增加,其中以光伏发电和风力发电为代表最具代表。一方面,太阳能具有清洁、安全、无噪音等优点,但由于受多种因素影响,具有随机性、易挥性和间歇性,可能对电网的稳定性和安全性构成严重威胁。另一方面,风能具有污染低、存储容量大的特点,但它也是间歇性和不确定性的,这使得电网的规划和调度更加困难。综上所述,由于自然因素的影响,太阳能和风能的输出功率是不稳定的,这将给电网规划、系统调度和电网的可靠运行带来许多问题。因此,研究光伏发电和风电功率预测具有重要意义,准确的预测结果对电网调度、能源管理以及电力系统的安全稳定至关重要。
3.近年来,针对光伏发电和风力发电的预测方法越来越多,从数学算法的角度可以分为基于物理模型的预测方法和数据驱动的方法。物理方法是基于风力涡轮机和太阳能电池板发电的原理,建立影响因素与功率的映射关系,从而进行功率预测。虽然基于物理模型的预测方法可以反映内在规律,但由于模型的建立是基于局部规律的独立性假设,模型参数的获取难度较大,因此预测结果在中长期预测中会出现较大的偏差。而具有较强非线性拟合能力的数据驱动方法可以弥补物理模型方法的缺陷,其中统计学习和人工神经网络方法已广泛应用于光伏发电量预测和风电功率预测领域。统计学习方法利用风电、光伏、湿度和温度等历史数据进行曲线拟合和参数估计的方法,形成输入输出映射模型。常见的统计方法包括计算速度快的时间序列预测方法、相对简单方便的回归分析方法、不需要大样本的灰色理论方法和鲁棒性好的模糊理论方法、挖掘深层时空特征的时空相关方法、支持向量机(svm)等相关方法。时间序列数据本质上可以反映特定或某个随机变量随时间连续变化的趋势,时间序列预测问题的核心是从数据中挖掘这种潜在关系,并用它来估计未来的数据。时间序列预测由于风电和光伏发电随时间变化的趋势明显,因此广泛用于风电和光伏发电预测。风能和光伏数据的非线性、随机性对功率预测提出了巨大挑战。它们的历史功率以及时间序列功率数据与功率影响因素之间的非线性映射关系难以人为捕获。作为一种重要的数据驱动方法,具有较强非线性拟合能力的人工神经网络(ann)模型可用于预测光伏和风电,如反向传播(bp)、径向基函数(rbf)、极限学习机(elm)、长短期记忆人工神经网络(lstm)、门递归单元(gru)、深度置信网络(dbn),等等。
4.上述的lstm是经典的深度学习算法之一,是循环神经网络(rnn)的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。我们可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息一直传递下去。因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。而且,lstm主要解决了长序列训练过程中的梯度消失
和梯度爆炸的问题。近年来,lstm已应用于清洁能源预测领域,取得了比较好的结果。
5.然而,超参数优化问题仍然是lstm在预测领域面临的关键挑战。现有方法超参数优化后的预测精度较低。
技术实现要素:
6.本发明的目的是提供一种樽海鞘算法优化lstm的新能源功率预测方法,解决了现有技术中存在的预测精度较低问题。
7.本发明所采用的技术方案是,樽海鞘算法优化lstm的新能源功率预测方法,包括以下步骤:
8.步骤1、获取包括新能源历史功率、影响因素的数据集;
9.步骤2、对数据集中的数据进行归一化处理,将处理后的数据集划分为训练集和测试集;
10.步骤3、构建lstm模型,将lstm模型的隐藏层节点数、初始学习率作为目标函数的自变量;
11.步骤4、利用训练集对lstm模型进行训练;
12.步骤5、将测试集输入训练完成的lstm模型进行功率预测,得到预测结果;
13.步骤6、将预测结果进行反归一化,得到预测功率;
14.步骤7、计算实际功率与预测功率的平均绝对百分比误差,并将其作为目标函数的因变量;
15.步骤8、利用樽海鞘算法进行目标函数的寻优。
16.本发明的特点还在于:
17.新能源历史功率为风电历史功率,影响因素包括最大风速,最小风速,平均风速和室外平均温度。
18.新能源历史功率为光伏历史功率,影响因素包括全球水平辐射,漫射水平辐射,温度以及天气相对湿度。
19.lstm模型包括遗忘门、输入门和输出门,处理过程为:
20.首先,遗忘门sigmoid层读取h
t-1
和x
t
,输出f
t
,同时输出一个0~1之间的数给神经元状态c
t-1
;
21.f
t
=σ(wf×
[h
t-1
,x
t
]+bf)
ꢀꢀ
(2);
[0022]
上式中,x
t
代表t时刻输入,wf代表遗忘门的权重,bf代表遗忘门的偏置,h
t
代表t时刻隐藏层神经元状态;
[0023]
其次,输入门的sigmoid层读取h
t-1
和x
t
,输出i
t
,并决定要在神经元中要保存的信息,再创建一个新的神经元状态候选得到更新后的神经元状态c
t
;
[0024]it
=σ(w
t
×
[h
t-1
,x
t
]+bi)
ꢀꢀ
(3);
[0025][0026][0027]
然后,输出门的sigmoid层读取h
t-1
和x
t
,输出o
t
,然后将输入门输出的神经元状态ct
经过tanh层并乘上o
t
,得到输出值h
t
;
[0028]ot
=σ(wo×
[h
t-1
,x
t
]+bo)
ꢀꢀ
(6);
[0029]ht
=o
t
·
tanh(c
t
)
ꢀꢀ
(7);
[0030]
上式中,wo、bo分别为输出门权重和偏置。
[0031]
步骤7中平均绝对百分比误差的公式为:
[0032][0033]
本发明的有益效果是:本发明樽海鞘算法优化lstm的新能源功率预测方法,能高效地对lstm的隐藏层节点数以及学习率进行寻优,提高了lstm在新能源功率预测方面的性能;ssa-lstm模型预测结果较单一的lstm有较为明显的预测精度提升。
附图说明
[0034]
图1是本发明樽海鞘算法优化lstm的新能源功率预测方法的lstm模型结构图;
[0035]
图2是本发明樽海鞘算法优化lstm的新能源功率预测方法的ssa-lstm模型风电功率预测结果与实际功率值的对比图;
[0036]
图3是本发明樽海鞘算法优化lstm的新能源功率预测方法的ssa-lstm模型、单一lstm及实际风电功率值的对比图;
[0037]
图4是本发明樽海鞘算法优化lstm的新能源功率预测方法的樽海鞘算法(风电功率预测)的迭代曲线;
[0038]
图5是本发明樽海鞘算法优化lstm的新能源功率预测方法的ssa-lstm模型光伏功率预测结果与实际功率值的对比图;
[0039]
图6是本发明樽海鞘算法优化lstm的新能源功率预测方法的ssa-lstm模型、单一lstm及实际光伏功率值的对比图;
[0040]
图7是本发明樽海鞘算法优化lstm的新能源功率预测方法的樽海鞘算法(光伏功率预测)的迭代曲线。
具体实施方式
[0041]
下面结合附图和具体实施方式对本发明进行详细说明。
[0042]
樽海鞘算法优化lstm的新能源功率预测方法,包括以下步骤:
[0043]
步骤1、获取包括新能源历史功率、影响因素的数据集;
[0044]
新能源历史功率为风电历史功率,影响因素包括最大风速,最小风速,平均风速和室外平均温度。
[0045]
新能源历史功率为光伏历史功率,影响因素包括全球水平辐射,漫射水平辐射,温度以及天气相对湿度。
[0046]
步骤2、对数据集中的数据进行归一化处理,将处理后的数据集划分为训练集和测试集;归一化公式为:
[0047]
[0048]
式(1)中,x表示某时刻待归一化的数据,x
max
,x
min
表示该类别数据中的最大值与最小值。
[0049]
步骤3、构建lstm模型,将lstm模型的隐藏层节点数、初始学习率作为目标函数的自变量;
[0050]
如图1所示,lstm模型包括遗忘门、输入门和输出门,处理过程为:
[0051]
首先,遗忘门sigmoid层读取h
t-1
和x
t
,输出f
t
,同时输出一个0~1之间的数给神经元状态c
t-1
;
[0052]ft
=σ(wf×
[h
t-1
,x
t
]+bf)
ꢀꢀ
(2);
[0053]
上式中,x
t
代表t时刻输入,wf代表遗忘门的权重,bf代表遗忘门的偏置,h
t
代表t时刻隐藏层神经元状态;
[0054]
其次,输入门的sigmoid层读取h
t-1
和x
t
,输出i
t
,并决定要在神经元中要保存的信息,再创建一个新的神经元状态候选得到更新后的神经元状态c
t
;
[0055]it
=σ(w
t
×
[h
t-1
,x
t
]+bi)
ꢀꢀ
(3);
[0056][0057][0058]
然后,输出门的sigmoid层读取h
t-1
和x
t
,输出o
t
,然后将输入门输出的神经元状态c
t
经过tanh层并乘上o
t
,得到输出值h
t
;
[0059]ot
=σ(wo×
[h
t-1
,x
t
]+bo)(6);
[0060]ht
=o
t
·
tanh(c
t
)(7);
[0061]
上式中,wo、bo分别为输出门权重和偏置。
[0062]
步骤4、利用训练集对lstm模型进行训练;
[0063]
训练集包括输入数据矩阵train_x、目标数据矩阵train_y,输入数据矩阵train_x为目标函数的自变量,目标数据矩阵train_y为目标函数的因变量,lstm模型为train_x与train_y的映射关系net:
[0064]
train_y=net(train_x)(8)。
[0065]
步骤5、将测试集输入训练完成的lstm模型进行功率预测,得到预测结果;
[0066]
具体的,利用步骤4训练完成的net,输入测试集test_x进行功率预测:
[0067]
pred_y=net(test_x)(9)。
[0068]
式(8)中,pred_y为测试集功率预测结果。
[0069]
步骤6、将预测结果进行反归一化,得到预测功率,反归一化公式为:
[0070]
x=x'
·
(x
max-x
min
)+x
min
(10);
[0071]
上式中,x’表示某时刻待反归一化的数据,x
max
、x
min
分别表示该类别数据中的最大值与最小值。
[0072]
步骤7、计算实际功率与预测功率的平均绝对百分比误差,并将其作为目标函数的因变量;
[0073]
具体的,利用实际值与预测值进行结果的评价分析,并将平均绝对误差(mape)作为目标函数的因变量,完成目标函数的构建。其中,评价指标包括均方根误差(rmse)、平均
绝对误差(mae)、平均绝对百分比误差(mape)和均方误差(mse):
[0074][0075][0076][0077][0078]
步骤8、对樽海鞘优化算法的种群数量以及迭代次数进行设置,并进行目标函数的寻优。
[0079]
具体的,首先将樽海鞘种群分为领导者和追随者,领导者是链中最前面的樽海鞘,而剩余其他的就都是追随者;
[0080]
再在n维搜索空间中定义樽海鞘的位置,其中n为给定问题的变量个数;假设在搜索空间存在食物源f,作为种群的目标。
[0081]
接着根据食物源f,对领导者位置的更新:
[0082][0083]
上式中,为第一个樽海鞘(领导者)在第j维的位置,fj为食物源在第j维上的位置,ubj和lbj分别为第j维的上界和下界,c1,c2和c3为随机数。上式表示领导者仅更新与食物源的相对位置,系数c1是ssa中最重要的参数,因为其用于平衡探索和利用:
[0084][0085]
上式中,l为当前迭代次数,l为最大迭代次数;
[0086]
同时对追随者位置的更新:
[0087][0088]
其中
[0089]
上式中,i≥2,表示第i个追随者樽海鞘在第j维的位置上,t为时间,v0是初始速度。
[0090]
由于在优化中时间就是迭代次数,所以迭代时间之差就是1,考虑到v0=0,式(16)可以表达为:
[0091][0092]
通过以上方式,本发明樽海鞘算法优化lstm的新能源功率预测方法,能高效地对lstm的隐藏层节点数以及学习率进行寻优,提高了lstm在新能源功率预测方面的性能;ssa-lstm模型预测结果较单一的lstm有较为明显的预测精度提升。
[0093]
实施例1风电功率预测
[0094]
风电数据训练集数据为16200组,测试集的数据为96组,时间分辨率为15min。
[0095]
如图2所示,本发明ssa-lstm模型的结果显示,预测值与实际值比较接近,其中评价指标中的mape为2.0147%。而如图3所示,单一的lstm模型的结果的mape为6.1477%,其预测值与实际功率值的结果相对于ssa-lstm模型的结果的差距较为明显。由结果可得本发明的ssa-lstm模型拥有更高的预测精度。如图4所示,ssa对lstm的优化在其第16次迭代时就已经收敛,体现出ssa对lstm的隐藏层节点数以及学习率优秀的寻优能力。
[0096]
实施例2光伏功率预测
[0097]
光伏数据训练集数据为16230组,测试集的数据为96组,时间分辨率为15min。
[0098]
如图5所示,本发明ssa-lstm模型的结果显示,预测值与实际值比较接近,其中评价指标中的mape为0.44279%。而如图6所示,单一的lstm模型的结果的mape为7.315%,其预测值与实际功率值的结果相对于ssa-lstm模型的结果的差距较为明显。由结果可得本发明的ssa-lstm模型拥有更高的预测精度。如图7所示,ssa对lstm的优化在其第29次迭代时完成收敛。
技术特征:
1.樽海鞘算法优化lstm的新能源功率预测方法,其特征在于,包括以下步骤:步骤1、获取包括新能源历史功率、影响因素的数据集;步骤2、对所述数据集中的数据进行归一化处理,将处理后的数据集划分为训练集和测试集;步骤3、构建lstm模型,将所述lstm模型的隐藏层节点数、初始学习率作为目标函数的自变量;步骤4、利用所述训练集对lstm模型进行训练;步骤5、将所述测试集输入训练完成的lstm模型进行功率预测,得到预测结果;步骤6、将所述预测结果进行反归一化,得到预测功率;步骤7、计算实际功率与预测功率的平均绝对百分比误差,并将其作为目标函数的因变量;步骤8、利用樽海鞘算法进行目标函数的寻优。2.根据权利要求1所述的樽海鞘算法优化lstm的新能源功率预测方法,其特征在于,所述新能源历史功率为风电历史功率,影响因素包括最大风速,最小风速,平均风速和室外平均温度。3.根据权利要求1所述的樽海鞘算法优化lstm的新能源功率预测方法,其特征在于,所述新能源历史功率为光伏历史功率,影响因素包括全球水平辐射,漫射水平辐射,温度以及天气相对湿度。4.根据权利要求1所述的樽海鞘算法优化lstm的新能源功率预测方法,其特征在于,所述lstm模型包括遗忘门、输入门和输出门,处理过程为:首先,所述遗忘门sigmoid层读取h
t-1
和x
t
,输出f
t
,同时输出一个0~1之间的数给神经元状态c
t-1
;f
t
=σ(w
f
×
[h
t-1
,x
t
]+b
f
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2);上式中,x
t
代表t时刻输入,w
f
代表遗忘门的权重,b
f
代表遗忘门的偏置,h
t
代表t时刻隐藏层神经元状态;其次,所述输入门的sigmoid层读取h
t-1
和x
t
,输出i
t
,并决定要在神经元中要保存的信息,再创建一个新的神经元状态候选得到更新后的神经元状态c
t
;i
t
=σ(w
t
×
[h
t-1
,x
t
]+b
i
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3);(3);然后,所述输出门的sigmoid层读取h
t-1
和x
t
,输出o
t
,然后将输入门输出的神经元状态c
t
经过tanh层并乘上o
t
,得到输出值h
t
;o
t
=σ(w
o
×
[h
t-1
,x
t
]+b
o
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6);h
t
=o
t
·
tanh(c
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7);上式中,w
o
、b
o
分别为输出门权重和偏置。5.根据权利要求1所述的樽海鞘算法优化lstm的新能源功率预测方法,其特征在于,步骤7中平均绝对百分比误差的公式为:
技术总结
本发明公开了樽海鞘算法优化LSTM的新能源功率预测方法,包括:获取包括新能源历史功率、影响因素的数据集;对数据集中的数据进行归一化处理,将处理后的数据集划分为训练集和测试集;构建LSTM模型,将LSTM模型的隐藏层节点数、初始学习率作为目标函数的自变量;利用训练集对LSTM模型进行训练;将测试集输入训练完成的LSTM模型进行功率预测,得到预测结果;将预测结果进行反归一化,得到预测功率;计算实际功率与预测功率的平均绝对百分比误差,并将其作为目标函数的因变量;利用樽海鞘算法进行目标函数的寻优。有较为明显的预测精度提升。升。升。
技术研发人员:马文涛 戴佳辉 邱丽红 董昱卓 魏远 张欢畅 段建东
受保护的技术使用者:西安理工大学
技术研发日:2023.01.06
技术公布日:2023/7/19
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
