本文主要是介绍区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测
目录
- 区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测
- 效果一览
- 基本介绍
- 程序设计
- 参考资料
效果一览
基本介绍
1.Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测;
2.多图输出、多指标输出(MAE、MAPE、RMSE、MSE、R2、区间覆盖率、区间平均宽度百分比),单变量时序预测,含不同置信区间图;
3.data为数据集,用过去一段时间的变量,预测下一时刻,适用于负荷预测、风速预测等;main为主程序,其余为函数文件,无需运行;代码质量高,注释清楚;
4.直接替换Excel数据即可用,注释清晰,适合新手小白,直接运行main文件一键出图。
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
该模型的结构和流程如下:
输入的时间序列数据首先经过卷积层,用于提取数据的局部特征。输入到LSTM层中。
BiLSTM层的输出可以连接到一个注意力机制层和全连接层。
最后,全连接层的输出通过输出层进行分位数回归,生成目标变量的预测区间。
程序设计
- 完整程序和数据获取方式私信博主回复Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测。
%% 清空环境变量
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-BiGRU-Attention训练集预测结果对比'; ['RMSE = ' num2str(error1)]};
title(string)
xlim([1, M])
gridfigure
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-BiGRU-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
这篇关于区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!