灰色系统预测GM1,1模型及其Matlab实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
灰色系统预测GM(1,1)模型及其Matlab实现
三天三夜72小时:
读懂题目-》查找文献资料-》选择题目-》重查找文献资料-》精读其中几篇-》查找资料的资料。。。。
在数学建模中常常会遇到数据的预测问题,有些赛题中,预测占主导地位,例如:
2003年A题 SARS的传播问题;
2005年A题长江水质的评价和预测问题;
2006年B题艾滋病疗法的评价及疗效的预测问题;
2007年A题中国人口增长预测问题。
有些问题则是需要在求解的过程中进行预测,如2009年D题“会议筹备”对与会人数的确定等。
参考资料:
《灰色系统理论及其应用第五版》作者:刘思峰,党耀国等著出版时间:2010.05 校超星数字图书馆可阅读。
灰色模型(Gray Model)有严格的理论基础,最大优点是实用。用灰色模型预测的结果比较稳定,不仅适用于大数据量的预测,在数据量较少时(>3)预测结果依然较准确。
预备知识
(1)灰色系统
白色系统是指系统内部特征是完全已知的,即人们不仅知道该系统的输入——输出关系,而且知道实现输入——输出关系的结构与过
程;黑色系统是指系统内部信息完全未知的,即人们只知道该系统输入——输出关系,但不知道实现输入——输出关系的结构与过程;而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。
例如,一个加有电压的电阻,也是一个系统,根据欧姆定律,I=U/R,当电阻的大小知道后,便可由多大电压算出能得到多大电流。电压与电流之间有明确的关系或函数,这便是白色系统。因此,这样的系统要求有明确的作用原理,一个有明确作用原理的系统必定是具有确定结构的,必定是有物理原型的。然而许多社会经济系统都没有物理原型,虽然知道影响系统的某些因素,但很难明确全部因素,更不可能确定因素之间的映射关系。这种没有确定的映射关系(函数关系)的系统是灰色系统。
(2)灰色预测
灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行预测。尽管灰过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。灰色预测是利用这种规律建立灰色模型对灰色系统进行预测。
目前使用最广泛的灰色预测模型就是关于数列预测的一个变量、一阶微分的GM(1,1)模型。它是基于随机的原始时间序列,经按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近。经证明,经一阶线性微分方程的解逼近所揭示的原始
时间序列呈指数变化规律。因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。
目前,灰色模型GM(1,1)己广泛应用于工程技术、社会、经济、农业、生态、环境等各种系统的预测中。
1 灰色预测基础知识
灰色系统理论认为:系统的行为现象尽管是朦胧的,数据是复杂的,但它毕竟是有序的,是有整体功能的。在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据预处理后的数据序列称为生成列。对原始数据进行预处理,不是寻求它的统计规律和概率分布,而是将杂乱无章的原始数据列通过一定的方法处理,变成有规律的时间序列数据,即以数找数的规律,再建立动态模型。灰色系统常用的数据处理方式有累加和累减两种,通常用累加方法。
灰色预测通过鉴别系统因素之间发展趋势的相异程度,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物的未来发展趋势。灰色预测的数据是通过生成数据的模型所得到的预测值的逆处理结果。灰色预测是以灰色模型为基础的,在诸多的灰色模型中,以灰色系统中单序列一阶线性微分方程模型 GM(1,1)模型最为常用。下面简要地介绍 GM(1,1)模型。
设有原始数据列x(0)=(x(0)(1),x(0)(2),…,x(0)(n)),n 为数据个数。
如果根据x(0)数据列建立 GM(1,1)来实现预测功能,则基本步骤如下:
(1)原始数据累加以便弱化随机序列的波动性和随机性,得到新
数据序列:
x (1) = {x (1)(1),x (1)(2),…,x (1)(n)}
其中,x (1)(t)中各数据表示对应前几项数据的累加。
x (1)
(t)= ∑=t
1
k )0()k (x , t=1,2,…,n
(2)对x (1)(t)建立下述一阶线性微分方程: 即GM(1,1)模型。
u ax dt
dx )1()
1(=+ 其中,a,u 为待定系数,分别称为发展系数和灰色作用量,a 的有效区间是 (-2,2),并记a,u 构成的矩阵为灰参数∧
a =⎪⎪⎭
⎫
⎝⎛u a 。只要求出参数a,u,就能求出x (1)(t),进而求出x (0)的未来预测值。 (3)对累加生成数据做均值生成B 与常数项向量Yn,即
B =⎥⎥⎥⎥⎥⎥
⎥
⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+++- 1 (n))X 1)-(n (X 21 ... 1 (3))X (2)X (2
11 (2))X (1)X (21(1)1(1)(1)(1)
(1))(--
Yn=⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛)n (x )3(x )2(x )0()0()0(
(4)用最小二乘法求解灰参数∧
a ,则
∧
a =(B T B)-1B T Y n
(5)将灰参数∧
a 代入u ax dt dx )
1()1(=+ ,并对u ax dt
dx )1()1(=+进行求解,得 ∧
X (1)(t+1)=(X (0)(1)-
a u )at e -+a
u
由于∧
a 是通过最小二乘法求出的近似值,所 以x
ˆ(1)(t+1)是一个 近似表达式,为了与原序列x (1)(t+1)区分开来,故记为x
ˆ(1)(t+1)。 式中t 为时间序列,可取年、季或月。
(6)对函数表达式x
ˆ(1)(t+1)及x ˆ(1)(t)进行离散,并将二者做差以便还原x (0)原序列,得到近似数据序列x
ˆ(0)(t+1)如下: x
ˆ(0)(t+1)=x ˆ(1)(t+1)-x ˆ(1)(t) (7)对建立的灰色模型进行检验,步骤如下:
计算x (0)(t)与x
ˆ(0)(t)之间的残差e (0)(t)和相对误差q (0)
(t): e (0)(t)=x (0)(t)-x
ˆ(0)
(t) q (0)(t)=e (0)(t)/x (0)(t)
等等。
(8)利用模型进行预测:
x ˆ(0) ={x ˆ(0)(1),x ˆ(0)(2),…,x ˆ(0)(n ),x
ˆ(0)(n+1),…,x ˆ(0)(n+m)} 原数列的模拟 未来数列的预测
应用举例
取某高校2000年~2005年的某专业招生数据建模,见表1。 表