基于LSTM-Adaboost的电力负荷预测的MATLAB程序

news2024/11/26 7:44:38

关注“电气仔推送”获得资料(专享优惠)

主要内容:

LSTM-AdaBoost负荷预测模型先通过 AdaBoost集成算法串行训练多个基学习器并计算每个基学习 器的权重系数,接着将各个基学习器的预测结果进行线性组合,生成最终的预测结果。代码中的LSTM可以替换为任意的机器学习算法。

部分程序:

%% 数据归一化
[inputn,inputps]=mapminmax(input_train,0,1);
[outputn,outputps]=mapminmax(output_train);
inputn_test=mapminmax('apply',input_test,inputps);
%% 获取输入层节点、输出层节点个数
inputnum=size(input_train,1);
outputnum=size(output_train,1);
disp('/')
disp('LSTM神经网络结构...')
disp(['输入层的节点数为:',num2str(inputnum)])
disp(['输出层的节点数为:',num2str(outputnum)])

numFeatures = inputnum;   %特征为一维
numResponses = outputnum;  %输出也是一维
numHiddenUnits1 = 25;   %创建LSTM回归网络,指定LSTM层的隐含单元个数。可调
layers = [ ...
    sequenceInputLayer(numFeatures)    %输入层
    lstmLayer(numHiddenUnits1, 'OutputMode', 'sequence')
    fullyConnectedLayer(numResponses)    %为全连接层,是输出的维数。
    regressionLayer];      %其计算回归问题的半均方误差模块 。即说明这不是在进行分类问题。
 
%指定训练选项,求解器设置为adam, 1000轮训练。
%梯度阈值设置为 1。指定初始学习率 0.01,在 125 轮训练后通过乘以因子 0.2 来降低学习率。
options = trainingOptions('adam', ...
    'MaxEpochs',1000, ...
    'GradientThreshold', 1, ...
    'InitialLearnRate',0.01, ...      
    'LearnRateSchedule','piecewise', ...%每当经过一定数量的时期时,学习率就会乘以一个系数。
    'LearnRateDropFactor', 0.01, ...
    'LearnRateDropPeriod',600, ...      %乘法之间的纪元数由" LearnRateDropPeriod"控制。可调
    'Verbose',0,  ...  %如果将其设置为true,则有关训练进度的信息将被打印到命令窗口中。默认值为true。
    'Plots','training-progress');    %构建曲线图 将'training-progress'替换为none
net0 = trainNetwork(inputn,outputn,layers,options); 
an0 = predict(net0,inputn_test);  
%预测结果反归一化与误差计算
test_simu0=mapminmax('reverse',an0,outputps); %把仿真得到的数据还原为原始的数量级
%误差指标
error0 = output_test - test_simu0;
mse0=mse(output_test,test_simu0)
%% 标准LSTM神经网络作图
figure
plot(output_test,'b-','markerfacecolor',[0.5,0.5,0.9],'MarkerSize',6)
hold on
plot(test_simu0,'r--','MarkerSize',6)
title(['mse误差:',num2str(mse0)])
legend('真实y','预测的y')
xlabel('样本数')
ylabel('负荷值')
 

训练进度:

预测结果:

预测误差:

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

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

相关文章

MySQL之MHA集群

MHA概述 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换…

hbba网站下载国家标准/行业标准的方法

hbba网站是不提供下载按钮并且不支持右键的,那么如何下载呢? 1、首先看一下pdf有多少页,一般标准介绍上有写。 2、使用edge或google浏览器打开pdf预览页面,打开开发者模式,用小箭头指向第一页,这样就获取到…

数据库引擎选择指南:MyISM和InnoDB哪个更适合你?

亲爱的小伙伴们,大家好!我是小米,今天我要和大家一起来聊一聊两个数据库引擎,分别是MyISM和InnoDB。这两个数据库引擎在MySQL中都扮演着非常重要的角色,了解它们的特点和区别对于我们理解数据库的工作原理和性能优化非…

短视频矩阵系统源码--saas开发

一、概述 抖音SEO矩阵系统源代码是一套针对抖音平台的搜索引擎优化工具,它可以帮助用户提高抖音视频在搜索结果中的排名,增加曝光率和流量。本开发文档旨在提供系统的功能框架、技术要求和开发示例,以便开发者进行二次开发和优化。 二、功能框…

ctfshow web入门 php特性 web136-web140

1.web136 还有一种写文件的命令时tee命令 payload&#xff1a; : ls /|tee 1 访问1下载查看文件1发现根目录下有flag cat /f149_15_h3r3|tee 2 访问下载查看文件22.web137 call_user_func <?php class myclass {static function say_hello(){echo "He…

【m98】视频帧的 jitterbuffer 1:

