赞
踩
多元回归预测 | Matlab基于卷积神经网络-双向门控循环单元结合注意力机制(CNN-BIGRU-Attention)回归预测,多变量输入模型
评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2021版本及以上。
%% 清空环境变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear % 清空变量 clc % 清空命令行 tic restoredefaultpath M = size(P_train, 2); N = size(P_test, 2); f_ = size(P_train, 1); %% 数据归一化 [p_train, ps_input] = mapminmax(P_train, 0, 1); p_test = mapminmax('apply', P_test, ps_input); [t_train, ps_output] = mapminmax(T_train, 0, 1); t_test = mapminmax('apply', T_test, ps_output); %% 测试集误差图 figure ERROR3=T_test-T_sim2; plot(T_test-T_sim2,'b-*','LineWidth',1.5) xlabel('测试集样本编号') ylabel('预测误差') title('测试集预测误差') grid on; legend('PSO-RF预测输出误差') %% 绘制线性拟合图 %% 训练集拟合效果图 figure plot(T_train,T_sim1,'*r'); xlabel('真实值') ylabel('预测值') string = {'训练集效果图';['R^2_c=' num2str(R1) ' RMSEC=' num2str(error1) ]}; title(string) hold on ;h=lsline; set(h,'LineWidth',1,'LineStyle','-','Color',[1 0 1]) %% 预测集拟合效果图 figure plot(T_test,T_sim2,'ob'); xlabel('真实值') ylabel('预测值') string1 = {'测试集效果图';['R^2_p=' num2str(R2) ' RMSEP=' num2str(error2) ]}; title(string1) hold on ;h=lsline(); set(h,'LineWidth',1,'LineStyle','-','Color',[1 0 1]) %% 求平均 R3=(R1+R2)./2; error3=(error1+error2)./2; %% 总数据线性预测拟合图 tsim=[T_sim1,T_sim2]'; S=[T_train,T_test]'; figure plot(S,tsim,'ob'); xlabel('真实值') ylabel('预测值') string1 = {'所有样本拟合预测图';['R^2_p=' num2str(R3) ' RMSEP=' num2str(error3) ]}; title(string1) hold on ;h=lsline(); set(h,'LineWidth',1,'LineStyle','-','Color',[1 0 1]) %% 打印出评价指标 disp(['-----------------------误差计算--------------------------']) disp(['评价结果如下所示:']) disp(['平均绝对误差MAE为:',num2str(MAE2)]) disp(['均方误差MSE为: ',num2str(mse2)]) disp(['均方根误差RMSEP为: ',num2str(error2)]) disp(['决定系数R^2为: ',num2str(R2)]) disp(['剩余预测残差RPD为: ',num2str(RPD2)]) disp(['平均绝对百分比误差MAPE为: ',num2str(MAPE2)]) grid
[1] https://blog.csdn.net/m0_57362105/article/details/130383523?spm=1001.2014.3001.5502
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。