EI级 | Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测

EI级 | Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测

目录

    • EI级 | Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

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

基本介绍

1.【EI级】Matlab实现VMD-TCN-GRU多变量时间序列预测(光伏功率数据);
Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测;
VMD对光伏功率分解,TCN-GRU模型对分量分别建模预测后相加
2.运行环境为Matlab2021a及以上;
3.数据集为excel(光伏功率数据),输入多个特征,输出单个变量,多变量光伏功率时间序列预测,main.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MSE、RMSE、MAE、ME等多指标评价;

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

参考文献(非复现)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测获取。

[data]=process(data1,n,hour,BaoLiu_num,JianGe_num);
X    = data(:,end)';
%% --------- some sample parameters forVMD:对于VMD样品参数进行设置---------------
alpha = 2000;       % moderate bandwidth constraint:适度的带宽约束/惩罚因子
tau = 0;            % noise-tolerance (no strict fidelity enforcement):噪声容限(没有严格的保真度执行)
K = 3;              % modes:分解的模态数,可以自行设置,这里以8为例。
DC = 0;             % no DC part imposed:无直流部分
init = 1;           % initialize omegas uniformly  :omegas的均匀初始化
tol = 1e-7;  
%% --------------- Run actual VMD code:数据进行vmd分解---------------------------
[u, u_hat, omega] = VMD(X, alpha, tau, K, DC, init, tol); %其中u为分解得到的IMF分量
figure;
imfn=u;
n=size(imfn,1); 
subplot(n+1,1,1);  
plot(X); 
ylabel('原始功率','fontsize',12,'fontname','宋体');
title('VMD分解');for n1=1:nsubplot(n+1,1,n1+1);plot(u(n1,:));%输出IMF分量,a(:,n)则表示矩阵a的第n列元素,u(n1,:)表示矩阵u的n1行元素ylabel(['IMF' int2str(n1)]);%int2str(i)是将数值i四舍五入后转变成字符,y轴命名
endxlabel('样本','fontsize',12,'fontname','宋体');
for i_vmd=1:K
data(:,end) = u(i_vmd,:)';%% 输入天数
Tian=100;
weather=6;
his_time=4;
his_day=2;
time=BaoLiu_num;
shurugeshu = weather+his_time+his_day;%输入特征个数
lag = 1:time*his_day;[input_train,input_valid,input_test,output_train,output_valid,output_test]=data_set(data,Tian,weather,time);
%% 
[~,bb]=mapminmax([input_train input_valid input_test]);
[cc,dd]=mapminmax([output_train output_valid output_test]);
%%
% 训练集
[tr_inputn,tr_outputn]=train_set(input_train,output_train,bb,dd,lag,his_time,his_day,time);
Xxun{1} = tr_inputn;  %训练集输入
Yxun{1} = tr_outputn; % 训练集输出
%%
% TCN参数
numChannel = 10;  % 通道数量
KerSize = 3;  % 卷积核大小
dropoutFactor = 0.025;  % droupt
numChan = 4;  % TCN残差块数

参考资料

