基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)

欢迎来到本博客❤️❤️

博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

本文目录如下:

目录

1 概述

2 运行结果

2.1 冷负荷:

2.2 热负荷:

 2.3 电负荷:

3 参考文献

4 Python代码、数据


1 概述

电力负荷预测实质是时间序列预测问题,存在非平稳性和影响因素的复杂性。为了提高预测精度,解决长短期记忆神经网络(LSTM)参数选取随机性大、选取困难的问题,本文提出了一种利用麻雀搜索算法(SSA)优化长短期记忆神经网络参数的短期电力负荷预测模型(SSA-LSTM),通过历史用电负荷数据、相关影响因素数据对待预测日进行负荷预测。

本文建立SSA-LSTM模型,进行冷、热、电负荷预测。先对时间序列进行奇异谱分析,对时间序列进行分组、重构,然后利用LSTM进行冷、热、电负荷预测。

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第1张图片

1.奇异谱分析:

取窗口大小168(24*7)

以冷负荷为例:

窗口大小

24

48

96

168

RMSE

128.7614962

350.7992671

520.1217156

682.8306656

MAPE

74.64109773

202.4826632

324.3296837

440.5978336

窗口大小

240

288

336

384

RMSE

849.5058807

938.9914016

1007.853195

1054.182844

MAPE

590.481598

671.0237345

720.5436865

758.4921419

均方根误差和绝对平方误差都随着窗口大小的增加而增加,并没有出现论文中的极小值。论文中数据是以半小时间隔,取窗口大小336(24*7*2),即选择一周的数据长度作为窗口大小,我的数据集是以一小时为间隔,所以取窗口大小为168(24*7),得到168个特征分量。

为了识别奇异值分解的有用特征分量,绘制了奥斯丁校园的对奇异值数的对数图。从下图可以看出,前20(1到20)的特征分量的贡献率大于0.01%,在序列中做出了主要贡献。因此,取前20个特征分量重构时间序列。

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第2张图片

    冷负荷贡献率对数图                     

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第3张图片

                                                 热负荷贡献率对数图

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第4张图片

                                                  电负荷贡献率对数图

2 运行结果

2.1 冷负荷:

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第5张图片

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第6张图片                                                     重组前后的冷负荷序列对比图 

2.2 热负荷:

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第7张图片

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第8张图片

                                           重组前后的热负荷序列对比图 

 2.3 电负荷:

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第9张图片

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第10张图片

                                          重组前后的电负荷序列对比图 

下面只展现电负荷的:

LSTM:

原始值

45.29566

44.01141

43.28463

43.42996

43.50522

44.20256

45.92687

46.83907

预测值

45.18376

44.06439

43.21949

42.76565

42.86935

43.57456

44.89128

46.8369

原始值

49.61455

51.57773

52.68317

54.58148

54.86726

55.12172

54.98181

54.35422

预测值

49.27013

51.65596

53.41417

54.42968

54.89896

54.89904

54.46193

53.64245

原始值

53.05828

51.36767

50.17736

49.65882

49.49811

47.94209

45.93253

预测值

52.54328

51.35513

50.26493

49.35669

48.60109

47.88127

47.08526

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第11张图片

SSA-LSTM:

原始值

45.29566

44.01141

43.28463

43.42996

43.50522

44.20256

45.92687

46.83907

预测值

44.98278

43.87062

43.18192

43.37565

43.49939

44.17463

45.69569

46.8295

原始值

49.61455

51.57773

52.68317

54.58148

54.86726

55.12172

54.98181

54.35422

预测值

49.24795

51.42195

52.74117

54.30687

54.70768

54.84241

54.74199

54.22516

原始值

53.05828

51.36767

50.17736

49.65882

49.49811

47.94209

45.93253

预测值

53.1051

51.36719

49.95112

49.26938

49.02301

47.76554

45.90304

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)_第12张图片

LSTM

SSA-LSTM

RMSE

0.525

0.215

MAPE

0.392

0.169

精准度

99.19%

99.66%

论文是对电负荷进行预测,仅仅利用历史负荷数据进行预测,变量单一,不能充分挖掘数据的高维特征,无法适用于综合能源系统的多元负荷。由于综合能源系统集成了不同种类的能源形式,存在不同类型能源的耦合,因此效仿电力系统采取单一模型预测的方式,很难达到准确和可靠的效果,如现有研究利用卷积神经网络等方法作为特征提取器从输入数据中提取隐含的更具代表的特征信息,然后进行预测,取得了很好的效果。

因此,在基于LSTM-奇异谱分析的电力负荷预测模型的基础上,考虑冷、热、电负荷历史负荷数据之间的相关性和各项影响因素,加上奇异谱分析得到的与冷、热、电负荷关联度高的特征分量一起作为输入训练模型。这样理论上可以更快的提取冷、热、电负荷的高维特征,提高预测的精度。

3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]赵婧宇,池越,周亚同.基于SSA-LSTM模型的短期电力负荷预测[J].电工电能新技术,2022,41(06):71-79.

4 Python代码、数据

你可能感兴趣的:(电气工程,python,lstm,深度学习)