GM11灰色模型

作者:桂。

时间:2017-08-12  08:34:06

链接:http://www.cnblogs.com/xingshansi/p/7348714.html



前言

  灰色模型(Gray model)常用来对数据进行预测,这里简要记录其思路。

一、名称由来

灰色模型(Gray Model),邓聚龙教授1982年提出。

  常见系统分类:

  • 白色系统是指一个系统的内部特征是完全 已知的,即系统的信息是完全充分的。
  • 黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
  • 灰色系统内的一部分信息是已知的,另一部分信息是未知的,系统内各因素间有不确定的关系。

通常成灰色预测模型为GM(n,h)模型,常用来预测的是GM(1,1):

二、算法原理

  A-模型建立

有观测序列:

计算一阶累加序列:

其中

假设生成序列的一阶模型(核心思想):

对其积分(连续转化为离散):

从而上式转化为:

其中:

借助矩阵表示:

这便是一个最小二乘求解问题。

   B-参数求解

定义:

计算均值生成序列:

得出参数估计

  C-序列预测

这里取

将其带入上面一阶方程解(参数已求出)

取t为离散值(t = k+1)

这样便完成了预测。

三、代码实现

主函数

clc;clear all;close all
set(0,‘defaultfigurecolor‘,‘w‘);
%{
参考:《离散模型与灰色预测模型建模机理》,谢乃明,刘思峰
本程序主要用来计算根据灰色理论建立的模型的预测值。
应用的数学模型是 GM(1,1)。
原始数据的处理方法是一次累加法。
%}
f = @(t,b)(0.3*t.^2+b+0.3*randn(1,length(t)));%定义待预测函数
t = 0:.2:5;
b = 3;
x0 = f(t,b);
x_pre = GM11(x0);
plot(t,x0,‘k‘,t,x_pre,‘r--‘);
xlabel(‘时间(年)‘);
ylabel(‘幅度‘);
title(‘GM11预测模型‘);
legend(‘原始数据‘,‘预测数据‘);

GM11的function:

function x_pre = GM11(x0)
x0 = x0(:);
n = length(x0);
x1 = cumsum(x0);
for i = 1:n-1
    G(i,1) = -(x1(i)+x1(i+1))/2;
    G(i,2) = 1;
end
Y = x0(2:end);
belta = pinv(G‘*G)*G‘*Y;
a = belta(1);
u = belta(2);
%predict
x_pre1 = zeros(n,1);
x_pre = x_pre1;
for k = 0:n-1
    x_pre1(k+1) = (x0(1)-u/a)*exp(-a*k)+u/a;
end
x_pre(1) = x0(1);
for k = 1:n-1
    x_pre(k+1) = x_pre1(k+1)-x_pre1(k);
end

结果图:

时间: 2024-08-10 09:05:08

GM11灰色模型的相关文章

灰色模型的malab程序

