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

news2024/11/17 9:36:30

💥💥💞💞欢迎来到本博客❤️❤️💥💥

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

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

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 冷负荷:

2.2 热负荷:

 2.3 电负荷:

🎉3 参考文献

🌈4 Python代码、数据


💥1 概述

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

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

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个特征分量重构时间序列。

    冷负荷贡献率对数图                     

                                                 热负荷贡献率对数图

                                                  电负荷贡献率对数图

📚2 运行结果

2.1 冷负荷:

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

2.2 热负荷:

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

 2.3 电负荷:

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

下面只展现电负荷的:

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-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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/133927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三十六讲:无线AP胖AP模式配置与管理

胖AP(Fat AP)配置一个开放式WLAN非常方便,需要完成的操作包括有线和无线两部分的配置。有线部分即ethernet接口的配置,保证AP能够接入Internet,无线部分的配置包括关联WLAN与VLAN,广播SSID,启用VAP,若无其他DHCP服务器的话&#x…

万物皆有裂痕,那是光进来的地方|2022年个人总结

前两天朋友说要做个视频,记录下2022年的不平凡。突然想到今年是否要写年终总结呢?反复挣扎后,感觉还是应该写个总结,一则记录这一年的不平凡,二则检视这一年的生活与工作状态。- 1 - 工作的危与机2022年对所有的人来说…

Cocos Creator 常见错误排查方法

Cocos Creator 新手开发的时候经常会遇到一些错误不知道如何解决,今天把这些错误总结一下,下次遇到的时候,自己知道如何分析。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从…

【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)

目录 一、身份验证定义 1、三个身份验证因素 2、身份验证和授权 3、身份验证漏洞的产生 4、实验的字典 二、基于密码的登录中的漏洞 1、强制策略 2、用户枚举 3、有缺陷的强力保护 实验1:通过不同响应的用户名枚举 实验4:通过细微不同的响应进…

【Web前端】一文带你吃透CSS(完结篇)

前端学习路线小总结: 基础入门:HTML CSS JavaScript 三大主流框架:VUE REACT Angular 深入学习:小程序 Node jQuery TypeScript 前端工程化 文章目录一.CSS布局-对齐1.水平对齐1.1元素居中对齐1.2文本居中对齐1.3图片居中对齐1.4使…

九章 - 2022年度文章大合集

今天,是九章成立的第639天,元旦节。九章全体员工在这里祝大家,2023年元旦快乐!2022年,《九章智驾》这个账号里共发布了87篇原创深度内容,内容覆盖了自动驾驶的各个领域,有一直关注我们的读者的深…

怎么录屏?如何录制足球比赛直播视频?

等了多时,热血的足球赛事终于要来了。 不知道今年你看好哪支球队。皇马?曼联?拜仁? 虽然今年不用熬夜,但总是怕加班错过笔试。 今天给大家送一个安利神器,让你完美记录足球赛事精彩瞬间! 如果您…

Eclipse JNI Demo --【Linux】

目录 1、建工程 2、建java类 3、生成头文件 4、CPP实现 5、配置及编译 6、验证 1、建工程 先创建一个android标准工程: 2、建java类 在com.phuket.tour.studio包下,建立一个Java文件Mp3Encoder.java,并且在文件中新增一个方法encode&…

MySQL数据库服务器的优化步骤

在数据库调优中,我们的目标就是响应时间更快, 吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式。 当我们遇到数据库调优问题的时候,该如何思考呢? 这里把思考的流程整理成下面这张图。整个流…

Docker环境下配置Es自定义分词器(ik)

分词 一个 tokenizer(分词器)接收一个字符流,将之分割为独立的 tokens(词元,通常是独立 的单词),然后输出 tokens 流。 例如,whitespace tokenizer 遇到空白字符时分割文本。它会将…

路由 OSPF简介、OSPF与其它路由的区别、OSPF区域概念、OSPF路由代名词IR、BR、ABR、ASBR概念简介。

4.2.0 路由 OSPF(简介、OSPF与静态、OSPF区域概念、OSPF路由代名词) 目录OSPF简介OSPF与其它路由的区别OSPF区域概念OSPF路由代名词概念OSPF简介 OSPF 开放式最短路径优先(Open Shortest Path First) OSPF动态路由协议属于内部网…

【C语言 数据结构】二叉树

文章目录二叉树一、二叉树的概念二、二叉树的基本形态三、二叉树的性质四、特殊的二叉树五、二叉树的存储结构5.1 顺序5.2 链表5.2.1 二叉链表5.2.1 三叉链表六、二叉树的遍历先序遍历(T L R)中序遍历(L T R)后序遍历(…

#P05807. 等差数列

Description 小J学习了等差数列&#xff0c;于是他很开心的知道了 123.....1005050. 现在他想知道&#xff0c;对于某个公差为1的等差数列&#xff0c;如果总和为N的话。 有多少个等差数列满足这个条件 Format Input 一行给出整数N N<10^12 Output 一行给出你的结…

【学习】domain adaptation、BERT

文章目录一、domain adaptation领域适应domain shiftdomain adversarial training![在这里插入图片描述](https://img-blog.csdnimg.cn/26ef051b6a6148cbadb2dc6a9067fce2.png)domain generalization二、自监督学习多语言BERT的跨语言能力交叉学科能力用人工数据进行预训练一、…

JUC高并发-进程与线程

1.idea快捷键 shiftalt向上箭头 &#xff1a;表示把代码向上移动一行 ctrlaltL&#xff1a;整理代码的格式 ctrlshiftF10&#xff1a;启动程序 2.进程与线程 2.1 进程与线程 进程 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就…

多变量微积分1

叉乘的定义&#xff1a; 混合积的几何意义&#xff1a;就是平行六面体的体积 三个向量共面的充要条件&#xff1a; 这里要注意&#xff0c;混合机对应的就是三阶行列式的值。 平面方程&#xff1a; 点法式&#xff1a; 一般式&#xff1a; 截距式&#xff1a; 三点式&#xff…

CMake中link_libraries的使用

CMake中的link_libraries命令用于将库链接到稍后添加的所有targets.其格式如下&#xff1a; link_libraries([item1 [item2 [...]]][[debug|optimized|general] <item>] ...) 指定在通过诸如add_executable或add_library等命令链接稍后在当前目录或更低(below)目录中创建…

RabbitMQ实现延迟队列

业务场景&#xff1a; 延迟发送短信用户下单&#xff0c;若15分钟内用户未支付&#xff0c;取消订单预约工作会议&#xff0c;20分钟后通知所有参会人员 … 实现方式1&#xff1a;死信交换机 死信概念&#xff1a;当一个队列中的消息满足下列情况之一&#xff0c;就会变成死…

数字验证学习笔记——SystemVerilog芯片验证19 ——线程的控制

一、线程的控制 1.1 fork并行线程语句块 fork join_any 当T3结束时&#xff0c;退出fork join_any 后&#xff0c;T1和T2还会执行。 1.1.1 fork … join 上述代码中&#xff0c;在fork join中开辟了4个子线程&#xff0c;当4个子线程执行完之后&#xff0c;才能执行下面的$di…

《垃圾回收算法手册 自动内存管理的艺术》——并发算法预备知识(笔记)

文章目录十二、特定语言相关内容12.1 终结12.1.1何时调用终结方法12.1.2 终结方法应由哪个线程调用12.1.3 是否允许终结方法彼此之间的并发12.1.4 是否允许终结方法访问不可达对象12.1.5 何时回收已终结对象12.1.6 终结方法执行出错时应当如何处理12.1.7 终结操作是否需要遵从某…