区间预测 | Matlab实现QRCNN-BiLSTM-Attention分位数回归卷积双向长短期记忆网络注意力机制时序区间预测

区间预测 | Matlab实现QRCNN-BiLSTM-Attention分位数回归卷积双向长短期记忆网络注意力机制时序区间预测

目录

    • [区间预测 | Matlab实现QRCNN-BiLSTM-Attention分位数回归卷积双向长短期记忆网络注意力机制时序区间预测](#区间预测 | Matlab实现QRCNN-BiLSTM-Attention分位数回归卷积双向长短期记忆网络注意力机制时序区间预测)

效果一览


基本介绍

1.Matlab实现基于QRCNN-BiLSTM-Attention分位数回归卷积双向长短期记忆神经网络融合注意力机制的时间序列区间预测模型;

2.多图输出、多指标输出(MAE、MAPE、RMSE、MSE、R2、区间覆盖率、区间平均宽度百分比),单变量时序预测,含不同置信区间图;

3.data为数据集,用过去一段时间的变量,预测下一时刻,适用于负荷预测、风速预测等;main为主程序,其余为函数文件,无需运行;代码质量高,注释清楚;

4.直接替换Excel数据即可用,注释清晰,适合新手小白,直接运行main文件一键出图。

5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

该模型的结构和流程如下:

输入的时间序列数据首先经过卷积层,用于提取数据的局部特征。输入到双向LSTM层中。BiLSTM模型包含两个LSTM层,一个正向LSTM和一个反向LSTM。正向LSTM按照时间顺序处理数据,而反向LSTM按照时间逆序处理数据。

BiLSTM层的输出可以连接到一个注意力机制层和全连接层。

最后,全连接层的输出通过输出层进行分位数回归,生成目标变量的预测区间。

程序设计

  • 完整程序和数据获取方式私信博主回复区间预测 | Matlab实现QRCNN-BiLSTM-Attention分位数回归卷积双向长短期记忆网络注意力机制时序区间预测
clike 复制代码
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行


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

%%  导入数据
res = xlsread('data.xlsx');

%%  绘图
figure
fill([1 : M, M : -1 : 1], [L_sim1{1}, L_sim1{end}(end : -1 : 1)], ...
    'r', 'FaceColor', [1, 0.8, 0.8], 'EdgeColor', 'none')
hold on 
plot(1 : M, T_train, '-', 1 : M, T_sim1', '-', 'LineWidth', 0.3)
legend('95%的置信区间', '真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'QRCNN-BiLSTM-Attention训练集预测结果对比'; ['RMSE = ' num2str(error1)]};
title(string)
xlim([1, M])
grid

figure
fill([1 : N, N : -1 : 1], [L_sim2{1}, L_sim2{end}(end : -1 : 1)], ...
    'r', 'FaceColor', [1, 0.8, 0.8], 'EdgeColor', 'none')
hold on 
plot(1 : N, T_test, '-', 1 : N, T_sim2', '-', 'LineWidth', 1)
legend('95%的置信区间', '真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'QRCNN-BiLSTM-Attention测试集预测结果对比'; ['RMSE = ' num2str(error2)]};
title(string)
xlim([1, N])
grid

参考资料

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

相关推荐
bazhange1 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
Evand J1 小时前
【MATLAB代码介绍】EKF+CKF对比程序
matlab·ekf·非线性滤波·ckf
yu85939583 小时前
matlab雷达信号与干扰的仿真
开发语言·matlab
我爱C编程6 小时前
基于分层QLearning强化学习的联合抗干扰算法matlab仿真
matlab·强化学习·分层qlearning·联合抗干扰
沅_Yuan8 小时前
基于核密度估计的Transformer-LSTM-KDE多输入单输出回归模型【MATLAB】
matlab·回归·lstm·transformer·核密度估计·kde
Evand J8 小时前
【MATLAB例程】二维平面下的CV和CA模型,组成IMM的仿真,滤波使用粒子滤波PF,适用于非线性目标跟踪、定位等
matlab·平面·目标跟踪·pf·粒子滤波·imm·多模型
简简单单做算法1 天前
基于GA遗传优化的Transformer-LSTM网络模型的时间序列预测算法matlab性能仿真
深度学习·matlab·lstm·transformer·时间序列预测·ga遗传优化·电池剩余寿命预测
t198751281 天前
光伏发电MPPT(最大功率点跟踪)MATLAB仿真程序
开发语言·matlab
沅_Yuan1 天前
基于核密度估计的CNN-LSTM-Attention-KDE多输入单输出回归模型【MATLAB】
机器学习·回归·cnn·lstm·attention·核密度估计·kde
551只玄猫1 天前
【数学建模 matlab 实验报告10】插值
开发语言·数学建模·matlab·课程设计·插值·实验报告