区间预测 | MATLAB实现基于QRCNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测

news/2024/10/30 11:31:10/

区间预测 | MATLAB实现QRCNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测

目录

    • 区间预测 | MATLAB实现QRCNN-BiLSTM卷积神经网络结合双向长短期记忆神经网络多变量时间序列区间预测
      • 效果一览
      • 基本介绍
      • 模型描述
      • 程序设计
      • 参考资料

效果一览

1
2

3
4
5
6
7

基本介绍

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

模型描述

卷积神经网络(Convolutional Neural Network, CNN)和双向长短期记忆神经网络(Bidirectional Long Short-Term Memory Network, BiLSTM)是两种常用的神经网络结构,它们各自具有不同的优点,可以相互结合,提高模型的性能。
CNN主要用于图像和语音等数据的处理,可以提取局部特征和空间信息,从而在分类、目标检测等任务中取得优异的表现。而BiLSTM则主要用于序列数据的处理,可以捕捉长期依赖关系,从而在自然语言处理、语音识别等任务中取得优异的表现。
将CNN和BiLSTM结合可以构建一种深度神经网络模型,可以同时利用局部特征和长期依赖关系,对图像、语音及序列数据进行处理。具体来说,可以先使用CNN提取局部特征,然后将特征图作为BiLSTM的输入,利用BiLSTM捕捉序列中的长期依赖关系,最终得到模型的输出。
这种结合方式被广泛应用于自然语言处理、语音识别、图像分类等任务中,并取得了不错的表现。例如,Google的语音识别系统就使用了这种结合方式。同时,也有一些改进的结合方式被提出,例如将CNN和BiLSTM并行使用,或者在BiLSTM中加入卷积层等。

程序设计

  • 完整程序和数据获取方式:私信博主。
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));
endpicp = 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.ppmy.cn/news/230803.html

相关文章

华为畅享20和华为畅享20 Plus的区别

华为畅享 20 Plus 拥有 6.63 英寸全面屏&#xff0c;采用新一代悬浮式镜头&#xff0c;全视屏带来沉浸式观感体验&#xff0c;支持 90Hz 刷新率 180Hz 触控采样率&#xff0c;采用侧边指纹解锁&#xff0c;提供星河银、樱雪晴空、翡冷翠、幻夜黑四款配色。 华为畅享20更多使用…

千元机市场“硝烟弥漫”,vivo Z3、华为畅享9Plus谁才是“赢家”

如今千元机在2018年的手机市场上&#xff0c;逐渐的从“慢”“丑”等众多消费者的印象中抽离出来&#xff0c;让千元机的形象逐渐的在人们的心目中有所变化&#xff0c;一大批有颜值的千元机陆续登场&#xff0c;单独来看每一款新机都非常的不错&#xff0c;看起来没有千元机之…

医学图像分割 nnUNetV2 分割自定义2d数据集

文章目录 1 环境安装(Pytorch)1.1 安装conda1.1 安装pytorch1.3 安装nnUNet1.4 安装隐藏层&#xff08;可选&#xff09; 2 配置自定义数据集2.1 数据集格式2.2 创建需要目录2.3 数据格式转换2.3.1 修改路径与数据集名称2.3.2 修改训练集与测试集2.3.3 修改掩码所在的文件夹&am…

数据结构中的顺序表的实现

文章目录 前言一、初识数据结构二、顺序表的实现&#xff08;类型一&#xff09;1.顺序表的头文件2.顺序表的实现 三、顺序表的实现&#xff08;类型二&#xff09;1 顺序表头文件2 顺序表的实现 四、线性表&#xff08;顺序表&#xff09;的缺点总结 前言 本期就进入到我们数据…

float变量与“零值”的比较

目录 1.问题的引出&#xff1a; 2.解决方案 <1>:自定义精度 <2>:系统提供的精度 3.总结 1.问题的引出&#xff1a; 浮点数在存储的时候&#xff0c;会存在精度的损失。 那么在浮点数进行比较的时候&#xff0c;可不可以使用 来进行比较&#xff0c;测试代码…

高性能软件负载OpenResty介绍和安装

目录 1 OpenResty介绍1.1 Nginx 的流程定义1.1.1 流程详解1.1.2 OpenResty处理流程 2 Openresty安装2.1 yum安装2.1.1 添加OpenResty仓库2.1.2 安装OpenResty 2.2 源代码编译安装2.2.1 安装编译环境2.2.2下载最新版源码2.2.3下载缓存插件2.2.4 编译OpenResty2.2.5 安装OpenRest…

宝安西乡产业园变九年制学校,新增宅地、商地。

6月5日&#xff0c;宝安区城市更新和土地整备局发布《西乡街道盐田社区银田地块土地整备利益统筹项目土地整备规划&#xff08;草案&#xff09;》&#xff08;以下简称草案&#xff09;。 草案显示&#xff0c;该项目经过调整后&#xff1a; ● 新增一块二类居住用地&#xf…

访问swagger报错404(1)

本次我的报错原因&#xff1a;idea缓存 报错信息&#xff1a; 解决方案&#xff1a; 1.双击idea右侧maven中的clean清除 2.然后重新运行服务。&#xff08;建议在访问swagger之前最好把浏览器缓存也清理一下。&#xff09; 3.访问swagger