EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测

目录

    • EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

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

在这里插入图片描述

基本介绍

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

在这里插入图片描述

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

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

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测获取。

[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/621191.shtml

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

相关文章

Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)

在讲述之前,各位先自行在网上下载并安装Visual Studio 2022,安装的时候别忘了勾选msvc 概述:GraalVM 本机应用程序(Native Image)是使用 GraalVM 的一个特性,允许将 Java 应用程序编译成本机二进制文件&am…

AI-数学-高中-5.求函数解析式(4种方法)

原作者视频:函数】3函数解析式求法(易)_哔哩哔哩_bilibili 1.已知函数类型-待定系数法:先用待定系数法把一次或二次函数一般表达式写出来;再用“要变一起变”左右两边同时替换,计算出一般表达式的常数&…

18、golang时间管理

时间 时间是非常重要的,离开了时间,几乎没有哪个生产环境数据能够有意义。 在Go语言中,时间定义为Time结构体。 package mainimport ("fmt""time" )func main() {var t time.Now()fmt.Println(t) fmt.Printf("%…

【嵌入式-裸机开发】kermit工具安装使用

安装ckermit sudo apt-get install ckermit配置kermit vim ~/.mykermrc set line /dev/ttyS0 set speed 115200 set carrier-watch off set handshake none set flow-control none robust set file type bi…

ZZULIOJ 1121: 电梯

题目描述 在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需6秒,下降一层需4秒,在需要停留的那层停留5秒。现有N个整数组成的一个需求列表,电梯将依次响应,电梯从…

树的高度C++(dfs)

树是一种特殊的图结构,有根树是一个有固定根的树。 现在给定一棵有根树,编程求出树中所有节点到指定的根节点最远距离。 输入格式 第一行是两个整数 N,M,表示数的顶点数和根节点的编号。接下来 N−1 行,每行两个整数 u,v&#xf…

SpringIOC之support模块GenericGroovyApplicationContext

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

商务外语MR混合现实仿真情景实训教学

MR混合现实技术是一种将虚拟世界与真实世界相结合的技术。通过MR设备,我们可以将虚拟的场景、人物、物品等元素实时地呈现在真实的环境中,实现真实与虚拟的完美融合。在商务外语的实训教学中,MR技术可以为我们提供丰富的场景资源,…

【c++】利用嵌套map创建多层树结构

通常树的深度都大于1,即树有多层,而树结构又可以用c的map容器来实现,所以,本文给出了一种多层树结构的实现思路,同时也给出了相应的c代码。 整体思路概述 首先定义一个节点类Node类,要包括children&#x…

FineBI实战项目一(17):热门商品Top10分析开发

点击新建组件,创建热门商品Top10组件。 选择柱状图,拖拽cnt(总数)到横轴,拖拽goodName到纵轴。 选择排序规则。 修改横轴和纵轴的标签名称 切换到仪表板,拖拽组件到仪表板 效果如下:

运维信创:驱动数字化转型,塑造企业未来之篇章

随着信息技术的迅猛发展,数字化转型已成为企业生存和发展的必由之路。在数字化转型的过程中,运维作为企业IT的重要组成部分,其信创成熟度直接关系到数字化转型的进程。本文将深入探讨运维的信创,分析其与信创的区别、技术成熟度、…

代码随想录算法训练营第四天|24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表II,总结

系列文章目录 代码随想录算法训练营第一天|数组理论基础,704. 二分查找,27. 移除元素 代码随想录算法训练营第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 代码随想录算法训练营第三天|链表理论基础&#xff…

【计算机二级考试C语言】C数据类型

C 数据类型 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 C 中的类型可分为以下几种: 序号类型与描述1基本数据类型 它们是算术类型&#x…

MySQL-单表、多表查询

一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 v…

Vue3 父组件传值给子组件+以及使用NModal组件

前言:我想实现表格中点击详情弹窗出一个表格展示该行详细信息。想着这个弹窗里用子组件展示。分担父组件下,怕代码过多。(使用NModal组件弹窗展示) 等我一波百度,嗯,实现方法挺多嘛,什么refs什…

SpringMVC RESTful

文章目录 1、RESTful简介a>资源b>资源的表述c>状态转移 2、RESTful的实现3、HiddenHttpMethodFilter 1、RESTful简介 REST:Representational State Transfer,表现层资源状态转移。 a>资源 资源是一种看待服务器的方式,即&…

HCIA-Datacom实验指导手册:1、华为 VRP 系统基本操作

1、华为 VRP 系统基本操作 一、实验目的:二、实验拓扑:三、实验目的:四、配置步骤:步骤 1 通过 Console 方式登录到 Router 的 CLI步骤 2 查看设备基本信息步骤 3 完成设备基本配置步骤 4 保存设备当前配置步骤 5 操作设备的文件系统步骤 6 重启设备五、结果验证1、比较保存…

[蓝桥杯 2016 省 AB] 四平方和

题目描述 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多 4个正整数的平方和。 如果把 0 包括进去,就正好可以表示为 4 个数的平方和。 比如: 50^20^21^22^2。 71^21^21^22^2。 对于一个给定的正整数&#…

大数据深度学习卷积神经网络CNN:CNN结构、训练与优化一文全解

文章目录 大数据深度学习卷积神经网络CNN:CNN结构、训练与优化一文全解一、引言1.1 背景和重要性1.2 卷积神经网络概述 二、卷积神经网络层介绍2.1 卷积操作卷积核与特征映射卷积核大小多通道卷积 步长与填充步长填充 空洞卷积(Dilated Convolution&…

详解Spring事件监听

第1章:引言 大家好,我是小黑。今天咱们来聊下Spring框架中的事件监听。在Java里,事件监听听起来好像很高大上,但其实它就像是我们日常生活中的快递通知:当有快递到了,你会收到一个通知。同样,在…