【MATLAB第99期】#源码分享 | 基于MATLAB的SHEPard模型多输入单输出回归预测模型

【MATLAB第99期】#源码分享 | 基于MATLAB的SHEPard模型多输入单输出回归预测模型

Shepard模型(简称SP模型)就是一种直观的、可操作的相似预测法,常用于插值。相似预测法基本原理按照相似原因产生相似结果的原则,从历史样本中集中找出与现在的最相似的一个或几个样本作为预测结果,是一种非线性预测方法。

一、数据

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
%rng(30)
%%  导入数据
res = xlsread('数据集.xlsx');%%  划分训练集和测试集
temp = randperm(103);
%temp = 1:103;
P_train = res(temp(1: 80), 1: 7)';
T_train = res(temp(1: 80), 8)';
M = size(P_train, 2);P_test = res(temp(81: end), 1: 7)';
T_test = res(temp(81: end), 8)';
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';t_train=t_train';p_test=p_test';

二、参数说明

SHEPFit函数:

[srgtSRGT srgtSTT]=SHEPFit(srgtOPT)

srgtSRGT是包含以下字段的代理结构:
*P:训练输入。
*T:训练输出。
*NbPoints:数据集中的点数。
*NbVariables:输入变量的数量。
*SHEP_Beta:局部拟合系数。
*SHEP_Radii:包含每个的影响半径的数组指向

srgtSTT是包含以下字段的状态结构:
*SHEP_Error:
0,代表未遇到错误。
1,代表N相对于M太小。
2,代表任何最小二乘问题是秩亏的。
3,代表IRLS子程序返回错误。

SHEPOPT函数:

srgtOPT  = SHEPOPT(p_train, t_train,'LinearShepard');

默认为 ‘LinearShepard’,可替代为’string '、 ‘Ripple’

三、运行结果

在这里插入图片描述

训练集数据的R2为:1
测试集数据的R2为:0.93832
训练集数据的MAE为:4.885e-16
测试集数据的MAE为:1.3938
训练集数据的MBE为:-4.885e-16
测试集数据的MBE为:0.064734

四、代码获取

1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“99期”以及相应指令,即可获取对应下载方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/528129.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

three.js 射线Ray,三维空间中绘制线框

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs"></div> <div>{{ res1 }}</div> <div>{{ res2 }}</div><…

Feed、RSS、Atom概念对比及ROME实战

概述 在豆瓣等网站里&#xff0c;经常会看到如下订阅Button&#xff1a; 本文记录一下相关概念学习成果。 Feed Feed&#xff1a;消息来源&#xff0c;一种资料格式&#xff0c;网站通过它将最新资讯传播给用户。用户能够订阅某网站的前提条件是网站有提供Feed。Feed被很多…

Java高频面试之Mysql篇

有需要互关的小伙伴,关注一下,有关必回关,争取今年认证早日拿到博客专家 Java高频面试之总纲篇 Java高频面试之集合篇 Java高频面试之异常篇 Java高频面试之并发篇 Java高频面试之SSM篇 Java高频面试之Mysql篇 Java高频面试之Redis篇 Java高频面试之消息队列与分布式篇…

代码随想录算法训练营Day39 || leetCode 762.不同路径 || 63. 不同路径 II

62.不同路径 每一位的结果等于上方与左侧结果和 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector(n,0));for (int i 0; i < m; i) dp[i][0] 1;for (int j 0; j < n; j) dp[0][j] 1;for (int i 1; i < m; …

docker学习笔记——Dockerfile

Dockerfile是一个镜像描述文件&#xff0c;通过Dockerfile文件可以构建一个属于自己的镜像。 如何通过Dockerfile构建自己的镜像&#xff1a; 在指定位置创建一个Dockerfile文件&#xff0c;在文件中编写Dockerfile相关语法。 构建镜像&#xff0c;docker build -t aa:1.0 .(指…

如何用YOLOv8实现图像分割

1. 介绍 在之前的文章中,介绍了如何使用 YOLOv8 在不同的编程语言来检测图片中的对象。然而,YOLOv8 还可以把检测到的目标图像分割出来,本篇文章将介绍如何使用YOLOv8做图片分割。 对象检测的结果是所有检测到的对象的边界框。图像分割的结果是所有检测到的对象的蒙版。它是…

Spring官网中查看MongoDB的API文档的详细步骤

目录 Spring官网中查看MongoDB的API文档的详细步骤1、进入 Spring 官网2、选择 Mongodb的文档介绍3、点击API文档4、进入文档查询页面 Spring官网中查看MongoDB的API文档的详细步骤 1、进入 Spring 官网 首先进入Spring的官网&#xff0c;然后点击【Spring Data】 2、选择 Mon…

Ubuntu23.10安装FFmpeg及编译FFmpeg源码

安装FFmpeg: 打开终端: 输入 sudo apt install ffmpeg 安装成功: 验证FFmpeg 默认安装位置与库与头文件位置 使用FFmpeg源码编译: 1.安装YASM sudo apt-get install yasm

Python 全栈系列233 部署chatglm系列接口部署

说明 在国产大模型里&#xff0c;chatglm应该算是效果不错的&#xff0c;目前开源的三个版本都部署过。第一代的不太行&#xff0c;第二代&#xff0c;第三代的效果都还可以&#xff0c;但第三代对第二代似乎不是帕累托改善。在微调方面做了修改&#xff0c;但是显得比较乱。第…

VUE3项目学习系列--项目基础配置(四)

目录 一、环境变量配置 二、SVG图标配置 三、注册组件为全局组件 四、集成sass 1、安装依赖 2、添加文件 3、配置 一、环境变量配置 项目开发过程中会经历开发环境、测试环境、生产环境三种状态&#xff0c;对与环境变量的配置需求不同&#xff0c;因此需要在项目中进行环…

最新全流程GMS地下水数值模拟及溶质(包含反应性溶质)运移模拟技术深度应用

本文以地下水数值模拟软件GMS操作&#xff0c;本文中强调模块化教学&#xff0c;分为前期数据收集与处理&#xff1b;三维地质结构建模&#xff1b;地下水流动模型构建&#xff1b;地下水溶质运移模型构建和反应性溶质运移构建5个模块&#xff1b;采用全流程模式将地下水数值模…

个人网站展示(静态)

大学期间做了一个个人博客网站&#xff0c;纯H5编码的网站&#xff0c;利用php搭建了一个留言模块。 有需要源码的同学&#xff0c;可以联系我~ 首页&#xff1a; IT杂记模块 文人墨客模块 劳有所获模块 生活日志模块 关于我 一个推崇全栈开发的前端开发人员 微信: itrzzh …