区间预测 | MATLAB实现基于QRCNN-BiGRU卷积双向门控循环单元多变量时间序列区间预测

news2024/11/24 0:39:32

区间预测 | MATLAB实现基于QRCNN-BiGRU卷积双向门控循环单元多变量时间序列区间预测

目录

    • 区间预测 | MATLAB实现基于QRCNN-BiGRU卷积双向门控循环单元多变量时间序列区间预测
      • 效果一览
      • 基本介绍
      • 模型描述
      • 程序设计
      • 参考资料

效果一览

1

2

3

4

5

6

7

基本介绍

1.Matlab实现基于QRCNN-BiGRU卷积神经网络结合双向门控循环单元多变量时间序列区间预测;
2.多图输出、点预测多指标输出(MAE、MAPE、RMSE、MSE、R2),区间预测多指比输出(区间覆盖率PICP、区间平均宽度百分比PINAW),多输入单输出,含点预测图、不同置信区间预测图、误差分析图、核密度估计概率密度图;
3.data为数据集,功率数据集,用多个关联变量,预测最后一列功率数据,也可适用于负荷预测、风速预测;MainQRCNN_BiGRUNTS为主程序,其余为函数文件,无需运行;
4.代码质量高,注释清楚,含数据预处理部分,处理缺失值,如果为nan,则删除,也含核密度估计;
5.运行环境Matlab2021及以上。

模型描述

QRCNN-BiGRU是一种深度学习模型,用于多变量时间序列的区间预测。该模型结合了卷积神经网络(CNN)、双向门控循环单元(BiGRU)和量化回归(QR)技术,以提高预测准确性。
在该模型中,卷积神经网络用于提取时间序列的局部特征,双向门控循环单元则用于捕捉时间序列的长期依赖关系。量化回归技术则用于根据预测误差的分布情况调整模型的预测结果,从而提高预测的稳定性和准确性。
该模型的预测过程分为两个步骤:首先,使用QRCNN提取特征,并将特征输入到BiGRU中进行时间序列分析;接下来,使用量化回归技术获得预测的区间范围。这种方法可以有效地减少预测的误差,并提高预测的精度。
总之,QRCNN-BiGRU模型是一种用于多变量时间序列区间预测的高级深度学习模型,具有优秀的准确性和稳定性。

程序设计

  • 完整程序和数据获取方式:私信博主。
ntrain=round(nwhole*num_size);
	ntest =nwhole-ntrain;
	% 准备输入和输出训练数据
	input_train =input(:,temp(1:ntrain));
	output_train=output(:,temp(1:ntrain));
	% 准备测试数据
	input_test =input(:, temp(ntrain+1:ntrain+ntest));
	output_test=output(:,temp(ntrain+1:ntrain+ntest));
	%% 数据归一化
	method=@mapminmax;
	[inputn_train,inputps]=method(input_train);
	inputn_test=method('apply',input_test,inputps);
	[outputn_train,outputps]=method(output_train);
	outputn_test=method('apply',output_test,outputps);
	% 创建元胞或向量,长度为训练集大小;
	XrTrain = cell(size(inputn_train,2),1);
	YrTrain = zeros(size(outputn_train,2),1);
	for i=1:size(inputn_train,2)
		XrTrain{i,1} = inputn_train(:,i);
		YrTrain(i,1) = outputn_train(:,i);
	end
	% 创建元胞或向量,长度为测试集大小;
	XrTest = cell(size(inputn_test,2),1);
	YrTest = zeros(size(outputn_test,2),1);
	for i=1:size(input_test,2)
		XrTest{i,1} = inputn_test(:,i);
		YrTest(i,1) = outputn_test(:,i);
	end

	%% 创建混合网络架构
%%  区间覆盖率
RangeForm = [T_sim(:, 1), T_sim(:, end)];
Num = 0;

for i = 1 : length(T_train)
    Num = Num +  (T_train(i) >= RangeForm(i, 1) && T_train(i) <= RangeForm(i, 2));
end

