matlab中自动预测和手动预测的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中自动预测和手动预测的区别相关的知识,希望对你有一定的参考价值。

MATLAB中自动预测和手动预测的区别如下:

一、自动预测:

1、自动预测通常是基于机器学习算法来处理和比较大量的输入数据,并根据结果来预测未来结果。

2、自动预测的好处是能够自动的去发现隐藏的关系,并快速进行预测,不需要人类干预,这样可以大大提高效率。

3、自动预测可以经常提供新的输入数据来改进预测的结果,从而使更准确的预测可能性更大。

二、手动预测:

1、手动预测通常是需要人类的干预进行判断和决策,数据的准确性取决于人类的能力。

2、手动预测可以调整不同数据的权重,并进行精细的判断,从而提高预测的准确性。

3、但是,手动预测的缺点也很明显:耗费大量的时间和劳动力,很难实现大规模预测。
参考技术A 数据预测有单因素预测和多因素预测。
单因素预测相对简单,一般可以通过绘制散点图,就可以判断大致符合什么类型的数学模型。
多因素预测一般通过已知的数学模型,用回归分析函数(如,nlinfit函数(优先使用),lsqcurvefit函数(优先使用),lsqnonlin函数,ga函数等等)去拟合系数;如未知数学模型,则要考虑多种数学模型,然后比较修改,最简单的方法可以先用高阶多项式去逼近,但有时候用其预测不一定正确,但能反映已知数据的规律。

GMDH预测 基于matlab GMDH时间序列预测含Matlab源码 2189期

一、GMDH神经网络法简介

GMDH神经网络法是一种研究变量之间关系的启发式自组织方法。GMDH神经网络法可以自动查找数据中的相互关系、选择模型或网络的最佳结构,并提高现有算法的准确性。Ivakhnenko为更好地预测河流中的鱼类种群,创造了分组数据处理方法(GMDH),使神经元成为具有多项式传递函数的更复杂的单元,并简化了神经元之间的互联,同时开发了用于结构设计和权重调整的自动算法。43-55Ivakhnenko构造的多项式为:

上式(1)也称为Ivakhnenko多项式。其中,m表示每个神经元进入回归模型的变量数量;a,b,c…是多项式中变量的权重;y是响应变量;xi和xj是探索性变量。在研究中,上述模型仅包含主要影响,由此可表示为:

若上式(2)为二变量多项式,则将构造m×(m-1) 2个候选神经元,其中m是上一层中的神经元数量。如果选择以允许来自上一层和输入层的输入,则m将是上一层和输入层中神经元数量的总和。如果选择以允许来自任何层的输入,则m将是输入变量的数量加上所有先前层中的神经元数量的总和。

在模型建立和评估过程中,数据被分为三组:训练集(60%)、验证集(20%)和测试集(20%)。训练集包含在模型构建中,验证集则用于对神经元的选择;测试集是用于考察评估模型在未观察数据上的性能。GMDH神经网络法是由神经元构成的层次系统。每层中对应神经元的数量取决于输入的数量。假设进入某一层的输入数量等于p,则该层中的神经元数量变为:

上式(3)考虑了所有成对的输入组合,但这并不意味着所有层都包括h个神经元。例如,输入层中的输入数量仅定义第一层中的神经元数量。在第一层中选择的神经元数量决定第二层中的神经元数量。该算法自行组织架构,当存在三个层次和四个输入时,GMDH神经网络法的体系结构如图1所示。

图1 GMDH神经网络法的体系结构
在图1所示的GMDH神经网络法体系结构中,存在四个输入(X1,X2,X3,X4),其中三个变量(X1,X2,X4)主导着系统,而X3对分类没有影响。GMDH神经网络法会自组织选择对分类有影响的输入变量,这说明网络中神经元之间的连接不是固定的,而是在训练期间进行选择以优化网络;网络中的层数也会自动选择,以产生最大的精度而不会过度拟合。

二、部分源代码

%

clc;
clear;
close all;

%% Load Data

data = load(‘global_ice_volume’);
x = data.x;

Delays = [1 2 3 4 5];
[Inputs, Targets] = CreateTimeSeriesData(x,Delays);

nData = size(Inputs,2);
% Perm = randperm(nData);
Perm = 1:nData;

% Train Data
pTrain = 0.7;
nTrainData = round(pTrain*nData);
TrainInd = Perm(1:nTrainData);
TrainInputs = Inputs(:,TrainInd);
TrainTargets = Targets(:,TrainInd);

% Test Data
pTest = 1 - pTrain;
nTestData = nData - nTrainData;
TestInd = Perm(nTrainData+1:end);
TestInputs = Inputs(:,TestInd);
TestTargets = Targets(:,TestInd);

%% Create and Train GMDH Network

params.MaxLayerNeurons = 25; % Maximum Number of Neurons in a Layer
params.MaxLayers = 5; % Maximum Number of Layers
params.alpha = 0; % Selection Pressure
params.pTrain = 0.7; % Train Ratio
gmdh = GMDH(params, TrainInputs, TrainTargets);

%% Evaluate GMDH Network

Outputs = ApplyGMDH(gmdh, Inputs);
TrainOutputs = Outputs(:,TrainInd);
TestOutputs = Outputs(:,TestInd);

%% Show Results

figure;
PlotResults(TrainTargets, TrainOutputs, ‘训练数据’);

figure;
PlotResults(TestTargets, TestOutputs, ‘测试数据’);

figure;
PlotResults(Targets, Outputs, ‘全部数据’);

if ~isempty(which(‘plotregression’))
figure;
plotregression(TrainTargets, TrainOutputs, ‘训练数据’, …
TestTargets, TestOutputs, ‘测试数据’, …
Targets, Outputs, ‘全部数据’);

end

三、运行结果




四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 石峰.基于GMDH神经网络法的中小板上市公司ST分类预测研究[J].湖南工程学院学报(社会科学版). 2021,31(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

以上是关于matlab中自动预测和手动预测的区别的主要内容,如果未能解决你的问题,请参考以下文章

数据挖掘中分类、预测、聚类的定义和区别。

推理分析和预测分析有啥区别?

图像隐藏基于matlab像素预测和位平面压缩的加密图像可逆数据隐藏含Matlab源码 2218期

预测模型还是解释模型。两者区别及联系

matlab和spss啥区别和联系?

预测某个位置使用全局特征和使用周围特征的区别