回归预测 | Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测
目录
预测效果
基本介绍
Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测
1.Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测(完整源码和数据)
2.输入多个特征,输出单个变量,多输入单输出回归预测;
3.多指标评价,评价指标包括:R2、MAE、MSE、RMSE等,代码质量极高;
4.粒子群算法优化参数为:优化核函数超参数 sigma,标准差,初始噪声标准差;
5.excel数据,方便替换,运行环境2018及以上,可在下载区获取数据和程序内容。
程序设计
- 完整程序和数据获取方式(资源处下载):Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测
clike
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
% restoredefaultpath
%% 导入数据
P_train = xlsread('data','training set','B2:G191')';
T_train= xlsread('data','training set','H2:H191')';
% 测试集------44个样本
P_test=xlsread('data','test set','B2:G45')';
T_test=xlsread('data','test set','H2:H45')';
f_ =size(P_train, 1); %输入特征维度
M = size(P_train, 2);
N = size(P_test, 2);
%% 数据归一化
[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);
%% 转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%% 超参数设置
pop = 5; % 数量
Max_iter = 8; % 最大迭代次数
dim = 3; % 优化参数个数
lb = [0.1, 0.1, 10]; % 参数取值下界(核函数超参数 sigma,标准差,初始噪声标准差)
ub = [1, 1, 30]; % 参数取值上界(核函数超参数 sigma,标准差,初始噪声标准差)
%% 优化
[Best_score,Best_pos, curve] = GWO(pop, Max_iter, lb, ub, dim, fobj);
% Best_pos = [0.6, 0.7, 30]; % 优化下界
sigmaL0 = Best_pos(1) * ones(f_, 1); % 核函数超参数 sigma l
sigmaF0 = Best_pos(2); % 核函数超参数 - 标准差 sigma f
sigmaN0 = Best_pos(3); % 初始噪声标准差 sgima n
参考资料
[1]https://blog.csdn.net/kjm13182345320/article/details/124443069?spm=1001.2014.3001.5501
[2]https://blog.csdn.net/kjm13182345320/article/details/124443735?spm=1001.2014.3001.5501