picp = Num / length(T_train);     


    S = cumtrapz(X,Y);
    Index = find(abs(m-S)<=1e-2);
    Q = X(max(Index));



参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340

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

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

相关文章

数据结构4:二叉树

目录 1.树概念及结构 1.1树的概念 1.3树的表示 1.4树在实际中的运用&#xff08;表示文件系统的目录结构&#xff09; 2.二叉树的概念及结构 2.1概念 2.2现实中的二叉树&#xff1a; 2.3特殊的二叉树&#xff1a; 2.4 二叉树的性质 2.5二叉树的存储结构 1.顺序结构 …

如何用 10 种策略改进 ChatGPT 的人工智能

你是否曾有过和AI机器人交互无果的经历&#xff1f;或许只是因为提示语的问题&#xff01;想要ChatGPT/Bard/Bing Chat等AI机器人更智能、回应更高效? 必须学会AI提示语技巧&#xff01;本文将深入解析如何用精准的语言编写提示&#xff0c;让您的AI聊天机器人更进一步。 为什…

从买卖股票入手谈谈DP Table

动态规划问题主要就是要明确dp函数定义、搞清楚状态以及状态转移方程 构建DP思路解析 状态 188. 买卖股票的最佳时机 IV - 力扣&#xff08;LeetCode&#xff09; 对于股票&#xff0c;我们每天有三种选择 > buy, sell, hold 限制条件有 > 天数限制&#xff08;n&…

Java关键字abstract详解

abstract 1.可以用来修饰&#xff1a;类、方法 2.具体的&#xff1a; abstract修饰类&#xff1a;抽象类 抽象类不能实例化 抽象类中一定有构造器&#xff0c;便于子类实例化时调用&#xff08;涉及&#xff1a;子类对象实例化的全过程&#xff09;。 开发中&#xff0c;都会提…

(转载)基于蚁群算法的旅行商问题(TSP)求解(matlab实现)

蚁群算法(ant colony algorithm,ACA)是由意大利学者M.Dorigo等人于20世纪90年代初提出的一种新的模拟进化算法&#xff0c;其真实地模拟了自然界蚂蚁群体的觅食行为。M.Dorigo等人将其用于解决旅行商问题(traveling salesman problem,TSP),并取得了较好的实验结果。 近年来&am…

论文精读 —— Invisible Backdoor Attack with Sample-Specific Triggers

文章目录 带有样本特定触发器的隐形后门攻击论文信息论文贡献理解性翻译摘要1. 引言2. 相关工作2.1. 后门攻击2.2. 后门防御 3. 深入了解现有防御4. 样本特定的后门攻击&#xff08;SSBA&#xff09;4.1. 威胁模型4.2. 提出的攻击如何生成样本特定的触发器样本特定的后门攻击流…

linux学习之top命令详解

参考文章 https://blog.csdn.net/langzi6/article/details/124805024 top ​ 第一行&#xff1a;运行时长&#xff0c;负载 top - 10:04:54 up 474 days, 22:16, 2 users, load average: 2.07, 1.60, 0.94 top - 10:04:54&#xff1a;当前时间。 up 474 days, 22:16&#…

redis与分布式锁浅谈

redis与分布式锁浅谈 1.高并发下缓存失效问题 1.1 缓存穿透&#xff1a; 缓存穿透&#xff1a;指查询一个一定不存在的数据&#xff0c;由于缓存是不命中&#xff0c;将去查询数据库&#xff0c;但是数据库也无此记录&#xff0c;我们没有将这次查询的null写入缓存&#xff0…

windows禁用输入法

Rime 呼出菜单的快捷键 ctrl grave 跟 vs code 呼出底部命令行的快捷键冲突了&#xff0c;每次用 vs code 时都会用 ctrl space 将输入法禁用&#xff0c;让它变成一个圈叉&#xff1a; 由 [1]&#xff0c;这个快捷键是 windows 系统禁用输入法的快捷键&#xff0c;在 Setti…

实战干货——教你用Fiddler捕获HTTPS请求

