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

目录

1. GM( 1,1)模型

2. 组合预测模型

3. GMDH 进行时间序列预测

4. Matlab代码实现

 

1. GM( 1,1)模型


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

2. 组合预测模型

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

3GMDH 进行时间序列预测

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

4. Matlab代码实现

本文只给出部分代码,全部代码点:正在为您运送作品详情

%% 创建和训练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);

基于GMDH 的时间序列预测(Matlab代码实现)_第1张图片

 基于GMDH 的时间序列预测(Matlab代码实现)_第2张图片

基于GMDH 的时间序列预测(Matlab代码实现)_第3张图片 

基于GMDH 的时间序列预测(Matlab代码实现)_第4张图片 

 

你可能感兴趣的:(#,人工智能,matlab,回归,矩阵)