function [y,p,e]=huise_1_1(X,k)                     %灰色模型的malab程序%Example [y,p]=gm_1_1([200 250 300 350],2)  %接口描述: X的预测的初始数列,|X|>4,K是指向后进行预测的个数%命令格式: 程序保存的文件名,eg:huise.m  则命令是: huise([579.8 547.5 527.0 492.3 437.0],5)   if nargout>3;    error('Too

灰色模型GM(1,1) 代码及存在的问题

  “客观世界的很多实际问题,其内部的结构.参数以及特征并未全部被人们了解,人们不可能象研究白箱问题那样将其内部机理研究清楚,只能依据某种思维逻辑与推断来构造模型.对这类部分信息已知而部分信息未知的系统,我们称之为灰色系统.灰色系统的本征即灰色,研究在信息大量缺乏或紊乱的情况下,如何对实际问题进行分析和解决. GM(1,1)模型适用于具有较强指数规律的序列,多只能描述单调的变化过程.” 但是可以说应用最普遍了.多种灰色模型具体的理论推导及应用条件见<算法大全  第二十八章灰色系统理论及其应用>

MATLAB解灰色模型

目前,灰色模型已经成为社会.经济.科教.技术等很多领域进行预测.决策.评估.规划.控制.系统分析和建模的重要方法之一.特别是它对时间序列短.统计数据少.信息不完全系统的建模与分析,具有独特的功效. 其实灰色模型很简单,具体的步骤我就不再一一赘述,我就灰色模型用MATLAB的解法与大家分享一下.我以一组简单的数据为例,如下: 例: 近几年,某种商品的价格如下表: 年份 2006 2007 2008 2009 2010 2011 2012 价格 71.1 72.4 72.4 72.1 71.4 72

数学建模 数学模型 GM模型 灰色模型 灰色预测(一)

灰色模型能够有效地进行预测 , 尤其是在数据比较模糊的时候 , 比如预测什么时候下雨 , 先讲解一个简单并且最常用的GM模型 GM(1,1) 生成列 设原始时间序列为x1(t) t为时间t=0,1,2,3-.. , 生成列x0(t)就是原始序列的差分 即 任取t>=1 有: x0(t)=x1(t)-x1(t-1) 紧邻均值列 顾名思义 , 就是取平均值. z1=0.5*x1(t) + 0.5*x1(t-1) GM(1,1)模型 其实 生成列就是原始序列的导数即: x1(t)'=x0(t) =x1

灰色模型

1.灰色模型为预测模型.预测模型一般用回归分析(需要大量数据,数据较少会造成较大误差) 优点:灰色模型需要的数据较少,运算方便,是处理小样本预测的有效工具. 缺点:不考虑系统内在机理,有所会出现较大错误.在内在机理明确的系统中,不推荐使用. 2.特点: (1)用灰色数学处理不确定量,使之量化 (2)充分使用已知信息寻求系统的运动规律 (3)能处理贫信息系统 例题:

R实现灰色预测

1.简介 预测就是借助于对过去的探讨去推测.了解未来.灰色预测通过原始数据的处理和灰色模型的建立,发现.掌握系统发展规律,对系统的未来状态做出科学的定量预测.对于一个具体的问题,究竟选择什么样的预测模型应以充分的定性分析结论为依据.模型的选择不是一成不变的.一个模型要经过多种检验才能判定其是否合适,是否合格.只有通过检验的模型才能用来进行预测.本章将简要介绍灰数.灰色预测的概念,灰色预测模型的构造.检验.应用,最后对灾变预测的原理作了介绍. 灰色系统理论的产生和发展动态 1982邓聚龙发表第一篇

灰色理论预测模型

灰色理论 通过对原始数据的处理挖掘系统变动规律,建立相应微分方程,从而预测事物未来发展状况.  优点:对于不确定因素的复杂系统预测效果较好,且所需样本数据较小:  缺点:基于指数率的预测没有考虑系统的随机性,中长期预测精度较差. 灰色预测模型 在多种因素共同影响且内部因素难以全部划定,因素间关系复杂隐蔽,可利用的数据情况少下可用,一般会加上修正因子使结果更准确.  灰色系统是指“部分信息已知,部分信息未知“的”小样本“,”贫信息“的不确定系统,以灰色模型(G,M)为核心的模型体系. 灰色预测模型

灰色系统理论与应用

现实生活中的很多实际问题的内部结构,参数以及特征等并不是完全已知的,人们只能根据思维逻辑推断来构造模型研究.这种部分信息已知而部分信息未知的系统被称为灰色系统.作为实际问题的研究,灰色系统是最为常见,本文主要围绕灰色系统展开一系列的学习. 一 灰色系统概述 1.灰色系统 听到灰色系统,相信大家肯定会想为什么要是“灰色”系统,那是不是也有个白色.黑色系统?对,确实如此,白色系统用来指那些信息完备,发展变化规律明显,定量描述较方便,结构和参数较具体的系统:对应的黑色系统就是那些内部结构完全未知的系统

常见的机器学习&amp;数据挖掘知识点

常见的机器学习&数据挖掘知识点 转载请说明出处 Basis(基础): MSE(Mean Squared Error, 均方误差) RMSE(Root Mean Squared Error, 均方根误差) RRSE(Root Relative Squared Error, 相对平方根误差) MAE(Mean Absolute Error, 平均绝对误差) RAE(Root Absolute Error, 平均绝对误差平方根) LSM(Least Mean Squared, 最小均方) LSM(Le