数学建模 灰色预测模型 MATLAB

更新时间:2024-05-22 03:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

WORD整理版

§12.5 灰色预测

我们通常所说的系统是指:由客观世界中相同或相似的事物和因素按一定的秩序相互关联、相互制约而构成的一个整体.例如:工程技术系统、社会系统、经济系统等.如果一个系统中具有充足的信息量,其发展变化的规律明显、定量描述方便、结构与参数具体,则这种系统通常称为白色系统.如果一个系统的内部特征全部是未知的,则称此系统为黑色系统.如果系统内部信息和特征是部分已知的,另一部分是未知的,这种系统称为灰色系统.例如:社会系统、农业系统、经济系统、气象系统、生物系统等.对于这类系统,内部因素难以辨识,相互之间的关系较为隐蔽,人们难以准确了解这类系统的行为特征.因此,对于这类问题进行定量描述,即建立模型难度较大.区别白色系统与灰色系统的重要标志是系统内各因素之间是否具有确定的关系.

灰色系统分析方法主要是根据具体灰色系统的行为特征数据,充分利用数量不多的数据和信息寻求相关因素自身与各因素之间的数学关系,建立相应的数学模型.目前,灰色系统理论在实际中已得到了广泛的应用,例如:在工程技术、经济管理、气象预报以及政治、社会、工业、农业等领域都取得了一定的应用成果.

我们往往要对农业问题、商业问题等做未来的预测工作,另外,进行军事战争以及治理生态环境也需对未来的发展情形做一可靠的分析,这就产生了灰色预测.灰色预测是对灰色系统问题进行未来的预测,实际问题中,应用最多的灰色预测模型是以GM(1,1)(即GM(1,N)当N=1时的特例)模型为基础的.

12.5.1 GM(1,1)模型的建立

设X=(X(1),X(2),…,X(n)),做1-AGO,得

(0)

(0)

(0)

(0)

X(1)?(X(1)(1),X(1)(2),,X(1)(n)),X(1)(n?1)?X(0)(n))

