⛄一、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 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

【GMDH预测】 基于matlab GMDH时间序列预测【含Matlab源码 2189期】相关推荐

  1. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  2. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  3. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  4. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  5. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  6. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  7. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  8. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  9. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

  10. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

最新文章

  1. php如何对数组进行分组,如何在PHP中对数组进行分组排序
  2. RandomStringUtils工具类
  3. VBScripts and UAC elevation(visa以后的系统)
  4. Ubuntu12.04下在Android4.0.4源码下载及其编译过程(转载)
  5. clickhouse集群表删除_携程用ClickHouse轻松玩转每天十亿级数据更新
  6. linux下,.ko,.o , .so , .a ,.la
  7. smartcar_body.urdf.xacro
  8. 如何实现系统集约与管理运营集约相互促进而不是相互制约
  9. 浏览器,图片格式及特点
  10. 《算法图解》笔记与总结
  11. 深入学习华为云IOT云平台与LiteOS轻量级物联网系统
  12. 高数 | 【一元函数积分学】常用积分公式表
  13. 主键中的mappdeBy的使用方法
  14. “胡焕庸”线 - 中国人口分布地理界线
  15. coodblock调试_codeblocks怎么调试?
  16. d3 企业图谱 仿天眼查 企查查
  17. sci审稿意见_审稿意见中揭露的SCI常见问题
  18. MySQL数据库(九) 集群 Cluster 和性能优化
  19. 国医大师王绵之:汤药煎服经验谈
  20. 单片机_PWM输出原理详解

热门文章

  1. c语言中关于scanf输入与%c和%s的使用问题(附带缓冲区讲解)
  2. 阿斯巴甜可能致癌?国际饮料协会理事会称有误导,正在进行更全面审查 | 美通社头条...
  3. RocketMQ源码(12)—Broker 消息刷盘服务GroupCommitService、FlushRealTimeService、CommitRealTimeService源码深度解析【一万字】
  4. Halcon单相机标定—标定板标定和自标定 线扫相机标定
  5. 艾盟赢销CRM管理系统
  6. 360和腾讯,一群流氓
  7. hadoop生态圈之各种框架简介
  8. 2020晓庄学院专转本C语言考试试卷,2020江苏专转本必看之:南京晓庄学院
  9. 可以做不同口味寿司的机器人
  10. uni-app头像上传