GA-CNN-LSTM-Attention、CNN-LSTM-Attention、GA-CNN-LSTM、CNN-LSTM四模型多变量时序预测一键对比

ops/2025/1/23 6:54:59/

CNN-LSTM.html" title=GA-CNN-LSTM>GA-CNN-LSTM-Attention、CNN-LSTM-Attention、CNN-LSTM.html" title=GA-CNN-LSTM>GA-CNN-LSTMCNN-LSTM四模型多变量时序预测一键对比

目录

预测效果

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

基本介绍

基于CNN-LSTM.html" title=GA-CNN-LSTM>GA-CNN-LSTM-Attention、CNN-LSTM-Attention、CNN-LSTM.html" title=GA-CNN-LSTM>GA-CNN-LSTMCNN-LSTM四模型多变量时序预测一键对比(仅运行一个main即可)

Matlab代码,每个模型的预测结果和组合对比结果都有!
1.无需繁琐步骤,只需要运行一个main即可一键出所有图像。
2.程序已经调试好,无需更改代码替换数据集即可运行!!!数据格式为excel!
3.GA优化参数为:隐藏层节点数,学习率,正则化系数。
4.遗传算法(Genetic Algorithm,GA)是一种模拟自然选择和遗传机制的优化搜索算法,由美国的 John holland于20世纪70年代提出。它通过模拟生物进化过程中的染色体基因的交叉、变异等过程,将问题的求解过程转换成计算机仿真运算,以搜索最优解。。
5.运行环境要求MATLAB版本为2023b及其以上。
评价指标包括:R2、MAE、MSE、RPD、RMSE等,图很多
代码中文注释清晰,质量极高,赠送测试数据集,可以直接运行源程序。替换你的数据即可用 适合新手小白

程序设计

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行%%  导入数据
result = xlsread('数据集.xlsx');%%  数据分析
num_samples = length(result);  % 样本个数
kim = 2;                       % 延时步长(前面多行历史数据作为自变量)
zim =  1;                      % 跨zim个时间点进行预测
nim = size(result, 2) - 1;     % 原始数据的特征是数目%%  划分数据集
for i = 1: num_samples - kim - zim + 1res(i, :) = [reshape(result(i: i + kim - 1 + zim, 1: end - 1)', 1, ...(kim + zim) * nim), result(i + kim + zim - 1, end)];
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, -1, 1);%将训练集和测试集的数据调整到01之间
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, -1, 1);% 对测试集数据做归一化
t_test = mapminmax('apply', T_test, ps_output);%%  数据平铺
%   将数据平铺成1维数据只是一种处理方式
%   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
%   但是应该始终和输入层数据结构保持一致
p_train =  double(reshape(p_train, f_, 1, 1, M));
p_test  =  double(reshape(p_test , f_, 1, 1, N));
t_train =  double(t_train)';
t_test  =  double(t_test )';%%  数据格式转换
for i = 1 : MLp_train{i, 1} = p_train(:, :, 1, i);
endfor i = 1 : NLp_test{i, 1}  = p_test( :, :, 1, i);
enddisp('----------运行CNN-LSTM模型----------');
%%  CNN-LSTM

参考资料

[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


http://www.ppmy.cn/ops/152397.html

相关文章

第二届国赛铁三wp

第二届国赛 缺东西去我blog找👇 第二届长城杯/铁三 | DDLS BLOG web Safe_Proxy 源码题目 from flask import Flask, request, render_template_stringimport socketimport threadingimport htmlapp Flask(__name__)app.route(/, methods"GET"])de…

WPF 复杂页面布局及漂亮 UI 界面设计全解析

在 WPF 开发领域,打造一个既具备复杂功能又拥有美观 UI 界面的应用程序是众多开发者追求的目标。复杂页面布局与漂亮的 UI 设计不仅能提升用户体验,还能展现应用的专业性和独特性。本文将深入探讨如何在 WPF 中实现复杂页面布局以及设计出令人眼前一亮的…

Powershell-2

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:powershell(2)_哔哩哔哩_bilibili 一 、Powershell使用外部命令 在 Powershell 中,可以执行一些外部命令&…

JavaWeb学习-Day1HTML学习

&#xff08;一&#xff09;HTML快速入门 &#xff08;1&#xff09;快速创建文本文件&#xff0c;并将后缀名改为.html (2)编写HTML结构标签 &#xff08;3&#xff09;在<body>中填写内容 <html><head><title>HTML快速入门,在文档头部展示</t…

锅炉远程透传网关

锅炉作为能源供给系统的重要设备&#xff0c;广泛应用于工业生产、供热供暖和电力行业。在锅炉的运行管理中&#xff0c;实时数据监控、运行状态远程访问和故障快速响应是提升设备效率与安全性的重要需求。然而&#xff0c;传统锅炉管理模式中&#xff0c;设备分散、信息孤岛、…

OpenCV边沿检测(Python版)

边缘检测是图像处理中的一项重要任务&#xff0c;用于找到图像中的边界或边缘。它在计算机视觉、图像处理和模式识别等领域中具有广泛的应用。 边缘可以被定义为图像亮度、颜色或纹理的突变区域。边缘检测算法旨在识别这些变化并将其标记为边缘。边缘检测可以用于分割图像、检测…

VBA语言的区块链

用VBA语言探讨区块链技术 引言 区块链技术自2008年比特币的问世以来&#xff0c;逐渐成为了一个热门的话题。它不仅推动了数字货币的崛起&#xff0c;更在金融、供应链、医疗、游戏等众多领域展示出了巨大的应用潜力。然而&#xff0c;对于很多程序员来说&#xff0c;如何实现…

Java 面向对象基础全面解析

Java学习资料 Java学习资料 Java学习资料 在 Java 编程领域&#xff0c;面向对象编程&#xff08;OOP&#xff09;思想是构建复杂且高效程序的基石。它将现实世界中的事物抽象为程序中的对象&#xff0c;通过一系列特性&#xff0c;让程序更具模块化、可维护性与扩展性。 一…