目录 安装Fiddler 配置Fiddler 配置手机 iOS机安装证书 安全思考&#xff1f; 总结&#xff1a; 安装Fiddler 这里不特别说明了&#xff0c;网上搜索一大把&#xff0c;根据安装引导一步步安装即可。&#xff08;这里采用的是fiddler v4.6&#xff09; fiddler抓包视频教…

深入理解Linux虚拟内存管理(六)

系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核&#xff08;一&#xff09; 深入理解 Linux 内核&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;一&#xff09; Linux 设备驱动程序&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;三&#xf…

奇安信应急响应-Windows

处置思路方法和Linux是一致的&#xff0c; 系统命令&#xff0c; 有一些整蛊的就会锁定你&#xff0c;不让你用鼠标点击&#xff0c;就通过命令其打开就好 findstr命令跟linux一样查找关键字&#xff0c;图中就是hello关键字&#xff0c;然后.txt的文件&#xff0c; 我们可以…

(1)HTTP与RPC区别

定义 HTTP接口使用基于HTTP协议的URL传参调用RPC接口则基于远程过程调用 http是一种协议 &#xff0c;rpc是一种方法 RPC RPC服务基本架构包含了四个核心的组件&#xff0c;分别是Client、Server、Clent Stub以及Server Stub。 Client &#xff08;客户端&#xff09;&am…

【数据可视化】2D/3D动画

## 2D动画 - transform ◼ CSS3 transform属性允许你旋转&#xff0c;缩放&#xff0c;倾斜或平移给定元素。 ◼ Transform是形变的意思(通常也叫变换)&#xff0c;transformer就是变形金刚 ◼ 常见的函数transform function有: ---- 平移:translate(x, y) ---- 缩放:scale…

600万用户在用,中国版Access上市,Excel和WPS用户直呼:太棒了

中国版的Access到底有没有&#xff1f; 大家都知道微软的Access功能很强大&#xff0c;作为office里的一款数据库软件&#xff0c;不仅能帮助我们进行数据的分析和处理&#xff0c;而且再深入一点&#xff0c;还可以用VBA实现一些高级的用法。不仅国外有很多用户&#xff0c;就…

【C++】deque的用法

目录 一、容器适配器二、deque的介绍三、deque的使用及缺陷1、deque的构造函数2、deque的元素访问接口3、deque的 iterator的使用4、deque的增删查改4、deque的缺陷5、为什么选择deque作为stack和queue的底层默认容器 一、容器适配器 在了解deque前&#xff0c;我们先讲一讲什…

2023年,我被迫裸辞....

作为IT行业的大热岗位——软件测试&#xff0c;只要你付出了&#xff0c;就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的&#xff0c;但放眼望去&#xff0c;哪个工作不是这样的呢&#xff1f;会有哪家公司愿意养一些闲人呢&#xff1f;…

STM32F4_RS485、RS232

目录 1. 485简介 2. 串口UART存在的问题 3. RS232协议 4. RS485协议 6. 硬件分析 7. 实验程序 7.1 main.c 7.2 RS485.c 7.3 RS485.h RS232的高电平1的逻辑为-5V~-15V&#xff0c;低电平0的逻辑为5V~15V。高电平和TTL的0~5V不兼容&#xff0c;传输的距离也不够长。 1. …

SpringCloud Eureka 的详细讲解及示意图-下

SpringCloud Eureka 服务注册与发现-下 搭建EurekaServer 集群- 实现负载均衡&故障容错 为什么需要集群Eureka Server 示意图 说明 1. 微服务RPC 远程服务调用最核心的是实现高可用 2. 如果注册中心只有1 个&#xff0c;它出故障&#xff0c;会导致整个服务环境不可用…

乘法器介绍

阵列乘法器 实现乘法的比较常用的方法是类似与手工计算乘法的方式&#xff1a; 对应的硬件结构就是阵列乘法器&#xff08;array multiplier&#xff09;它有三个功能&#xff1a;产生部分积&#xff0c;累加部分积和最终相加。 阵列乘法器的关键路径为(下图标出了两条可能的关…