基于GMDH 的时间序列预测(Matlab代码实现)

目录

1. GM( 1,1)模型

2. 组合预测模型

3. GMDH 进行时间序列预测

4.运行结果

5 Matlab代码实现

1. GM( 1,1)模型


灰色预测是一种对具有不确定因素的系统进行预测的方法,能有效解决数据少、序列的完整性及可靠性低的问题。GM ( 1,1)模型是一种较为常用的灰色模型,GM ( 1,1)预测模型的建立实质上就是对原始数据序列作一次累加生成,使生成数据序列呈显出一定规律,然后通过建立微分方程模型,求得拟合曲线,进而对系统进行预测。

2. 组合预测模型

灰色模型 通过 对原 始数据加工处理来弱化随 机性的, 若数据存在较大 波动性 预测出来
果可能会存在较大误差 ARIMA 模型 于预测 的模型比较理想, 要求时序数据 是稳定的, 或者 是进行差分后 是稳定的, 往往需要 数据 进行 预处理 ,导致预测的 精度不够准确 一的 预测模型均存在一定的局限性 很难把握预测结果 准确性 从而使得误差较大。 组合模型可以通过 各个预测模型加权平均, 把单 预测模型 优点集合 形成预测精度更高的 预测模型 可以大大减小误差 使得结果更加准确.

3GMDH 进行时间序列预测

时间序列预测可以假定为非线性回归和函数近似的特例。因此,非线性回归方法(如人工神经网络和数据处理组方法(GMDH))可以应用于执行时间序列预测问题。本文用这个方法。

4.运行结果

部分代码:

%% 创建和训练GMDH网络

params.MaxLayerNeurons = 25;   % 一层神经元的最大数目
params.MaxLayers = 5;          %最大层数
params.alpha = 0;              % alpha
params.pTrain = 0.7;           % 训练集占比0.7
gmdh = GMDH(params, TrainInputs, TrainTargets);

%% 评估 

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

 

5 Matlab代码实现

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝科研社

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

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

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

打赏作者

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

抵扣说明:

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

余额充值