[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501

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

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

相关文章

C# 强制类型转换和as区别和不同使用场景

文章目录 1.强制类型转换2. as 运算符3.实例总结: 在C#中,as 和 强制类型转换(例如 (T)value)的主要区别在于它们处理类型转换不成功时的行为和适用场景: 1.强制类型转换 使用语法:Type variable (Type)…

Python基础知识:整理7 字典的定义及其相关操作

1 字典的定义 # 1. 字典的定义 # 定义字典的字面量 # {key: value, key: value, ......, key: value}# 定义字典变量 # my_dict {key: value, key: value, ......, key: value}# 定义空字典 # my_dict {} # my_dict dict()定义重复Key的字典 my_dict1 {"张三": …

基于JavaWeb+SSM+Vue四六级词汇微信小程序系统的设计和实现

基于JavaWebSSMVue四六级词汇微信小程序系统的设计和实现 源码获取入口KaiTi 报告Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 KaiTi 报告 (1)课题背景 伴随着社会的快速发展, 现代社…

Nginx location 配置 - Part 2

接上文 链接: Nginx 简介和入门 - part1 上文 我们简单地在 nginx 创建了3个虚拟主机, 虽然这个3个主机都是用占用80端口 但是我们可以用不同的域名来实现区分访问3台虚拟主机。 但是, 实际项目上, 我们更加多地会使用location 配置而不是…

机器学习-线性回归实践

目标:使用Sklearn、numpy模块实现展现数据预处理、线性拟合、得到拟合模型,展现预测值与目标值,展现梯度下降; 一、导入模块 import numpy as np np.set_printoptions(precision2) from sklearn.linear_model import LinearRegr…

JVM主要的几种垃圾回收算法

1、Java 为什么要实现自动内存管理 ? 简化开发过程:通过内存自动管理可以避免手动分配和释放内存的麻烦,减少了内存泄漏和内存错误的风险,让研发能更专注于业务逻辑,不必纠结于内存管理的细节。 提高开发效率&#xff…

vite 搭建vue3 TS项目初始框架

目录 仓库地址: 一.搭建项目 1.安装 Vite: 2.创建 Vue 3 项目: 3.进入项目目录: 4.安装依赖: 5.运行项目: 6.流程实操 二.修改项目结构,显示自定义的页面 1.整理静态样式文件 1.1.在 sr…

Dell 机架式服务器 - 高级定制服务

Dell 机架式服务器 - 高级定制服务 1. Dell Technologies2. 机架式服务器 - 高级定制服务2.1. Servers & Storage (服务器及存储) -> Servers2.2. Rack Servers (机架式服务器)2.3. Shop2.4. PowerEdge Rack Servers (PowerEdge 机架式服务器)2.5. PowerEdge R760 Rack …

编译原理期末大题步骤——例题

一、预测分析方法步骤 提取左公因子,消除左递归判断文法是否为LL(1)文法若是,构造预测分析表;否则,不能进行分析。根据预测分析表对输入串进行分析 例子: 文法G[E]: …

mysql进阶-视图

目录 1. 用途 2. 语法 2.1 创建或替换视图 2.2 修改视图 2.3 查看视图: 2.4 删除视图: 3. 其他 3.1 操作视图 3.2 迁移数据库 1. 用途 视图可以理解为一个复杂查询的简称,它可以帮助我们简化查询,主要用于报表查询:例如…

DataFrame详解

清洗相关的API 清洗相关的API: 1.去重API: dropDupilcates 2.删除缺失值API: dropna 3.替换缺失值API: fillna 去重API: dropDupilcates dropDuplicates(subset):删除重复数据 1.用来删除重复数据,如果没有指定参数subset,比对行中所有字段内容,如果全部相同,则认为是重复数据,…

Hyperledger Fabric 自动发现网络信息 discover 工具使用

客户端要往 Fabric 网络中发送请求,首先需要知道网络的相关信息,如网络中成员组织信息、背书节点的地址、链码安装信息等。 在 Fabric v1.2.0 版本之前,这些信息需要调用者手动指定,容易出错;另外,当网络中…

SPL-cmcRVFL+

吐槽 作者未提供代码,还有图1敢再糊点吗?

简单的MOV转MP4方法

1.下载腾讯的QQ影音播放器, 此播放器为绿色视频播放器, 除了播放下载好的视频外没有臃肿无用功能 官网 QQ影音 百度网盘链接:https://pan.baidu.com/s/1G0kSC-844FtRfqGnIoMALA 提取码:dh4w 2.用QQ影音打开MOV文件 3.右下角打开影音工具箱 , 选择截取…

softmax详解

在神经网络中,Softmax 是一个用于多类别分类的激活函数。给定一个包含原始分数(未经处理的模型输出)的向量,Softmax 将这些分数转化为表示概率分布的向量。具体而言,对于给定的原始分数向量 ( z ),Softmax …

Java中什么序列化?

在Java中,序列化是一种将对象转换为字节序列的机制,使得对象可以在网络上传输或存储到文件中,而后可以通过反序列化还原为对象。Java提供了java.io.Serializable接口,通过实现这个接口的类可以实现对象的序列化和反序列化。 序列…

Noisy DQN 跑 CartPole-v1

gym 0.26.1 CartPole-v1 NoisyNet DQN NoisyNet 就是把原来Linear里的w/b 换成 mu sigma * epsilon, 这是一种非常简单的方法,但是可以显著提升DQN的表现。 和之前最原始的DQN相比就是改了两个地方,一个是Linear改成了NoisyLinear,另外一个是在agent在t…

基于 SpringBoot + vue 的医院管理系统(含源码,数据库,文档)

基于 SpringBoot vue 的医院管理系统 †前后端分离思想,这个系统简直太棒了!屯 光这个系统采用了 前后端分离思想,后端使用 SpringBoot和 SpringMVC框架,让代码更高效,更易于维护。前端则使用了 vue js 和ElementU…

mybatis plus相同Id与xml配置错误时,mybatis plus解决逻辑

前言 处理做项目的问题,其中不乏奇奇怪怪的问题,其中mybatis plus的问题感觉有点隐蔽,有些是运行时出现,有些是运行到具体的逻辑触发,对于应用的状态监控提出了极大的挑战,应用的状态由健康检查接口提供&a…

【基础工具篇使用】Windows环境下瑞芯微开发工具的安装和使用

文章目录 Rockchip 烧录驱动的安装Rockchip 烧录工具使用导入配置MASKROM 模式烧录LOADER 模式烧录Update.img 包的烧录 Rockchip 烧录驱动的安装 瑞芯微提供了 RKDevTool 上位机烧录工具,此工具只能在 Windows 系统下运行,运行前要先安装驱动文件 Ro…