用MATLAB实现灰色预测GM11模型

第24卷第2期

2008年6月

沧州师范专科学校学报

JournalofCangzhouTeachers’College

No.2V01.24

Jun.2008

用MATLAB实现灰色预测GM(1,1)模型

唐丽芳1,贾冬青2,盂庆鹏2

(1.沧州师范专科学校,河北沧州06100l;2.河北工程技术高等专科学校,河北沧州061001)

摘要:在分析灰色预测模型基本原理的基础上,利用MATLAB强大的矩阵功能,用MATLAB实现灰色预

测GM(1,1)模型算法,并通过实例分析验证了程序的准确性和可靠性。

关键词:灰色系统;灰色预测;GM(1,1)模型;关联度中图分类号:TP391

文献标识码:A

文章编号:1008-4762(2008)02.0035.03

目前使用最广泛的灰色预测模型就是关于数列预测的一个变量、一阶微分的GM(1,1)模型。它是基于随机的原始

一、背景知识和模型介绍

(一)背景知识

MATLAB是MatrixLaboratory的缩写,即为“矩阵实验

时间序列,经按时间累加后所形成的新的时间序列呈现的规律

可用一阶线性微分方程的解来逼近。经证明,经一阶线性微分方程的解逼近所揭示的原始时间序列呈指数变化规律。因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。

给定原始序列:

室”。MATLAB是集数学计算、图形处理和程序语言设计于一体的著名数学软件。它对矩阵运算之功能堪称一流,由于使用矩阵描述问题更像数学表达式,所以编写的程序不仅高效,而且易读。在欧美高校,MATLAB已经成为应用线性代数、数据统计、时间序列分析、图像处理等高级课程的基本教学工具,

是在读大学生、硕士生、博士生必须掌握的基本技能。MATLAB已经走出实验室,被广泛地用于研究和解决各种具体的工程问

石‘∞=(X‘∞(1),z‘∞(2),z‘们(3)...,X‘∞(n))…(1i

(1)一次AGO(i-AGO)生成序列,以弱化原始序列的随机性和波动性

题。目前MATLAB已发展成为适合多种学科多种工作平台的

功能强大的大型科技应用软件。

MATLAB的基本数据单位是矩阵,其核心也是矩阵,它

可直接进行矩阵的乘积、矩阵的乘方、矩阵的除法、稀疏矩阵等运掣”。在MATLAB语言系统中,几乎所有的操作都是以矩

阵操作为基础,用户可以用类似于数学公式的方法编写程序实

X‘1’=(X0)(1),X‘1’(2),z‘1’(3),..…,X‘1’(,z)),…(2)

现算法,大大降低了编程所需的难度并节省了时间。而在GM

(1,1)模型及相关模型的灰色预测过程中,要大量进行数列

式中z‘1’(七)=∑z‘o’(f),(k=1,2,j,.3”,n)

%作1-AGO生成序列X‘1)

和矩阵运算嘲,这晗好使MATLAB派上了用场。将MATLAB

和GM(1,1)模型结合,实现灰色预测算法,恰到好处。

(--)灰色预测模型介绍1.灰色系统

白色系统是指系统内部特征是完全已知的;黑色系统是指系统内部信息完全未知的;而灰色系统是介于白色系统和黑色

1(i)=sum(x0(1:i));

end

系统之间的一种系统,灰色系统其内部一部分信息已知,另一

部分信息未知或不确定。

2.灰色预测

灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,

采用一阶单变量微分方程进行拟合,得到白化方程的GM(I,

1)模型:

芸耐1)(t)-u,式帆u是待定瓶(3)

也就是对在一定范围内变化的、与时间序列有关的灰过程进行预测。尽管灰过程中所显示的现象是随机的、杂乱无章的,但

毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。

z‘1’(尼)=0.5x‘1’(尼)+0.5石‘1’(足一1)

灰色预测是利用这种规律建立灰色模型对灰色系统进行预测。

二、实验说明和实验操作

1.用MATLAB实现GM(1,1)模型算法

∥(尼)+此‘1’(忌)=“

(4)

堆收稿日期:2007—10—12

作者简介:唐丽芳(1974一

),女,湖南洞口人.沧州师专计算机中心教师。

・35・

万方数据

式中z‘1’(七)为x‘1’(之)的紧邻均生成.即

z(1’(七)=0.5x‘1’(七)+O.5x‘1’(尼一1)

%紧邻均生成

for

k--2:n

%紧邻均生成Z

z(k):O.5+xl(k)+0.5‘xl(k一1)j

end

(2)构造矩阵B和数据向量Y:x‘o’与工‘11满足关系Yn=Ba,其中:

工‘o’(2)1

x‘∞(3)

一三2“-m(1)+z∞(2),

Y。=

B:

一扣1)(2)at-X(I)(3),

