当前位置: 首页 > news >正文

时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测

时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测

目录

    • 时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

基本介绍

1.Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测(完整源码和数据);
2.数据集为excel,单列时间序列数据集,运行主程序main.m即可,其余为函数文件,无需运行;
3.优化参数为神经网络的权值和偏置,命令窗口输出RMSE、MAPE、MAE、R2等评价指标;
4.运行环境Matlab2018b及以上;
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

程序设计

  • 完整源码和数据获取方式资源出下载Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测 。
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  导入数据(时间序列的单列数据)
result = xlsread('data.xlsx');%%  数据分析
num_samples = length(result);  % 样本个数 
kim = 4;                      % 延时步长(kim个历史数据作为自变量)
zim =  1;                      % 跨zim个时间点进行预测%%  划分数据集
for i = 1: num_samples - kim - zim + 1res(i, :) = [reshape(result(i: i + kim - 1), 1, kim), result(i + kim + zim - 1)];
end%% 数据集分析
outdim = 1;                                  % 最后一列为输出
num_size = 0.7;                              % 训练集占数据集比例
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);%%  数据归一化
[p_train, ps_input] = mapminmax(P_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);[t_train, ps_output] = mapminmax(T_train,0,1);
t_test = mapminmax('apply',T_test,ps_output);%% 节点个数
inputnum  = size(p_train, 1); % 输入层节点数
hiddennum = 15;                % 隐藏层节点数
outputnum = size(t_train, 1); % 输出层节点数
% CSDN 机器学习之心

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

相关文章:

  • SQLite3 数据库的基本操作
  • docker-面试题
  • 探讨大数据、云计算与物联网的融合与发展
  • 小程序配置服务器域名
  • 【微服务】Eureka(服务注册,服务发现)
  • flask_restful规范返回值之参数设置
  • Spring Boot + MyBatis
  • uniapp的配置文件、入口文件、主组件、页面管理部分
  • io的学习4
  • 力扣热门算法题 89. 格雷编码,92. 反转链表 II,93. 复原 IP 地址
  • 如何学习VBA_3.2.19:利用Shell函数运行可执行程序
  • 宜搭低代码高级认证实操题2 faas连接器加密解密
  • 【快速解决】解决谷歌自动更新的问题,禁止谷歌自动更新,如何防止chrome自动升级 chrome浏览器禁止自动升级设置方法
  • 网络安全-文件包含
  • 龙蜥 Anolis OS 7.9 一键安装 Oracle 11GR2(231017)单机版
  • 【刷算法】求1+2+3+...+n
  • C++类的相互关联
  • docker python 配置
  • Fastjson的基本使用方法大全
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Java IO学习笔记一
  • Javascript弹出层-初探
  • JAVA多线程机制解析-volatilesynchronized
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Service Worker
  • spring boot下thymeleaf全局静态变量配置
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Vue全家桶实现一个Web App
  • Webpack 4 学习01(基础配置)
  • 程序员最讨厌的9句话,你可有补充?
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于HAProxy的高性能缓存服务器nuster
  • 人脸识别最新开发经验demo
  • 思否第一天
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (java)关于Thread的挂起和恢复
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)Google的Objective-C编码规范
  • (转)linux 命令大全
  • (转)Oracle存储过程编写经验和优化措施
  • (转)母版页和相对路径
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ***检测工具之RKHunter AIDE
  • ../depcomp: line 571: exec: g++: not found
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET导入Excel数据
  • .NET的微型Web框架 Nancy
  • .NET连接MongoDB数据库实例教程