【MATLAB第28期】基于MATLAB的GWO-GMDH时间序列预测模型

【MATLAB第28期】基于MATLAB的GWO-GMDH时间序列预测模型

一、模型简介

  • GMDH(Group Method of Data Handling,数据处理的群组方法)是一种经典的机器学习算法,它可以用于多输入单输出的预测问题,其主要思想是通过组合多个单元来构建一个多项式模型,并通过逐步加入新的输入变量来不断改进模型的精度和泛化能力。

  • 虽然 GMDH 可以用于预测问题,但它不是一个端到端的神经网络模型。在 GMDH
    中,数据处理和特征提取是通过组合不同的单元来完成的,而没有像神经网络那样明确的输入层、隐藏层和输出层。此外,GMDH 的组合过程是通过选择最优的模型来完成的,而不是通过反向传播等优化算法来训练模型。 因此,尽管 GMDH 可以用于多输入单输出的预测问题,但它并不满足端到端神经网络的特征,不能用于更复杂的任务,如图像分类、语音识别等。对于这些任务,需要使用更复杂的神经网络模型,如卷积神经网络(CNN)、循环神经网络(RNN)等。

    总之,GMDH 可以作为一种有效的预测算法,但它并不是一个端到端的神经网络模型,不能满足复杂任务的要求。

二、模型思路

  • 通过GWO灰狼群智能算法,优化GMDH模型适应度函数,其中,适应度函数可以选择测试集的RMSE值。超参数可选择MaxLayerNeurons
    一层(Layer)中最大神经元个数、 MaxLayers 最大层数(Layers)和alpha选择压力。

三、代码展示

clc;
clear;
close all;
%% 加载数据
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;%1:214

% Train Data
pTrain = 0.7;%训练集70%
nTrainData = round(pTrain*nData);%训练集样本个数
TrainInd = Perm(1:nTrainData);%1:150
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);%测试输出
save data
%% Create and Train GMDH Network

params.MaxLayerNeurons = 25;   % 一层(Layer)中最大神经元个数
params.MaxLayers = 5;          % 最大层数(Layers)
params.alpha = 0;              % 选择压力
params.pTrain = 0.7;           % 训练集比例

四、效果展示

在这里插入图片描述
左图为优化后,右图为优化前。
在这里插入图片描述
优化后超参数。

五、代码获取

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随风飘摇的土木狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值