z‘o’(,2)

一12(xm(咒一1)+x(1’(珂),1

三=[兰]=(BTB)-1

BTL

(3)计算系数a和u

戈‘o’(2)一z‘1’(2),1石‘o’(3)

一z‘1’(3),

(5)

x‘o’(.n)一Z0)@)】,1

Y。:Bn可用(5)式表示,由此计算出系数口和u%产生数据矩阵B,计算系数a和u

for

i=1:n一1

b(i,1)=一Z(i+1);y(i)=xO(i+1)j

end

b(:,2)=1;

y=y。;

%转置为列向量au=b\y;

%作矩阵除法,计算a

(4)累加模型预测结果

・36・

万方数据

x“‘n(k+1):(z(。,(1)一兰)P一破+兰…(6)(+1)=(z‘o’(1)一兰)P一破+兰

…(6)a

%计算GM(1,1)模型z(七+1)值

ycl(1)=x0(1);

for

k=l:n

c=x0(1)一au(2)/au(1);

ycl(k+1)=c+exp(-au(1)+k)+au(2)/au(1);

end

(5)还原后的预测结果(作IAGO)

(7)

X(七+1)=X(尼+1)一z(七)

%计算x(尼+1)值,显示预测结果

yc0(1)=x0(1);

fork=l:n

ycO(k+1)=ycl(k+1)-ycl(k);

end

disp(uintl6(ycO(2:1:n+1)));2.检验和判断GM(I,I)模型的精度

为确保所建灰色模型有较高的精度能应用于预测实际,按

灰色理论一般采用三种方法检验判断GM(1,1)模型的精度,它

们是:残差大小检验;关联度检验和后验差检验。通常关联度

要大于0.6,残差P(鼬、方差c越小,模型精度P越好。

(1)残差检验

残差检验:e(k)=x‘o’(七)一X(k)

相对髓£=器

(2)关联度检验

因分辨系数毛是在(0,1)中取定的实数,一般取专=0.5。

关联度是各关联系数£(k)累加后在n维空间的平均值。当分辨系数§=o.5,认为关联度大于0.6时可以接受,即通过关联度检

验,否则关联程度差些。

%计算关联度

maxl=max(abs(e0));

r=l;

for

k=2:n

r=r+0.5*maxl/(abs(e0(k))+0.5+maxl);

disp(。

end

预测不合格‘);

r=r/n;%r表示关联度(3)方差比和小误差概率检验

方差比和小误差概率检验属后验差检验,计算公式分别如下:

end

end

三、预测实例分析

根据河北省某高校1999--2004年教师实际人数,建立GM(1,1)模型,预测2005年教师人数。预测结果为738人.相对误差如表2所示,关联度为o.6084,方差C=0.1209,小

预测误差均值;=丢喜Pcn原始数据均值:{’=丢喜石(o’cD

原始数据标准差:S。=

误差概率P=1.0,模型精度为一级,因此可以用作预测模型。

表2年份

1999200020012002

河北省某高校1999--2004年教师人数及预测表

实际教师数

594614634655676718

609633658683710738

预测教师数相对误差%

0。O.65O.05一O.51—1.171.04

预测误差标准差S:=

20032004

方差比:

c=罟

表1

小误差概率:

2005

P=水铲eI<0.6745S1,

模型精度等级

学校在发展过程中,教师相应需要增加。此预测结果为制定学校引进师资、派出进修等规划和政策提供了科学依据。从而消除盲目性,使计划更加趋于科学合理。

四、结束语

用MATLAB实现灰色预测GM(1,1)模型算法,程序简洁、

算法清楚、预测精度高。笔者用本程序在MATLAB6.5环境下

测iK琵-t多组隐含着指数变化规律的原始时间序列,预测结果都较理想。但也有缺陷,须进—步思考和验证。

由P和C的值检验GM(1,1)模型的预测精度,以提供决策依据。精度等级越小越好,精度—级,表示预测具有较高的精度,四级为不通过。模型精度等级由表l所示。

%方差比和小误差概率检验

ifp>0.95&C<0.35

参考文献:

【1】导向科技MATLAB6.0程序设计与实例应用【M】.北京:中

国铁道出版社,2001

【2】邓聚龙.灰色系统理论教程[M】.武汉:华中理工大学出版

社,1992.

disp(’预测精度好’);

elseifp>O.8&c<0.5

disp(。

else

预测合格’);【责任编辑:尤书才】

ifp>0.7&c<0.65

disp(’

e]se

预测勉强合格’);

ToAccomplishGrayForecasting

TANG

GM(1,1)ModelUsing

the

MATLAB

Li—fan91,JIADong—qin92,MENGQing—pen92

(1.CangzhouTeachers’College,Cangzhou0610001,2.HebeiEngineeringCollege,Cangzhou061001)

Abstract:marticlepresentsthealgofithm

Key

words:graysystem;gray

accomplishgrayforecastingGM(1,1)model

byusingtheMATIAB’Ss仃ongmatrixfunction.Acasehasbeenanalyzedtovalidatetheveracityandreliabilityoftheprogram.

to

forecasting;GM(1,1)model;

relevancydegree

万方数据

・37-

第24卷第2期

2008年6月

沧州师范专科学校学报

JournalofCangzhouTeachers’College

No.2V01.24

Jun.2008

用MATLAB实现灰色预测GM(1,1)模型

唐丽芳1,贾冬青2,盂庆鹏2

(1.沧州师范专科学校,河北沧州06100l;2.河北工程技术高等专科学校,河北沧州061001)

摘要:在分析灰色预测模型基本原理的基础上,利用MATLAB强大的矩阵功能,用MATLAB实现灰色预

测GM(1,1)模型算法,并通过实例分析验证了程序的准确性和可靠性。

关键词:灰色系统;灰色预测;GM(1,1)模型;关联度中图分类号:TP391

文献标识码:A

文章编号:1008-4762(2008)02.0035.03

目前使用最广泛的灰色预测模型就是关于数列预测的一个变量、一阶微分的GM(1,1)模型。它是基于随机的原始

一、背景知识和模型介绍

(一)背景知识

MATLAB是MatrixLaboratory的缩写,即为“矩阵实验

时间序列,经按时间累加后所形成的新的时间序列呈现的规律

可用一阶线性微分方程的解来逼近。经证明,经一阶线性微分方程的解逼近所揭示的原始时间序列呈指数变化规律。因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。

给定原始序列:

室”。MATLAB是集数学计算、图形处理和程序语言设计于一体的著名数学软件。它对矩阵运算之功能堪称一流,由于使用矩阵描述问题更像数学表达式,所以编写的程序不仅高效,而且易读。在欧美高校,MATLAB已经成为应用线性代数、数据统计、时间序列分析、图像处理等高级课程的基本教学工具,

是在读大学生、硕士生、博士生必须掌握的基本技能。MATLAB已经走出实验室,被广泛地用于研究和解决各种具体的工程问

石‘∞=(X‘∞(1),z‘∞(2),z‘们(3)...,X‘∞(n))…(1i

(1)一次AGO(i-AGO)生成序列,以弱化原始序列的随机性和波动性

题。目前MATLAB已发展成为适合多种学科多种工作平台的

功能强大的大型科技应用软件。

MATLAB的基本数据单位是矩阵,其核心也是矩阵,它

可直接进行矩阵的乘积、矩阵的乘方、矩阵的除法、稀疏矩阵等运掣”。在MATLAB语言系统中,几乎所有的操作都是以矩

阵操作为基础,用户可以用类似于数学公式的方法编写程序实

X‘1’=(X0)(1),X‘1’(2),z‘1’(3),..…,X‘1’(,z)),…(2)

现算法,大大降低了编程所需的难度并节省了时间。而在GM

(1,1)模型及相关模型的灰色预测过程中,要大量进行数列

式中z‘1’(七)=∑z‘o’(f),(k=1,2,j,.3”,n)

%作1-AGO生成序列X‘1)

和矩阵运算嘲,这晗好使MATLAB派上了用场。将MATLAB

和GM(1,1)模型结合,实现灰色预测算法,恰到好处。

(--)灰色预测模型介绍1.灰色系统

白色系统是指系统内部特征是完全已知的;黑色系统是指系统内部信息完全未知的;而灰色系统是介于白色系统和黑色

1(i)=sum(x0(1:i));

end

系统之间的一种系统,灰色系统其内部一部分信息已知,另一

部分信息未知或不确定。

2.灰色预测

灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,

采用一阶单变量微分方程进行拟合,得到白化方程的GM(I,

1)模型:

芸耐1)(t)-u,式帆u是待定瓶(3)

也就是对在一定范围内变化的、与时间序列有关的灰过程进行预测。尽管灰过程中所显示的现象是随机的、杂乱无章的,但

毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。

z‘1’(尼)=0.5x‘1’(尼)+0.5石‘1’(足一1)

灰色预测是利用这种规律建立灰色模型对灰色系统进行预测。

二、实验说明和实验操作

1.用MATLAB实现GM(1,1)模型算法

∥(尼)+此‘1’(忌)=“

(4)

堆收稿日期:2007—10—12

作者简介:唐丽芳(1974一

),女,湖南洞口人.沧州师专计算机中心教师。

・35・

万方数据

式中z‘1’(七)为x‘1’(之)的紧邻均生成.即

z(1’(七)=0.5x‘1’(七)+O.5x‘1’(尼一1)

%紧邻均生成

for

k--2:n

%紧邻均生成Z

z(k):O.5+xl(k)+0.5‘xl(k一1)j

end

(2)构造矩阵B和数据向量Y:x‘o’与工‘11满足关系Yn=Ba,其中:

工‘o’(2)1

x‘∞(3)

一三2“-m(1)+z∞(2),

Y。=

B:

一扣1)(2)at-X(I)(3),

z‘o’(,2)

一12(xm(咒一1)+x(1’(珂),1

三=[兰]=(BTB)-1

BTL

(3)计算系数a和u

戈‘o’(2)一z‘1’(2),1石‘o’(3)

一z‘1’(3),

(5)

x‘o’(.n)一Z0)@)】,1

Y。:Bn可用(5)式表示,由此计算出系数口和u%产生数据矩阵B,计算系数a和u

for

i=1:n一1

b(i,1)=一Z(i+1);y(i)=xO(i+1)j

end

b(:,2)=1;

y=y。;

%转置为列向量au=b\y;

%作矩阵除法,计算a

(4)累加模型预测结果

・36・

万方数据

x“‘n(k+1):(z(。,(1)一兰)P一破+兰…(6)(+1)=(z‘o’(1)一兰)P一破+兰

…(6)a

%计算GM(1,1)模型z(七+1)值

ycl(1)=x0(1);

for

k=l:n

c=x0(1)一au(2)/au(1);

ycl(k+1)=c+exp(-au(1)+k)+au(2)/au(1);

end

(5)还原后的预测结果(作IAGO)

(7)

X(七+1)=X(尼+1)一z(七)

%计算x(尼+1)值,显示预测结果

yc0(1)=x0(1);

fork=l:n

ycO(k+1)=ycl(k+1)-ycl(k);

end

disp(uintl6(ycO(2:1:n+1)));2.检验和判断GM(I,I)模型的精度

为确保所建灰色模型有较高的精度能应用于预测实际,按

灰色理论一般采用三种方法检验判断GM(1,1)模型的精度,它

们是:残差大小检验;关联度检验和后验差检验。通常关联度

要大于0.6,残差P(鼬、方差c越小,模型精度P越好。

(1)残差检验

残差检验:e(k)=x‘o’(七)一X(k)

相对髓£=器

(2)关联度检验

因分辨系数毛是在(0,1)中取定的实数,一般取专=0.5。

关联度是各关联系数£(k)累加后在n维空间的平均值。当分辨系数§=o.5,认为关联度大于0.6时可以接受,即通过关联度检

验,否则关联程度差些。

%计算关联度

maxl=max(abs(e0));

r=l;

for

k=2:n

r=r+0.5*maxl/(abs(e0(k))+0.5+maxl);

disp(。

end

预测不合格‘);

r=r/n;%r表示关联度(3)方差比和小误差概率检验

方差比和小误差概率检验属后验差检验,计算公式分别如下:

end

end

三、预测实例分析

根据河北省某高校1999--2004年教师实际人数,建立GM(1,1)模型,预测2005年教师人数。预测结果为738人.相对误差如表2所示,关联度为o.6084,方差C=0.1209,小

预测误差均值;=丢喜Pcn原始数据均值:{’=丢喜石(o’cD

原始数据标准差:S。=

误差概率P=1.0,模型精度为一级,因此可以用作预测模型。

表2年份

1999200020012002

河北省某高校1999--2004年教师人数及预测表

实际教师数

594614634655676718

609633658683710738

预测教师数相对误差%

0。O.65O.05一O.51—1.171.04

预测误差标准差S:=

20032004

方差比:

c=罟

表1

小误差概率:

2005

P=水铲eI<0.6745S1,

模型精度等级

学校在发展过程中,教师相应需要增加。此预测结果为制定学校引进师资、派出进修等规划和政策提供了科学依据。从而消除盲目性,使计划更加趋于科学合理。

四、结束语

用MATLAB实现灰色预测GM(1,1)模型算法,程序简洁、

算法清楚、预测精度高。笔者用本程序在MATLAB6.5环境下

测iK琵-t多组隐含着指数变化规律的原始时间序列,预测结果都较理想。但也有缺陷,须进—步思考和验证。

由P和C的值检验GM(1,1)模型的预测精度,以提供决策依据。精度等级越小越好,精度—级,表示预测具有较高的精度,四级为不通过。模型精度等级由表l所示。

%方差比和小误差概率检验

ifp>0.95&C<0.35

参考文献:

【1】导向科技MATLAB6.0程序设计与实例应用【M】.北京:中

国铁道出版社,2001

【2】邓聚龙.灰色系统理论教程[M】.武汉:华中理工大学出版

社,1992.

disp(’预测精度好’);

elseifp>O.8&c<0.5

disp(。

else

预测合格’);【责任编辑:尤书才】

ifp>0.7&c<0.65

disp(’

e]se

预测勉强合格’);

ToAccomplishGrayForecasting

TANG

GM(1,1)ModelUsing

the

MATLAB

Li—fan91,JIADong—qin92,MENGQing—pen92

(1.CangzhouTeachers’College,Cangzhou0610001,2.HebeiEngineeringCollege,Cangzhou061001)

Abstract:marticlepresentsthealgofithm

Key

words:graysystem;gray

accomplishgrayforecastingGM(1,1)model

byusingtheMATIAB’Ss仃ongmatrixfunction.Acasehasbeenanalyzedtovalidatetheveracityandreliabilityoftheprogram.

to

forecasting;GM(1,1)model;

relevancydegree

万方数据

・37-


相关文章

  • 计划生育政策对人口增长的影响数学建模
  • 数学建模竞赛 承 诺 书 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话.电子邮件.网上咨询等)与队外的任何人(包括指导教师)研究.讨论与赛题有关的问题. 我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的 ...查看


  • 节能减排对大气环境影响评价与预测模型
  • 承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话.电子邮件.网上咨询等)与队外的任何人(包括指导教师)研究.讨论与赛题有关的问题. 我们知道,抄袭别人的成果是违反竞赛规 ...查看


  • [中国好声音]的影响力评估
  • <中国好声音>的影响力评估 摘要 本文在<中国好声音>这一音乐选秀节目备受欢迎的背景下,对<中国好声音>的影响力进行评估并建立以下模型. 模型一:灰色预测模型.为了更能准确的预测第八期到十六期的收视率,我 ...查看


  • 节能减排与大气环境(1)2
  • 节能减排与大气环境 摘要 本文对大气环境质量进行了评价和对未来环境变化趋势进行预测.建立了指 数模型.灰色预测模型和二次平滑预测法模型,用相关数据验证并做出预测分析,通过实行节能减排前后的空气质量指数的对比图形,提出了自己的合理化建议. 问 ...查看


  • 抗旱方案的制定灰色预测模型
  • 抗旱方案的制定 摘要 本题要求做出一个从2010年起三年的打井和铺设管道计划,以使整个计划的总开支尽量节省,实质上是一个综合类的优化问题.整个优化问题可以分别考虑打井计划和铺设管道计划. 论文中在做出计划之前,首先对现有的四口水井用灰色预测 ...查看


  • 土地资源人口承载力分析
  • [提要] 作为人类赖以生存和发展的物质基础,土地资源的有限性与人口的增长加剧了人地间的矛盾,土地资源人口承载力问题日益引起社会的广泛关注.本文以四川省内江市为研究对象,以灰色系统GM(1,1)预测法为基础方法,定量阐述内江市土地生产力与合理 ...查看


  • 人口模型数学建模
  • 计划生育政策调整对人口影响的研究 摘 要 本文讨论了计划生育政策调整对人口的影响,通过建立人口数量和结构模型,进一步分析新政策对教育.劳动力供给与就业.养老等的影响. 针对问题一,分析计划生育政策未调整对人口的影响.首先对出生率和死亡率进行 ...查看


  • 灰色人工神经网络模型在变形监测中的应用
  • [摘 要]文章提出了用灰色人工神经网络模型对数据序列进行模拟和预测,是结合GM(1,1)和BP网络模型的各自特点对数据序列进行模拟预测和修正,是在灰色模型的模拟和预测基础之上,用神经网络模型对残差序列进行训练和预测,用以修正模拟值,得到精度 ...查看


  • 基于计划生育政策的调整的数学模型
  • 基于计划生育政策调整的数学模型 一.问题重述 自1978年将计划生育成为中国的一项基本国策以来,在这20多年的时间里,计划生育政策对建设中国特设社会主义.实现国家富强和民族振兴产生了巨大影响,为促进世界人口与发展发挥了重大作用. 但是,在经 ...查看


热门内容