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

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

💥1 概述

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


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


1.奇异谱分析:

取窗口大小168(24*7)

以冷负荷为例:

1690648182377.png

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


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

   冷负荷贡献率对数图                    

                       热负荷贡献率对数图

                                                 电负荷贡献率对数图

📚2 运行结果

2.1 冷负荷:


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

2.2 热负荷:

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

2.3 电负荷:


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

下面只展现电负荷的:

LSTM:

1690648254519.png

SSA-LSTM:

1690648276879.png



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代码、数据

相关文章
|
8月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
389 100
|
8月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
587 95
|
8月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
494 88
|
8月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
算法 编译器 开发者
如何提高Python代码的性能:优化技巧与实践
本文探讨了如何提高Python代码的性能,重点介绍了一些优化技巧与实践方法。通过使用适当的数据结构、算法和编程范式,以及利用Python内置的性能优化工具,可以有效地提升Python程序的执行效率,从而提升整体应用性能。本文将针对不同场景和需求,分享一些实用的优化技巧,并通过示例代码和性能测试结果加以说明。
|
人工智能 数据挖掘 数据处理
揭秘Python编程之美:从基础到进阶的代码实践之旅
【9月更文挑战第14天】本文将带领读者深入探索Python编程语言的魅力所在。通过简明扼要的示例,我们将揭示Python如何简化复杂问题,提升编程效率。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编码世界的大门。让我们开始这段充满智慧和乐趣的Python编程之旅吧!
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
292 2
|
机器学习/深度学习 Python
时间序列特征提取:从理论到Python代码实践
时间序列是一种特殊的存在。这意味着你对表格数据或图像进行的许多转换/操作/处理技术对于时间序列来说可能根本不起作用。
741 1
时间序列特征提取:从理论到Python代码实践
|
大数据 Python
Python 高级编程:深入探索高级代码实践
本文深入探讨了Python的四大高级特性:装饰器、生成器、上下文管理器及并发与并行编程。通过装饰器,我们能够在不改动原函数的基础上增添功能;生成器允许按需生成值,优化处理大数据;上下文管理器确保资源被妥善管理和释放;多线程等技术则助力高效完成并发任务。本文通过具体代码实例详细解析这些特性的应用方法,帮助读者提升Python编程水平。
751 5
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析的新手指南深入浅出操作系统:从理论到代码实践
【8月更文挑战第30天】在数据驱动的世界中,掌握数据分析技能变得越来越重要。本文将引导你通过Python这门强大的编程语言来探索数据分析的世界。我们将从安装必要的软件包开始,逐步学习如何导入和清洗数据,以及如何使用Pandas库进行数据操作。文章最后会介绍如何使用Matplotlib和Seaborn库来绘制数据图表,帮助你以视觉方式理解数据。无论你是编程新手还是有经验的开发者,这篇文章都将为你打开数据分析的大门。

热门文章

最新文章

推荐镜像

更多