多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测

目录

    • 多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

基本介绍

1.Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测;
2.运行环境为Matlab2018b;
3.输入多个特征,输出单个变量,考虑历史特征的影响,多变量时间序列预测;
4.data为数据集,SA_BPNTS.m为主程序,运行即可,所有文件放在一个文件夹;
5.命令窗口输出R2、MSE、MAE、MAPE和MBE多指标评价;

程序设计

  • 完整程序和数据下载私信博主回复Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测
%% 数据反归一化
T_sim1 = mapminmax('reverse',t_sim1,ps_output);
T_sim2 = mapminmax('reverse',t_sim2,ps_output);
%%  均方根误差 RMSE
error1 = sqrt(sum((T_sim1 - T_train).^2)./M);
error2 = sqrt(sum((T_test - T_sim2).^2)./N);
%%  相关指标计算
%  R2
R1 = 1 - norm(T_train - T_sim1)^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test  - T_sim2)^2 / norm(T_test  - mean(T_test ))^2;

disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])

%  MAE
mae1 = sum(abs(T_sim1 - T_train)) ./ M ;
mae2 = sum(abs(T_sim2 - T_test )) ./ N ;

disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])

%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1)./T_train));
MAPE2 = mean(abs((T_test - T_sim2)./T_test));

disp(['训练集数据的MAPE为:', num2str(MAPE1)])
disp(['测试集数据的MAPE为:', num2str(MAPE2)])

%  MBE
mbe1 = sum(T_sim1 - T_train) ./ M ;
mbe2 = sum(T_sim2 - T_test ) ./ N ;

disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])

%均方误差 MSE
mse1 = sum((T_sim1 - T_train).^2)./M;
mse2 = sum((T_sim2 - T_test).^2)./N;

disp(['训练集数据的MSE为:', num2str(mse1)])
disp(['测试集数据的MSE为:', num2str(mse2)])
%% 优化曲线
figure
plot(curve, 'linewidth',1.5);
title('SA')
xlabel('The number of iterations')
ylabel('Fitness')
grid on;

%%  绘图
figure
plot(1: M, T_train, '-', 1: M, T_sim1, '-', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['RMSE=' num2str(error1)]};
title(string)
xlim([1, M])


