灰色系统理论预测算法GM(1
2023-03-11
来源:步旅网
第24卷第5期 电脑开发与应用 文苹编号:1003-5850(2011)05—0001—03 灰色系统理论预测算法GM(1,1)模型研究及其应用 ‘Research on GM(1,1)Model of Grey System Prediction Algorithm and its Application 强 彦 郭常莲 孙 然 ( 太原理工大学计算机科学与技术学院 太原030024)( 山西省农科院综考所 太原030006) 【摘 要】目前,农村经济数据存在小样本、少数据和信息不完全等问题,用传统的建模方法并不太适合。灰色 系统理论是一种研究少数据、贫信息、不确定性问题的新方法,它在农村经济预测中相对于传统预测方法有明 显的优势。重点研究了GM(1,1)模型、等维灰数递补动态模型和周期修正模型,对预测算法存在的不足和缺 陷提出了改进方案,并运用matlab GUI完成了灰色预测算法的实现。 【关键词】农村经济,灰色系统理论,灰色预测,灰色模型 中图分类号:TP301.6 文献标识码:A ABSTRACT The forecast of rural economic development is particularly important.But rural economic data exists many problems, for example,little sample,less data and incomplete information,the traditional model is not the best・Gray system theory is a new method in dealing with less data,inadequate information and uncertain problems,it has obvious advantages in rural economic forecast.This paper focuses on the GM(1,1)model,equal dimension gray number dynamic model,residual cycle correction model and presents an improved scheme in view of the shortcomings and deficiencies of the prediction algorithm.,and realized the gray prediction algorithm by matlab GUI. KEYWORDS rural economy,grey system theory,grey prediction,grey model 1灰色系统理论预测模型简介 1.1 GM(1,1)模型 GM(1,1)模型用等时距观测到的反映预测对象 后,构成新息数列。每增加一个新数据,就建立一个信 息GM(1,1)模型,但是,随着时间推移,信息越来越 多,会增加计算工作量。同时,老数据越来越不能反映 新情况,因此,每补充一个新数据,就去掉一个最老的 特征的一系列数量(如产量、销量、人口数量、利率等) 构造灰色预测模型,预测未来某一时刻的特征量,或者 达到某特征量的时间L1]。 数据,以保持列的维数,再建立GM(1,1)模型,这样逐 个预测直到完成预测目标或者达到下一精度要求为 止。每预测一步,参数做一次修正,模型得到改进,因而 1.2等维灰数递补动态模型 从理论上说,GM(1,1)模型是连续时间函数,可 以从初始值 ∞’(1)一直延伸到未来任何时刻,但随着 时间推移,未来一些扰动因素将对系统产生影响。未来 时刻越远,预测值的灰区间越大,所以GM(1,1)模型 有预测意义的数据仅仅是X∞ ( )以后的一两个数据, 其他数据只能表示在现有条件不变的情况下,未来发 展的规划性数据。为提高预测数据的精度,应该充分利 预测值是产生在动态之中,这预测方法就是“等维灰数 递补动态预测”_2]。 1.3残差周期修正模型 利用GM(1,1)模型进行数列预测,可得到一条 比较光的指数增长曲线,但它很难反映数列的随机波 动变化。在这种情况下,残差周期修正模型用正弦(或 余弦)曲线去拟合残差序列,并计算出每个时刻的残差 修正值,最后将修正值迭加到同一时刻的还原计算值 上,这样不仅使残差值普遍减小,而且有了波动变化, 使拟合曲线更加逼近原始数据曲线,从而提高了模型 精度。 1.4模型改进 用已知信息的同时,不断补充新的信息。我们完全有理 由认为第一个预测数据即 +1时刻的数据比初值时 刻的数据对预测第 +2时刻的值更能反映系统新的 情况。于是提出根据已知数列建立GM(1,1)模型,预 测一个灰数值,然后将这个预测值补充在已知数列之 * 2011-01—13收到,2011-03—18改回 GM(1,1)灰数递补动态预测有如下局限性;为保 ** 基金项目:山西省科技攻关基金资助项目(20090311091)。 ***强彦,男,1969年生,博士,副教授,研究方向:数据库,智能信息处理。 灰色系统理论预测算法GM(1,1)模型研究及其应用 持“等维预测”,在建模过程中原始数据逐个被剔除,以 等维递补预测模型进行预测可以提高预测的精度,同 致到后来预测值成为预测灰数的滚动延伸,像是无源 之水、元根之木,原始序列的发展态势已荡然无存,从 理论上降低了中长期预测的可信程度。 鉴于此,可以不保持等维的“GM(1,1)灰数递补 预测”方法。这样,既可以有效地利用新的信息一预测 灰数,对模型的灰参数逐步进行修正,又保持原始数据 对序列发展态势的遗传功能。 2等维灰数递补动态模型 2.1建模 灰色系统主要通过含有灰色系数(/g称灰元)的灰 色方程来描述。研究灰色系统的关键,就是通过对灰元 进行处理,使之白化、量化、模型化、优化、以求得灰色 系统白化的答案。灰色系统建模思想,即将一个不甚明 确的、整体信息不足的灰色系统,从结构上、模型上、关 系上,使之由灰变白。 本预测模型适用于对增长迅猛的时间序列进行数 量大小的预测。 2.2算法步骤 基本方法步骤如下: ①用原始数据z5o)=::(z (1),z∞ (2),…, z。 ( ))建立GM(1,1)模型。 ②预测出一个新数据记做 (n+1),将其添加到 原始数据z 中,并去掉一个最陈旧的原始数据 co (1),以保持原始数据的维数不变。新序列记做 } 。 ③用z}。 一(z‘。 (2),z‘。 (3),…,z∞ ( ),x1(咒+ 1))再建立GM(1,1)模型。 ④预测下一个值,记做 ( +1)。将其添加到原 始数据 (o)中,并去掉一个最陈旧的原始数据 ’(2), 形成新序列:z5”。 这样去旧添新,依次补充,直到完成预测目标或达 到一定精度要求为止。每预测一步,参数做一次修正, 模型就得到一次改进。 下面给出一个应用实例,如表1所示。 表1 乡宁县1999年 ̄2003年各年用电量统计(7/千瓦时) 年份l 1999 l 2000 2001 2002 2003 用电量l 6 187.99 l 7 785.48 1O l52.28 lI 988.13 l3 672.69 分别用GM(1,1)模型和等维递补模型进行预测 建模得结果如表2所示。 从2003年的预测结果来看,等维递补预测模型的 预测值的误差和相对误差均已明显减小,体现了使用 样说明了这种改进方法的可行性和实用性。 表2建模结果对比 2003年的 2003年的 预测值 实际值 误差 相对误差 GM(1,1)模型 14 845.250 13 672.7 —1 172.55 ——8.576 等维递补模型 13 736.7 13 672.7 ——64 ——o.468 3改进型非等维灰数递补动态模型 非等维灰色动态GM(1,1)灰数递补模型的建立 过程如下: 以GM(1,1)为基础,用已知数列建立的GM(1, 1)模型只预测一个值(灰数),然后将这个灰数补充到 已知数列之后,再建立下一个GM(1,1)模型,去预测 下一个值,将预测值再补充到数据序列之后,这样逐个 预测,依次递补,直到完成预测目的或达到一定的精度 要求为止。 与常用灰色数列预测和等维灰数递补动态预测比 较,它可以达到如下目的: ①没有去掉原始数据,保持了原始数据序列的基 本特征与遗传功能。 ②及时补充和利用有效的灰色信息一预测灰数, 提高了区间的白化度。 ③每预测一步灰参数做一次修正,模型得到改进, 预测值产生的灰色动态变化之中。 4残差周期修正模型 本模型适用于对较长的时间序列作周期性分析, 并根据其变化规律与发展态势,估计未来周期长度、变 幅大小,对预测值进行适当的增减,使预测值落在灰 区间内。 GM(1,1)残差周期修正模型建立过程如下: ①构建GM(1,1)模型。 ②根据残差数列特点判断是否进行残差周期修 正。 ③如果利用GM(1,1)模型进行回代检验得到的 误差组成的残差数列的明显特点是符号正负交替出 现,呈不太规律的周期变化。如果绘制成曲线图,模型 的拟合曲线为单调增加,而实际原始数据曲线则在拟 合曲线上下或左右摆动,同样可见不太规律的周期性。 在这种情况下可进行残差周期修正。 ④建立残差周期模型 计算公式为: 第24卷第5期 电脑开发与应用 一E(f )一A ・sin J (1) j.■ 一 …一 }f {I m_f毒 裟 :如 . 蔫 lI 一 一 }l j :: 嚣 羔蛊 —t 一-一 } I: { Ⅻ 式中 ( )为第i周期t时刻的修正值,A为第i 周期的最大振幅,丁 为第 周期的长度。有时为简化计 算,振幅的大小也可统一取残差绝对值的平均值,即 ■一— ~ ~一…一一一一一—一一一一* …_~ 一一一 一■~~一~一一一j圃一 …-一一 L皿 }I .I l 让■^t r Il-.…^-……'¨・… ’……口L..■ I 1J…….… 一 1 ‘…一一1D…*…^・∞O… 一~ …・一…… IJl…一……一-一一…一…● 一一一一…一………一 …一一… 一一 。………一……■-・-…lI 一…一,'a’’一■… ………… … ’ …7● ……一一1q 一一…一一一~一一一 ~一一-A 其中e( )(j--1,2,'",n)为各时刻的残 1.1… ・…'’一………・一 l l…1l I,… r '……■…… ……_* O ∞…一、…’’一…∞~】“’ 一∞ 一 差值, 为残差数列的时刻数。 ⑤将计算得到的各个残差修正值分别迭加到对应 时刻的还原计算值上。 设 “ (愚)为GM(1,1)模型累加数列X“ 的预测 值,则得到原始数列 ∞ 的预测值: (o (五+1)==:又(1 (五+1)一 (1 (是)+ (是+1) 5灰色系统理论在农村经济分析中的应用 本文使用matlab GUI实现了山西省农村经济综 合数据系统中的模型分析子系统。 5.1 GM(1,1)模型设计实现 根据GM(1,1)模型的算法和本预测系统的需要, 提取出GM(1,1)模型预测的输入和输出如图1所示。 lII■一一…一…-一-… …一——一 —一一…一———— —_—~一 mtT. ■ — 一 ; {1 c00 2 oo0oo’0。0∞t∞ 5∞0∞6∞0啦 *tH _i I l1,ooooo ∞∞0≈_啁rm%“ ∞55a舢 1 {一一一一一……——…一一…一,一 , MM 一一 一 一 一一~ 删 u j_ {:! 『 lc=i m :辨 0蚋^ j {o■≈■}(口 j 0■ ■}(2) 城 l l m● 一 - - :● -・・ 2l ,..” 辫 ㈣ ‘ }l惴I-1a ’ 一 …肼" ”… ” IL—————,…一一一 }l■ ●■●H■■ ‘ 】¨…i2 l…’’ ,71 n’mt l j ㈣……~ {*一 … H -} *…{… I …i…∞1 i Il-删’(21■啊’_1t I{ “ l i: ……… r 日;‘tn 日~…Ijm 一 一…~一 一一, !.1l 图1 GM(1,1)模型界面设计 5.2等维灰数递补动态模型实现 根据等维灰数递补动态模型的算法和本预测系统 的需要,提取出等维灰数递补动态模型预测的输入和 输出如下,界面设计如图2和图3所示。 ¨ ■ 盘 :*■t T・ 。 ..¨¨一匹蕈耍固 ^l =i 网回 d = 21 rJ 0:1 7 r1t瑚 … 1,‘B H 123 1 r∞ b#27j 1a"∞ ㈣ , 川’嘲 b d…0删 t 口11 %" b 1 …2 1" ll0… ・~ 蛳 图2 等维灰数递补动态模型界面设计 本文提出滚动预测模型,界面设计如图4所示。本 l…一…一一‘…一一…一一一…一…■ …~ 一~ 一 lL平^ 1o… ‰平 t …1 _¨:一 一 .. 一—__。 :一.一一.. 图3滚动预测模型界面设计 模型可通过比较平均误差得出建模数列建模维数的最 佳值。此最佳值可作为等维灰数递补动态模型建模维 数的参考。 5.3残差周期修正模型实现 根据残差周期修正模型的算法和本预测系统的需 要,提取出残差周期修正模型预测的输入和输出如下, 界面设计如图4和图5所示。 ~Il ~1Ⅻ m ‘一~、 {oIl_ ) e.t“ I 丽 _’ …一——一一…一一—一~ 啪._开J州 漕社 一十正口★¨榭 1[戛j 图5残差周期修正模型界面设计(2) 参考文献 [1] Liu S F,Lin Y.Grey Information Theory and Practical Applications[M].London:Springer—Verlag, 2006. [2] Deng Julong.Grey Information Space[J].Journal of Grey Systems,1989,1(2):103—117. [3] 邓聚龙.灰色预测与决策[M].武汉:华中理工大学出 版社,1985. 三三