【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期”以及相应指令,即可获取对应下载方式。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 03:56:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 03:56:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 03:56:03       82 阅读
  4. Python语言-面向对象

    2024-03-11 03:56:03       91 阅读

热门阅读

  1. linux Shell 命令行-01-intro 入门介绍

    2024-03-11 03:56:03       48 阅读
  2. 第三章:R语言编程 第六节:模块模式

    2024-03-11 03:56:03       40 阅读
  3. Qt如何将视频获取单帧

    2024-03-11 03:56:03       41 阅读
  4. Web前端_html5+css3

    2024-03-11 03:56:03       44 阅读
  5. TMGM中国官网平台合作的MT4交易软件MT5

    2024-03-11 03:56:03       44 阅读
  6. 服务器防火墙和安全组放开

    2024-03-11 03:56:03       42 阅读
  7. 线程池的执行流程

    2024-03-11 03:56:03       58 阅读
  8. SSL证书怎么开启?

    2024-03-11 03:56:03       39 阅读
  9. Python基础学习(9)迭代器/生成器

    2024-03-11 03:56:03       39 阅读
  10. SQL注入攻击 - 堆叠注入(Stacked Injection)

    2024-03-11 03:56:03       47 阅读
  11. python实现数据爬虫

    2024-03-11 03:56:03       42 阅读
  12. 唤起原生IOS和安卓Android app的方法

    2024-03-11 03:56:03       43 阅读