?(X(1)(1),X(1)(1)?X(0)(2),则GM(1,1)模型相应的微分方程为:

dX(1)?aX(1)?u (1) dt式中:a称为发展灰数;μ称为内生控制灰数.

?=(a,μ),按最小二乘法得到 设?T??(BTB)?1BTY1 (2) ?其中

专业资料学习参考

WORD整理版

1(1)??(1)?(X(1)?X(2))1??2??1??(X(1)(2)?X(1)(3))1?? B??2?????1(1)?(1)??(X(n?1)?X(n))1??2??X(0)(2)??(0)?X(3)?Y1??

????X(0)(n)????易求得,方程(1)的解为

? X(1)uu(k?1)?(X(0)(1)?)e?ak? (3)

aa例4 100m成绩预测

1983~1990年世界男子和中国女子100m最好成绩如表6.

表6 各年度最好成绩 年份 男子 女子 1983 9.93 11.95 1984 9.96 11.66 1985 9.98 11.63 1986 9.95 11.65 1987 9.93 11.35 1988 9.92 11.32 1989 9.94 11.58 1990 9.93 11.32 记世界男子100m成绩的原始数列为 X(0)?(9.93,9.96,9.98,9.95,9.93,9.92,9.94,9.93)

建立GM(1,1)模型,即按式(1)、(2)、(3)得到预测模型为

?(1)(k?1)?(9.93?13884.61)e?0.0007185266k?13884.61 X由预测模型得预测值为

年份 模型预测值/s

1991 9.92 1992 9.91 2000 9.85

记中国女子的原始数列为

X(0)?(11.95,11.66,11.63,11.65,11.35,11.32,11.58,11.32)

同样建立GM(1,1)模型,得到预测模型为

?(1)(k?1)?(11.95?2602.187)e?0.00451067k?2602.187 X从而得到中国女子100m成绩的预测值

年份 模型预测值/s

1991 11.30 1992 11.24 2000 10.85

专业资料学习参考

WORD整理版

12.5.2 模型检验

灰色预测检验一般有残差检验、关联度检验和后验差检验. (1)残差检验

?(0)(i),然后计算原始序列X(i) ?(1)(i),并将X?(1)(i)累减生成X按预测模型计算X(0)

?(0)(i)的绝对误差序列及相对误差序列. 与X?(0)(i)|?(0)(i)?|X(0)(i)?X?(0)(i)?(i)?(0)?100%X(i)(2)关联度检验 定义1 选取参考数列

i?1,2,i?1,2,,n

,n

X0?{X0(k)|k?1,2,,n}?(X0(1),X0(2),,X0(n))

其中k表示时刻.假设有m个比较数列 Xi?{Xi(k)|k?1,2,则称

?i(k)?,n}?(Xi(1),Xi(2),,Xi(n))i?1,2,,m

minmin|X0(k)?Xi(k)|??maxmax|X0(k)?Xi(k)|ikik|X0(k)?Xi(k)|??maxmax|X0(k)?Xi(k)|ik (1)

为比较数列Xi对参考数列X0在k时刻的关联系数,其中ρ∈[0,1]为分辨系数,一般取

ρ=0.5.称式(1)中minmin| X0(k)-Xi(k)|、maxmax | X0(k)-Xi(k)|分别为两级最小

ikik差和两级最大差.由(1)式易看出,ρ越大,分辨率越大;ρ越小,分辨率越小.

式(1)定义的关联系数是描述比较数列与参考数列在某时刻关联程度的一种指标,由于各个时刻都有一个关联数,因此信息显得过于分散,不便于比较,为此我们给出以下定义

定义2 称

1nri???i(k) (2)

nk?1为数列Xi对参考数列X0的关联度.

由式(2)易看出,关联度是把各个时刻的关联系数集中为一个平均值,也就是把

?(0)(i)与原始序列X(i)过于分散的信息集中处理.根据前面所述关联度计算方法计算出X(0)

的关联系数,然后计算出关联度,根据经验,当ρ=0.5时,关联度大于0.6便满意了.

(3)后验差检验

专业资料学习参考

WORD整理版

1.计算原始序列标准差:

S1??[X(0)(i)?X(0)]2n?1 2.计算绝对误差序列的标准差:

S2?3.计算方差比:

?[?(0)(i)??(0)]2n?1

C?S2 S14.计算小误差概率:

P?p{|?(0)(i)??(0)|?0.6745S1}

令ei?|?(0)(i)??(0)|,S0?0.6745S1,则P?p{ei?S0}.

表7 检验标准

P C ?0.35 ?0.50 ?0.65 好 合格 勉强合格 不合格 ?0.95 ?0.80 ?0.70 ?0.70 ?0.65 若残差检验、关联度检验和后验差检验都能通过,则可以用所建模型进行预测;若用

(0)

原始时间序列X建立的GM(1,1)模型检验不合格或精度不理想时,这时要对建立的GM(1,1)模型进行修正或提高模型的预测精度.其修正方法如下:

设原始时间序列X建立的GM(1,1)模型为

(0)

? X(1)uu(i?1)?(X(0)(1)?)e?ai?

aa(1)?可获得生成序列X的预测值X(1)

,即对于X(1)?{X(1)(1),X(1)(2),,X(1)(n)},有预测序

专业资料学习参考

WORD整理版

?(1)?{X?(1)(1),X?(1)(2),列X?(1)(n)},定义残差为 ,X?(1)(j) e(0)(j)?X(1)(j)?X?若取j=i,i+1,…,n,则与X及X(1)

(1)对应的残差序列为

e(0)?{e(0)(i),e(0)(i?1),为便于计算上式改写为

,e(0)(n)}

?e(0)(2?), e(0)?{e(0)(1),e(0)的累加生成序列为

,e(0)(n?)}

?e(1)(2?), e(1)?{e(1)(1),e(1)可建立相应的GM(1,1)模型:

,e(1)(n?)}n??n?i

?(k?1)?(e(1)? e(1)(0)ue?aekue)e? aeaeue?ae(k?1)?(1)(k?1),得?(1)(k?1)修正X加上e)eae??(k?1)?(?ae)(e(0)(1)??(1)(k?1)的导数ee修正模型:

?(1)(k?1)?(X(0)(1)?u)e?aku??(k?1)(?a)(e(0)(1)?ue)e?ae(k?1) Xeaaae?1,k?2其中?(k?1)??为修正系数.

0,k?2?最后给出经过残差修正的原始序列预测模型:

?(0)(k?1)?X?(1)(k?1)?X?(1)(k)(k?1,2,) X 专业资料学习参考

WORD整理版

§12.6 灰色预测模型案例

一、问题描述

表8给出了上海市1991年-1996年国内生产总值总消费资料.

生产决定消费,国内生产总值总消费决定了居民的消费水平,为此很有必要对国内生产总值总消费进行科学预测,分析国内生产总值总消费发展趋势,为宏观经济政策的制定提供重要的参考.

表8 国内生产总值总消费 单位:亿元 年份 国内生产总值总消费 1991 1992 1993 1994 1995 1996 386.06 476.57 679.35 873.89 1085.33 1252.33 试根据表8的资料,建立上海市国内生产总值总消费的灰色预测模型GM(1,1),并预测上海市1998年国内生产总值总消费.

二、模型的建立及求解

1.令X(1),X(2),…,X(6)对应于原始序列数据. 第一步,构造累加生成序列:

(0)

(0)

(0)

X(1)(1)?X(0)(1)?386.06X(1)(2)?X(1)(1)?X(0)(2)?862.63X(1)(3)?X(1)(2)?X(0)(3)?1541.98X(4)?X(3)?X(1)(1)(0)(4)?2415.87

X(1)(5)?X(1)(4)?X(0)(5)?3501.2X(1)(6)?X(1)(5)?X(0)(6)?4753.53第二步,构造数据矩阵B和数据向量Y1:

专业资料学习参考

WORD整理版

?1(1)(1)?[X(1)?X(2)]?2???1[X(1)(2)?X(1)(3)]?2?1B???[X(1)(3)?X(1)(4)]?1??1???624.345?????1202.3051????1978.9251??1?1? ??2??????2958.5351???12[X(1)(4)?X(1)(5)]1???????4127.3651???1(1)(1)??2[X(5)?X(6)]1?????476.57?679.35?Y????873.89?1??1085.33?

???1252.33??第三步,计算BTB, (BTB)-1

, BTY1:

BTB???31539559.34?1081.475???1081.4755?,?(BTB)?1???0.00000012?0.000278742BTY??11223502.57???0.2079875031??,?4367.47?????(BTB)?1BTY?1???396.8903031????a??0.207987503??396.8903031

?

dX(1)dt?0.207987503X(1)?396.8903031 X(0)(1)?386.06?a??1908.241108

X(0)(1)??a?2294.301108

X(1)(k?1)?2294.301108e0.207988k?1908.241108

专业资料学习参考

0.000278742?0.808183989??

即第四步,得出预测模型: WORD整理版

三、模型检验

第五步,进行关联度检验: (1)计算:

?(1)?0,?(2)?53.87,?(3)?26.28,?(4)?69.82,?(5)?95.37,?(6)?33.48,

min{?(k)}?0,max{?(k)}?95.37

(2)计算关联系数:

?(1)?1,?(2)?0.47,?(3)?0.64,?(4)?0.41,?(5)?0.33,?(6)?0.59?i(k)?minmin|X0(k)?Xi(k)|??maxmax|X0(k)?Xi(k)|ikik|X0(k)?Xi(k)|??maxmax|X0(k)?Xi(k)|ik

1r?(1?0.47?0.64?0.41?0.33?0.59)?0.573,r?0.573是基本满足??0.56时,r>0.57的.

所以关联度检验通过. 第六步,后验差检验: (1)计算: X(0)1?(386.06?476.57?679.35?873.89?1085.33?1252.33)?792.255 6 S1??[X(0)(k)?X(0)]2n?1?341.065

(2)计算残差的均值:

1??(0?53.87?26.28?69.82?95.37?33.48)?46.47

6残差的标准差:

2[?(k)??]?S2?n?1?33.8438,C?S233.8438??0.09923 S1341.065 专业资料学习参考

WORD整理版

S0?0.6745S1?0.6745?341.065?230.048

ek?|?(k)??|?{46.47,7.4,20.19,23.35,48.9,12.98}

所有ek都小于S0,故P=1,C<0.35. 所以后验差检验通过. 第七步,残差检验: (1)计算

X(1)(1)?386.06,X(1)(2)?916.498734,X(1)(3)?1569.574052, X(1)(4)?2373.639335,X(1)(5)?3363.603222,X(1)(6)?4582.44517

(2)累减生成序列:

?(0)(1)?386.06,X?(0)(2)?530.44,X?(0)(3)?653.07 X?(0)(4)?804.07,X?(0)(5)?989.96,X?(0)(6)?1218.35 X(3)计算绝对误差序列及相对误差序列:

绝对误差序列△={0,53.87,26.28,69.82,95.37,33.48} 相对误差序列Ф={0,11.3%,3.87%,7.99%,8.79%,2.67%}

相对误差序列中有的相对误差很大,所以要对原模型进行残差修正以提高精度. (4)利用残差对原模型进行修正: 取 e={53.87,26.28,69.82,95.37,33.48}

(0)

(0)

e(1)={53.87,80.15,149.94,245.34,278.82}

?(k?1)?848.1722e得e(1)0.0589k?794.3022

最后得修正模型为:

?(1)(k?1)?2294.301108e0.207988k?1908.24118??(k?1)49.9573e0.0589(k?1) X 专业资料学习参考

WORD整理版

其中?(k?1)???1,?0,k?2. k?2表9 修正后的残差计算表

序号k 1 2 3 4 5 6 X(1)(k) 386.06 862.63 1541.98 2451.87 3501.20 4753.33 ?(1)(k) X386.06 900.01 1622.56 2426.63 3419.20 4622.06 修正后误差 0 37.38 80.58 10.76 82 131.27 相对误差 0 4.33% 5.23% 0.45% 2.34% 2.76% 因此,可用上述经过残差修正后的模型来预测上海市1998年国内生产总值总消费:

X(1)(7)?6150.15,X(1)(8)?8001.80

故上海市1998年国内生产总值总消费预测值为:

X(1)(8)?X(1)(7)?1851.65(亿元)

注:灰色预测是通过对原始数据的处理和灰色模型的建立,发现、掌握系统发展规律,

对系统的未来状态作出科学的定量预测.一个模型要经过多种检验才能判定其是否合理有效,只有通过检验的模型才能用作预测.

专业资料学习参考

本文来源:https://www.bwwdw.com/article/h827.html

Top