figure
plot(1: N, T_test, '-', 1: N, T_sim2, '-', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比'; ['RMSE=' num2str(error2)]};
title(string)
xlim([1, N])


参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pyinstaller将py文件打包成exe

pyinstaller将py文件打包成exe 一、为什么需要将python文件打包成exe文件?二、具体操作步骤一、为什么需要将python文件打包成exe文件? python文件需要在python环境中运行,也就是需要安装python解释器。有时我们自己写的python程序需要分享给自己的朋友、同事或者合作伙伴,…

【xilinx】vivado中的xpm_cdc_gray.tcl的用途

背景 【Xilinx】vivado methodology检查中出现的critical Warning-CSDN博客 接上篇文章,在vivado进行 methodology检查时出现了严重警告,顺着指示查到如下一些问题 TIMING #1 Warning An asynchronous set_clock_groups or a set_false path (see con…

【SAP HANA 33】前端参数多选情况下HANA如何使用IN来匹配?

场面描述: 在操作界面经常会出现某个文本框需要多选的情况,然后后台需要根据多选的值进行匹配搜索。 一般处理的情况是: 1、在Java后端动态生成SQL 2、不改变动态SQL的情况,直接当做一个正常的参数进行传递 本次方案是第二个,直接当做一个正常的字符串参数进行传递即…

海康威视综合安防管理平台 orgManage/v1/orgs/download 任意文件读取漏洞复现

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 海康…

python对文本操作,生成可执行文件

.exe文件主要包含pingmianF.py文件和read_inp_auto.py文件 实现效果 代码 read_inp_auto.py #-*- coding: utf-8 -*- import re import sys import os import os.path import time import pingmianF from pingmianF import vector import numpy as np from tkinter import me…

SNCScan:针对SAP安全网络通信(SNC)的安全分析与评估工具

关于SNCScan SNCScan是一款针对SAP安全网络通信(SNC)的安全分析与评估工具,该工具旨在帮助广大研究人员分析SAP安全网络通信(SNC),并分析和检测SNC配置与SAP组件中的潜在问题。 SNC系统参数 SNC基础 SAP协…

软件磁盘阵列与LVM

一、软件磁盘阵列 磁盘阵列(RAID)是通过硬件或软件技术将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘除了存储还具备数据保护功能。 RAID分不同的级别,不同级别具有不同功能: 1、RAID 0:…

摸鱼大数据——select查询7-10

7、union联合查询 union: 对重复数据会去重 union all: 对重复数据不会去重 ​ 注意:union和union all中两边的字段(类型、顺序)要对应上 示例: use day08; select * from students; ​ select id,name from students where id in (95001,9…

读天才与算法:人脑与AI的数学思维笔记26_读后总结与感想兼导读

1. 基本信息 天才与算法:人脑与AI的数学思维 [英] 马库斯杜索托伊 (Marcus du Sautoy) 机械工业出版社,2020年4月出版 1.1. 读薄率 书籍总字数284千字,笔记总字数39047字。 读薄率39047284000≈13.7% 1.2. 读厚方向 千脑智…

Python—面向对象小解(3)

一、多态 多态指的是一类事物的多中形态 相同的方法,产生不同的执行结果 运算符 * 的多态 int int 加法计算 str str 字符串拼接 list list 列表的数据合并 在python中可以使用类实现一个多态效果 在python中使用重写的方式实现多态 (1)定…

Git-lfs入门使用教程

在备份我的毕设到github私有库的时候,发现git对于单文件大于100MB的会限制上传,一番折腾一下发现了git-lfs [Git LFS(Large File Storage,大文件存储)是 Github 开发的一个Git 的扩展,用于实现 Git 对大文件的支持]。 …

【效率提升】谷歌浏览器搜索技巧

文章目录 查找快速解答,以关键词形式进行搜索使用搜索运算符限定搜索范围,排除不相干内容使用高级搜索,可以搜索到更详细、具体、专业的结果 查找快速解答,以关键词形式进行搜索 想要哪个领域的快速解答,就使用哪个领…

星鸾云平台:高效配置Anaconda环境

星鸾云平台:高效配置Anaconda环境 多种算力资源和AI一体机在星鸾云平台上安装Anaconda并配置Python环境的步骤注册和登录体验GPU显卡服务选择服务器实例登陆GPU实例挂载数据盘配置CUDA环境安装Anaconda 星鸾云平台的优势 星鸾云平台以其卓越的产品功能和优势&#x…

期权交易有什么利弊点?

今天带你了解期权交易有什么利弊点?期权是一种合约,有看涨期权和看跌期权两种类型,也就是做多和做空两个方向,走势标的物对应大盘指数,这也是期权与其他金融工具的主要区别之一,可以用于套利,对…

Python中限制输入数值范围的技术性探讨

目录 一、引言 二、使用内置函数限制输入范围 三、使用条件语句进行范围检查 四、使用异常处理增强鲁棒性 五、结合第三方库进行输入验证 六、总结 一、引言 在Python编程中,用户输入是程序与用户交互的重要方式之一。然而,由于用户输入的多样…

实验室信息管理系统LIMS可以解决哪些问题

LIMS系统(Laboratory Information Management System)是一种专门针对实验室设计的信息管理系统,它能够帮助实验室解决一系列的问题,提高实验室的管理效率和数据可靠性。以下是LIMS系统可以解决的实验室问题: LIMS系统在实验室管理中的作用 1…

TDesign环境搭建-后台模板的安装和使用-构建web管理端后台系统

TDesign环境搭建-后台模板的安装和使用-构建web管理端后台系统 一、安装Nodejs 下载:nodejs 注意,目前前端代码使用的vue3做为脚手架进行开发,需要强制依赖node版本为16及以上 二、模板安装 2.1 安装脚手架:cli nodejs安装好之…

数字化校园建设让学习更加广阔

校园构建数字化校园的亮点是什么?校园以智能服务、才智办理、数字讲堂为中心内容的智慧校园建造,不只使师生作业和日子更高效,并且使他们有更多的时刻投入到智能教育和智能学习中去,进步教育质量,使学生走出校门时紧跟…

风电功率预测 | 基于TCN-GRU时间卷积门控循环单元的风电功率预测(附matlab完整源码)

完整代码 clc; clear close allX = xlsread(风电场预测.xlsx); X = X(5665:8640,:); %选取3月份数据 num_samples =

辅导男朋友转算法岗的第2天|self Attention与kv cache

文章目录 公式KV CacheMHA、MQA、GQA 面试题为什么除以 d k \sqrt{d_k} dk​ ​Multihead的好处decoder-only模型在训练阶段和推理阶段的input有什么不同?手撕必背-多头注意力 公式 $ \text{Output} \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) \times …