当先锋百科网

首页 1 2 3 4 5 6 7

基于贝叶斯Bayes算法优化CNN-LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型

前言

前面在【MATLAB第8期】讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的时间序列预测模型,即单输入数据时间序列预测,见本人CSDN主页。

前面在【MATLAB第10期】讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的多输入单输出回归预测模型思路框架,见本人CSDN主页。

思路

本文分别使用单列时间序列数据及多输入单输出数据,进行BO-CNNLSTM预测。贝叶斯原理及内容不多介绍。

1.时间序列预测模型

时间序列数据:单列数据
超参数优化:有大量的超参数可供调整和优化,使用贝叶斯优化来优化CNN-LSTM参数

optimVars = [
    optimizableVariable('NoFilter1',[8 64],'Type','integer')                         %卷积层1卷积核数量 
    optimizableVariable('NoFilter2',[8 64],'Type','integer')                         %卷积层2卷积核数量
    optimizableVariable('FilterSize1',[3 16],'Type','integer')                       %卷积层1卷积核大小
    optimizableVariable('FilterSize2',[3 16],'Type','integer')                       %卷积层2卷积核大小
    optimizableVariable('Lag',[3 9],'Type','integer')                                %时间滞后阶数范围                 
    optimizableVariable('MiniBatchSize',{'16' '32' '48' },'Type','categorical')      %批处理范围选择 
    optimizableVariable('learningrate',[1e-5 1e-1],'Type','real',"Transform","log")];%学习率优化选择

在这里插入图片描述
贝叶斯优化次数:10
在这里插入图片描述
贝叶斯优化结果:(参数简化,如最大运行时间仅设置为10*60)
在这里插入图片描述
测试集MAE=
1.3433

测试集RMSE=
1.9390

2.回归预测模型

使用多输入单输出数据
80%训练 20%测试
超参数优化:有大量的超参数可供调整和优化,使用贝叶斯优化来优化CNN-LSTM参数
%% 优化CNNLSTM结构参数

optimVars = [
    optimizableVariable('numHiddenUnits1',[50 200],'Type','integer')% LSTM第一层隐含层神经元数
    optimizableVariable('numHiddenUnits2',[50 200],'Type','integer')% LSTM第二层隐含层神经元数
    optimizableVariable('NoFilter1',[8 64],'Type','integer') %卷积层卷积核数量 
    optimizableVariable('FilterSize1',[3 16],'Type','integer')%卷积层卷积核大小
  ];

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

**

预测结果:

**

CNNLSTM训练集均方根误差(RMSE):3.2152
CNNLSTM训练集平均绝对误差(MAE):2.5149
CNNLSTM训练集平均相对百分误差(MAPE):5.0728%
CNNLSTM训练集R-square决定系数(R2):0.98159
CNNLSTM测试集均方根误差(RMSE):2.9023
CNNLSTM测试集平均绝对误差(MAE):2.1754
CNNLSTM测试集平均相对百分误差(MAPE):3.4288%
CNNLSTM测试集R-square决定系数(R2):0.96609
BO-CNNLSTM训练集均方根误差(RMSE):1.6549
BO-CNNLSTM训练集平均绝对误差(MAE):1.2913
BO-CNNLSTM训练集平均相对百分误差(MAPE):2.9743%
BO-CNNLSTM训练集R-square决定系数(R2):0.99484
BO-CNNLSTM测试集均方根误差(RMSE):2.4997
BO-CNNLSTM测试集平均绝对误差(MAE):2.098
BO-CNNLSTM测试集平均相对百分误差(MAPE):3.5159%
BO-CNNLSTM测试集R-square决定系数(R2):0.98186

**## 代码获取方式

代码有偿,希望理解,
后台私聊回复“BOCNNLSTM”获取下载链接
**