WOA-CNN-LSTM-Attention、CNN-LSTM-Attention、WOA-CNN-LSTM、CNN-LSTM四模型对比多变量时序预测
WOA-CNN-LSTM-Attention、CNN-LSTM-Attention、WOA-CNN-LSTM、CNN-LSTM四模型对比多变量时序预测
目录
- WOA-CNN-LSTM-Attention、CNN-LSTM-Attention、WOA-CNN-LSTM、CNN-LSTM四模型对比多变量时序预测
- 预测效果
- 基本介绍
- 程序设计
- 参考资料
预测效果
基本介绍
基于WOA-CNN-LSTM-Attention、CNN-LSTM-Attention、WOA-CNN-LSTM、CNN-LSTM四模型多变量时序预测一键对比(仅运行一个main即可)
Matlab代码,每个模型的预测结果和组合对比结果都有!
1.无需繁琐步骤,只需要运行一个main即可一键出所有图像。
2.程序已经调试好,无需更改代码替换数据集即可运行!!!数据格式为excel!
3.WOA优化参数为:隐藏层节点数,学习率,正则化系数。
4.鲸鱼优化算法(whale optimization algorithm,WOA)是由Mirjalili和Lewis于2016年提出的一种新型群体智能优化搜索方法, WOA算法结构新颖, 控制参数少,在许多数值优化和工程问题的求解中表现出较好的寻优性能。
5.运行环境要求MATLAB版本为2023b及其以上。
评价指标包括:R2、MAE、MSE、RPD、RMSE等,图很多
代码中文注释清晰,质量极高,赠送测试数据集,可以直接运行源程序。替换你的数据即可用 适合新手小白
程序设计
- 完整代码私信回复WOA-CNN-LSTM-Attention、CNN-LSTM-Attention、WOA-CNN-LSTM、CNN-LSTM四模型对比多变量时序预测。
%% 打印评价指标结果
disp('CNN-LSTM模型:');
disp(['训练集 RMSE:', num2str(RMSE_train_CNN_LSTM), ', 测试集 RMSE:', num2str(RMSE_test_CNN_LSTM)]);
disp(['训练集 MSE:', num2str(MSE_train_CNN_LSTM), ', 测试集 MSE:', num2str(MSE_test_CNN_LSTM)]);
disp(['训练集 R²:', num2str(R2_train_CNN_LSTM), ', 测试集 R²:', num2str(R2_test_CNN_LSTM)]);
disp(['训练集 MAE:', num2str(MAE_train_CNN_LSTM), ', 测试集 MAE:', num2str(MAE_test_CNN_LSTM)]);
disp(['训练集 MAPE:', num2str(MAPE_train_CNN_LSTM), '%, 测试集 MAPE:', num2str(MAPE_test_CNN_LSTM), '%']);
disp('WOA-CNN-LSTM模型:');
disp(['训练集 RMSE:', num2str(RMSE_train_WOA_CNN_LSTM), ', 测试集 RMSE:', num2str(RMSE_test_WOA_CNN_LSTM)]);
disp(['训练集 MSE:', num2str(MSE_train_WOA_CNN_LSTM), ', 测试集 MSE:', num2str(MSE_test_WOA_CNN_LSTM)]);
disp(['训练集 R²:', num2str(R2_train_WOA_CNN_LSTM), ', 测试集 R²:', num2str(R2_test_WOA_CNN_LSTM)]);
disp(['训练集 MAE:', num2str(MAE_train_WOA_CNN_LSTM), ', 测试集 MAE:', num2str(MAE_test_WOA_CNN_LSTM)]);
disp(['训练集 MAPE:', num2str(MAPE_train_WOA_CNN_LSTM), '%, 测试集 MAPE:', num2str(MAPE_test_WOA_CNN_LSTM), '%']);
disp('CNN-LSTM-Attention模型:');
disp(['训练集 RMSE:', num2str(RMSE_train_CNN_LSTM_Attention), ', 测试集 RMSE:', num2str(RMSE_test_CNN_LSTM_Attention)]);
disp(['训练集 MSE:', num2str(MSE_train_CNN_LSTM_Attention), ', 测试集 MSE:', num2str(MSE_test_CNN_LSTM_Attention)]);
disp(['训练集 R²:', num2str(R2_train_CNN_LSTM_Attention), ', 测试集 R²:', num2str(R2_test_CNN_LSTM_Attention)]);
disp(['训练集 MAE:', num2str(MAE_train_CNN_LSTM_Attention), ', 测试集 MAE:', num2str(MAE_test_CNN_LSTM_Attention)]);
disp(['训练集 MAPE:', num2str(MAPE_train_CNN_LSTM_Attention), '%, 测试集 MAPE:', num2str(MAPE_test_CNN_LSTM_Attention), '%']);
disp('WOA-CNN-LSTM-Attention模型:');
disp(['训练集 RMSE:', num2str(RMSE_train_WOA_CNN_LSTM_Attention), ', 测试集 RMSE:', num2str(RMSE_test_WOA_CNN_LSTM_Attention)]);
disp(['训练集 MSE:', num2str(MSE_train_WOA_CNN_LSTM_Attention), ', 测试集 MSE:', num2str(MSE_test_WOA_CNN_LSTM_Attention)]);
disp(['训练集 R²:', num2str(R2_train_WOA_CNN_LSTM_Attention), ', 测试集 R²:', num2str(R2_test_WOA_CNN_LSTM_Attention)]);
disp(['训练集 MAE:', num2str(MAE_train_WOA_CNN_LSTM_Attention), ', 测试集 MAE:', num2str(MAE_test_WOA_CNN_LSTM_Attention)]);
disp(['训练集 MAPE:', num2str(MAPE_train_WOA_CNN_LSTM_Attention), '%, 测试集 MAPE:', num2str(MAPE_test_WOA_CNN_LSTM_Attention), '%']);
% 模型名称
model_names = {'CNN-LSTM', 'WOA-CNN-LSTM', 'CNN-LSTM-Attention', 'WOA-CNN-LSTM-Attention'};
% 测试集评价指标
metrics = {'MAE', 'MAPE', 'MSE', 'RMSE', 'R²'};-------------------------
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501