管理待解码的视频帧: VCMFrameBuffer VCMFrameBufferStateEnum 代表帧的状态信息:组帧失败的(kStateEmpty)?kStateIncomplete(存储了部分包)?kStateComplete(拥有了所有包?) enum VCMFrameBufferStateEnum {kStateEmpty, // frame popped by the RTP receiver…

phpstorm不提示$this->request,不提示Controller父类的方法

![在这里插入图片描述](https://img-blog.csdnimg.cn/d55799a22b724099930eb7fb67260a12.png 最后 保存就可以了

Vue-2.0组件化开发

组件化 一个页面可以拆分成一个个组件&#xff0c;每个组件有着自己独立的结构、样式、行为。 好处&#xff1a;便于维护&#xff0c;利于复用->提升开发效率 组件分类&#xff1a;普通组件、根组件 根组件 整个应用最上层的组件&#xff0c;包裹所有普通小组件。 Ctrl…

leetCode 53.最大子数组和 动态规划 + 优化空间复杂度

关于此题我的往期文章&#xff1a; leetCode 53.最大子数和 图解 贪心算法/动态规划优化_呵呵哒(&#xffe3;▽&#xffe3;)"的博客-CSDN博客https://heheda.blog.csdn.net/article/details/13349726853. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; >&…

WebKit Insie: Active 样式表

WebKit Inside: CSS 样式表的匹配时机介绍了当 HTML 页面有不同 CSS 样式表引入时&#xff0c;CSS 样式表开始匹配的时机。后续文章继续介绍 CSS 样式表的匹配过程&#xff0c;但是在匹配之前&#xff0c;首先需要收集页面里面的 Active 样式表。 1 Active 样式表 在一个 HTML …

Windows下Mosquitto服务配置监听任何IP,搭配使用MQTTX

Mosquitto 默认只监听本地地址&#xff0c;想让它监听其他的IP和端口需要以下操作在mosquitto.conf文件最后加如下内容 allow_anonymous true listener 1883 0.0.0.0 在启动的时候只需要 .\mosquitto.exe -c .\mosquitto.conf -v 就可以了

2023年中国临床信息系统市场规模及细分市场结构分析[图]

临床信息系统(ClinicalInformationSystem&#xff09;&#xff0c;其主要目标是支持医院医护人员的临床活动&#xff0c;收集和处理病人的临床医疗信息&#xff0c;丰富和积累临床医学知识&#xff0c;并提供临床咨询、辅助诊疗、辅助临床决策。传统上&#xff0c;一些人把直接…

自动化测试面试题

常规问题 1、如何快速深入的了解移动互联网领域的应用 &#xff08;答案&#xff1a;看http协议 restful api知识 json加1分&#xff09; 2、对xx应用自己会花多久可以在业务上从入门到精通&#xff0c;说说自己的方法 &#xff08;答案&#xff1a;看api和数据库的加1分&…

解决远程视频会议卡顿问题,优化企业网络办公体验

视频会议、在线语音这种交互类的应用都是对网络链路质量有高要求的场景&#xff0c; 而造成视频会议卡顿的原因也是有多方面因素的&#xff0c;比如视频应用服务器或者终端的原因造成&#xff0c;网络当然也是其中很重要的一个因素&#xff0c;比如网络线路质量不稳定&#xff…

c语言文件操作详解:fgetc,fputc,fgets,fputs,fscanf,,fprintf,fread,fwrite的使用和区别

前言&#xff1a;在对于c语言的学习中&#xff0c;我们为了持续使用一些数据&#xff0c;为了让我们的数据可以在程序退出后仍然保存并且可以使用&#xff0c;我们引入了文件的概念和操作&#xff0c;本文旨在为大家分享在文件操作中常用的输入输出函数的使用方式和技巧&#x…

OJ练习第183题——移动机器人

移动机器人 力扣链接&#xff1a;2731. 移动机器人 题目描述 示例 官解思路 当两个机器人相撞时&#xff0c;它们会沿着原本相反的方向移动。由于机器人之间并没有任何区别&#xff0c;相撞可以看做是穿透&#xff0c;原本左边的机器人相撞后交换为右边的机器人&#xff0c…

短视频视频号矩阵系统源码独立部署开发对接

一、多账号矩阵管理功能&#xff08;基于api接口开发与没有官方接口开发的区别&#xff09; 基于API接口开发&#xff0c;可以通过调用官方提供的接口获取账号信息、创建新账号、更新账号设置等操作&#xff0c;实现自动化的账号管理绑定授权&#xff0c;通过相关的接口开发绑定…

Data security.隐私保护-多方安全计算技术基础

文章目录 Data security.隐私保护-多方安全计算技术基础一、多方安全计算的背景1.定义2.分类2.1不诚实参与方数量2.2敌手行为2.3敌手计算能力2.4输出可达性2.5计算模型2.6腐化策略&#xff08;攻击者确定攻破并控制参与方的策略&#xff09;2.7通信网络 3.设计方法3.1秘密共享&…

镜像仓库harbor安装部署

基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configharbor wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce docke…