基于卷积神经网络-门控循环单元结合注意力机制(CNN-GRU-Attention)时间序列预测,单列数据输入模型。matlab代码,2020版本及以上。评价指标包括:R2、MAE、MSE、RMSE

2023-11-02

 

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
tic
% restoredefaultpath

%% 导入数据
f = xlsread('windspeed.xls','Sheet1','B2:B501');
[x,y]=data_process(f,8);   %步长为8
num=size(x,1);        %前70%训练,对最后30%进行预测
m=round(0.7*num);

P_train=x(1:m,:)';
T_train=y(1:m,:)';

P_test=x(m+1:end,:)';
T_test=y(m+1:end,:)';

%%  数据分析
outdim = 1;                                  % 最后一列为输出
f_ = size(P_train, 1);                  % 输入特征维度
%%  得到训练集和测试样本个数
M = size(P_train, 2);
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);

%%  数据平铺
%   将数据平铺成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 : M
    Lp_train{i, 1} = p_train(:, :, 1, i);
end

for i = 1 : N
    Lp_test{i, 1}  = p_test( :, :, 1, i);
end

智能算法及其模型预测

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于卷积神经网络-门控循环单元结合注意力机制(CNN-GRU-Attention)时间序列预测,单列数据输入模型。matlab代码,2020版本及以上。评价指标包括:R2、MAE、MSE、RMSE 的相关文章

随机推荐

  • Python机器视觉--OpenCV入门--机器视觉与OpencCV用途简介

    1 机器视觉介绍 现在说的机器视觉 Machine Vision 一般指计算机视觉 Computer Vision 简单来说就是研究如何使机器看懂东西 就是是指用摄影机和电脑代替人眼对目标进行识别 跟踪和测量等机器视觉 并进一步做图形处理
  • 从Java到Go的过渡:实现服务器自动化运维

    目录 Go语言基础 自动化运维 从Java到Go的过渡 在今天的博客中 我们将探讨如何使用Go语言进行服务器自动化运维 例如Ansible和Puppet 作为一名Java开发者 这是一个极好的机会来学习和理解Go语言 并开始你的Go语言开发
  • 华为OD机试 - 告警抑制(C & Python)

    题目描述 告警抑制 是指高优先级抑制低优先级告警的规则 高优先级告警产生后 低优先级告警不再产生 请根据原始告警列表和告警抑制关系 给出实际产生的告警列表 注意 1 不会出现循环抑制的情况 2 告警不会传递 比如 A gt B B gt C
  • 浅谈JDBC,JDBC实现的几大步骤

    前言 当我们学完数据库之后总觉得数据库和java之间是没有联系的 但是我们还是要去学数据库是为了什么呐 现在就来了 现在我就来给大家讲讲怎么将数据库和java进行联系 我们也可以用数据库代替以前的IO流来存东西了 JDBC 概述 JDBC
  • day04-数组

    1 数组 1 1什么是数组 理解 数组就是存储数据长度固定的容器 存储多个数据的数据类型要一致 1 2数组定义格式 记忆 1 2 1第一种 数据类型 数组名 示例 int arr double arr char arr 1 2 2第二种 数
  • 【正点原子FPGA连载】 第三十一章 交通灯实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1 实验平台 正点原子领航者ZYNQ开发板 2 平台购买地址 https item taobao com item htm id 606160108761 3 全套实验源码 手册 视频下载地址 http www openedv com th
  • 【MySQL调优】如何进行MySQL调优?一篇文章就够了!

    导航 Java笔记 踩坑汇总 Java基础 进阶 JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud 黑马旅游 谷粒商城 学成在线 MySQL高级篇 设计模式 常见面试题 源码 目录 一 监控报警 二 排查慢SQ
  • C#9.0新特性

    运行环境 NET 5 0 vs2019 16 8版本以上 目标类型推导 在这之前我们创建一个对象 Point p new Point x y 9 0中 进行了优化 Point p new x y Point ps new 1 2 new 5
  • java多线程-对象及变量的并发访问

    synchronized同步方法 该关键字可用来保障原子性 可见性和有序性 方法内的变量为线程安全 多个线程的情况下 各个线程的变量为其私有 互不影响 实例变量非线程安全问题与解决方案 在被调用方法前加synchronized关键字上锁 同
  • 高质量程序设计指南C++ C 代码规范

    这里只是搬运作者对 匈牙利 命名规则做合理简化之后的命名规则 比较适合于 Windows应用程序的开发 建议1 类型名和函数名均以大写字母开头的单词组合而成 例如 class Node 类名 class LeafNode 类名 void D
  • 修改镜像源和修改PATH

    ls a 显示所有文件夹 这里就有我们需要的bashrc 修改path 和condarc 修改镜像 vim bashrc or condarc 打开文件 直接摁i进入修改模式 进行修改 修改完以后esc wq 确认保存退出就好了
  • qt opengl 2d纹理数组

    2d纹理数组就是用一个纹理数组类型的变量保存数个纹理 这样就避免了使用多个单个的纹理对象 这再批处理一系列相同大小的纹理时 非常有用 我这里用到的场景是在点精灵中使用纹理数组使得每个精灵纹理上不同的图案 我用的图片有16张 当顶点为16个时
  • 单片机c51 单一外中断的应用

    1 在51单片机的P1接口上有8只LED 在外部中断0输入引脚P3 2 INT0 引脚接有一只按钮开关K1 程序要求将外部中断0设置成负跳沿触发 程序启动时 P1口上的8只LED亮 按一次开关按钮K1 使引脚接地 产生一个负跳沿触发的外部中
  • python os.walk读取路径下文件名

    import os dir path C for root dirs files in os walk dir path for file in files print os path join root file if file len
  • android自定义view之地图(一)

    最近参加了一个比赛 要用到自己做一个自定义的小地图 所以在网上查找了一些关于自定义view的有关资料 也了解了自定义控件的初步知识 效果图 第一阶段我画了一个自制的网格图 点哪个网格就会哪个网格就会显示 工作环境图 代码介绍 1 我们都知道
  • Qt之QProcess(一)运行cmd命令

    Qt提供了QProcess类 QProcess可用于完毕启动外部程序 并与之交互通信 一 启动外部程序的两种方式 1 一体式 void QProcess start const QString program const QStringLi
  • python3 题解(47 定义有理数类)

    有理数类 问题 浮点数的运算很多时候都是近似的 因为计算机无法表示一个无限的小数 有理数总可以表示为整数的比值 并且有理数的四则运算结果还是一个有理数 除0除外 如果是有四则运算 则可以考虑用有理数表示 这样可以没有舍入误差 分析 记录一个
  • Markdown基础

    Markdown学习 标题 N个 空格 二级标题 三级标题 字体 Hello World 两边都加2个 就变成粗体 Hello World 两边都加1个 就变成斜体 Hello World 两边都加3个 就变粗斜体 Hello World
  • css世界读书笔记->line-height(1)

    如果 line height 的值是1 5 font size大小是14px 那么半行距的大小是 14px 4 5 14px 2 3 5px border及line height等传统css属性没有小数的概念 因此3 5px需要取整处理 1
  • 基于卷积神经网络-门控循环单元结合注意力机制(CNN-GRU-Attention)时间序列预测,单列数据输入模型。matlab代码,2020版本及以上。评价指标包括:R2、MAE、MSE、RMSE

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 tic restoredefaultpath 导入数据 f xlsread windspeed xls She