首页 > 编程语言 >回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测

回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测

时间:2024-04-05 10:59:04浏览次数:20  
标签:sim2 基于 CPO %% 回归 sim1 %--------------------------------------------------------

回归预测 | Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的多输入单输出回归预测

目录

预测效果

在这里插入图片描述

在这里插入图片描述

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

基本介绍

Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的数据回归预测(完整源码和数据)
1.Matlab基于CPO-GPR基于冠豪猪算法优化高斯过程回归的输入多个特征,输出单个变量,多输入单输出回归预测;
3.多指标评价,评价指标包括:R2、MAE、MSE、RMSE等,代码质量极高;
4.粒子群算法优化参数为:优化核函数超参数 sigma,标准差,初始噪声标准差;
5.excel数据,方便替换,运行环境2018及以上。

程序设计

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
% restoredefaultpath
%%  导入数据
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  超参数设置
Best_pos = [0.6, 0.7, 30];    % 优化下界

%%  仿真测试
t_sim1 = predict(net, p_train);
t_sim2 = predict(net, p_test );
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 数据转置
T_sim1=T_sim1';
T_sim2 =T_sim2';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  均方根误差
error1 = sqrt(sum((T_sim1 - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2 - T_test ).^2) ./ N);

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%
%决定系数
R1 = 1 - norm(T_train - T_sim1)^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test -  T_sim2)^2 / norm(T_test -  mean(T_test ))^2;
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%
%均方误差 MSE
mse1 = sum((T_sim1 - T_train).^2)./M;
mse2 = sum((T_sim2 - T_test).^2)./N;
%%
%RPD 剩余预测残差
SE1=std(T_sim1-T_train);
RPD1=std(T_train)/SE1;
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SE=std(T_sim2-T_test);
RPD2=std(T_test)/SE;
%% 平均绝对误差MAE
MAE1 = mean(abs(T_train - T_sim1));
MAE2 = mean(abs(T_test - T_sim2));
%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1)./T_train));
MAPE2 = mean(abs((T_test - T_sim2)./T_test));
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%% 测试集误差图
figure  
ERROR3=T_test-T_sim2;
plot(T_test-T_sim2,'b-*','LineWidth',1.5)
xlabel('测试集样本编号')
ylabel('预测误差')
title('测试集预测误差')
grid on;
legend('GPR预测输出误差')
%% 打印出评价指标
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)])

参考资料

[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

标签:sim2,基于,CPO,%%,回归,sim1,%--------------------------------------------------------
From: https://blog.csdn.net/kjm13182345320/article/details/137395994

相关文章

  • 基于ssm高校实验室管理系统的设计与实现论文
    摘要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校实验室信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用高校实验室管理系统可以有效......
  • 基于蜜獾算法优化的核极限学习机(KELM)回归预测
    基于蜜獾算法优化的核极限学习机(KELM)回归预测文章目录基于蜜獾算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于蜜獾算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用蜜獾算法对核极限学习机(KELM)进行优化,并用于回归预测.1.KEL......
  • nodejs+python开发基于uniapp的校园跑腿系统 微信小程序
    本文先提出了开发基于uniapp的高校校园跑腿系统的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模。在技术实现部分采用了nodejs作为开发后台的编程语言,客户端使用uniapp,数据库选择MySQL。最后进行了代码的编写,并说......
  • 【基于LSTM的多输出回归预测】MATLAB代码分享
    文章目录前言一、LSTM的基本原理二、多输出回归预测模型架构三、示例代码1.读入数据并划分数据集2.运行结果总结前言`在当前的数据驱动时代,预测未来的趋势、需求、资源分配等成为了许多行业关键决策的基石。长短期记忆网络(LongShort-TermMemory,LSTM)作为一种特......
  • Java项目:基于Springboot+vue实现的医院住院管理系统设计与实现(源码+数据库+开题报告+
    一、项目简介本项目是一套基于Springboot+vue实现的医院住院管理系统设包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。项目都经过严格调试,eclipse或者idea确保可以运行!该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值......
  • 基于SSM+Jsp+Mysql的超市管理系统
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示管理员登录员工管理商品类型管理商品库存管理商品进货管理上班打卡管理请假信息管理交流信息......
  • 基于大型语言模型的智能体(Agent)研究综述--人大
    内容概述论文地址:https://arxiv.org/pdf/2308.11432.pdf这篇综述内容有35页,内容很多,俗话说一图胜千言,作者提供了5张精美的图片和3个表格,把这些搞明白后对这篇综述也就理解差不多了。文章的总体结构如下由6部分组成,1介绍、2智能体结构、3智能体应用、4智能体评价、5挑战、6总......
  • 基于springboot实现社区医院信息平台系统项目【项目源码+论文说明】
    基于springboot实现社区医院信息平台系统演示摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了社区医院信息平台的开发全过程。通过分析社区医院信息平台管理的不足,创建了一个计算机管理社区医院信息平台的方案。文章介......
  • 基于springboot实现足球青训俱乐部管理后台系统项目【项目源码+论文说明】
    基于springboot实现足球青训俱乐部管理系统演示摘要随着社会经济的快速发展,人们对足球俱乐部的需求日益增加,加快了足球健身俱乐部的发展,足球俱乐部管理工作日益繁忙,传统的管理方式已经无法满足足球俱乐部管理需求,因此,为了提高足球俱乐部管理效率,足球俱乐部管理后台系统应......
  • 基于 Docker 的 go grpc quickstart
    工作之后一直使用的RPC框架是Apache的thrift,现在发现grpc更流行,所以也要学习一下,先来简单的跑一下demo。在本地安装运行也很方便,不过因为有了docker,所以在docker里面安装运行隔离性更好,顺便也提升docker命令行的熟练度。1.编写Dockerfile文件FROMgolang:1......