收藏 分享(赏)

灰色模型算法文档.doc

上传人:精品资料 文档编号:9425229 上传时间:2019-08-06 格式:DOC 页数:17 大小:237KB
下载 相关 举报
灰色模型算法文档.doc_第1页
第1页 / 共17页
灰色模型算法文档.doc_第2页
第2页 / 共17页
灰色模型算法文档.doc_第3页
第3页 / 共17页
灰色模型算法文档.doc_第4页
第4页 / 共17页
灰色模型算法文档.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、- 1 -灰色预测算法及相关程序- 2 -1 引言 .32 算法的基本原理 32.1 GM(1,1)模型: 32.2 生成数 .42.2.1 累加生成 42.2.2 累减生成 53 算法的具体实现流程 63.1 算法流程图 63.2 实现步骤 83.3 数据准备与预处理 .104 算法程序实现 104.1 程序使用说明 .104.2 程序源代码 .114.3 程序运行 .164.3.1 程序运行及运行环境说明 .164.3.2 输入数据 164.3.3 输出数据 165 参考文献 16- 3 -灰色预测算法1 引言灰色预测(grey prediction)是利用灰色系统理论就灰色系统所作的预测

2、灰色系统理论认为,尽管系统表象复杂,数据散乱,信息不充分,但作为系统,它必然有整体功能和内在规律,必然是有序的现有的分析方法大多依据过去的大量数据,按照统计方法分析其规律,这样不仅受数据量的限制,而且准确程度不高而灰色系统理论把随机量看作是在一定范围内变化的灰色量,对灰色量的处理不是寻求它的统计规律和概率分布,而是对原始数据加以处理,将杂乱无章的原始数据变为规律性较强的生成数据,通过对生成数据建立动态模型,来挖掘系统内部信息并充分利用信息进行分析预测目前,灰色系统理论用于预测主要通过 GM( m, n)模型,该模型是灰色系统理论的量化体现,可用于以下几个方面的预测:(1)数列预测:对某个事物发

3、展变化的大小与时间进行预测(2)灾变预测:预测灾变发生的时间或者说是异常值出现时区的分布如人体的血压过高或过低的时间预测(3)季节性灾变预测:对发生在每年特定时区的事件和命题作预测(4)拓扑预测:即事物整体的预测,亦称波形预测其特点是对于预先给定的多组数值建立 GM(1,1)模型群,根据预测结果构造出整个波形(5)系统预测:对系统中众多变量间相互协调关系的发展变化所进行的预测2 算法的基本原理2.1 GM(1,1)模型:灰色模型 GM(1,1) GM(1,1)的含义为 1 阶,1 个变量的灰色模型,它是在数据生成的基础上建立如下灰微分方程:bkazx)()(10- 4 -式中 为原始序列, ,

4、 a)(0kx )0()1(AGOx )1(5.0)(.)11( kxkxkz称为发展系数,它反映 和 的发展态势;b 称为灰作用量,它的大小反映)(x)(数据变化的关系对序列 , 因为 为)(,)3(,211)()1( nzzz )(1kz与 的平均值,故记 为 MEAN , 即)(1kx)()1)(xMEAN)1(z)1(的白化型为:bkazx)()(10 baxdt)1()(初始值用 , 则其解为:)1()(01xabextt)1()0()(该式用于预测时称为时间响应函数,表示为abexkxk)1()(0)1累减还原: )()()(1)1)0 kxkxkx其中(a,b)可通过最小二乘求解

5、。2.2 生成数灰色模型是将随机数经生成后变为有序的生成数据,然后建立微分方程,寻找生成数据的规律,再将运算结果还原的一种方法,其基础是数据的生成常用的生成方式有累加生成和累减生成2.2.1 累加生成累加生成是将原始数据通过累加以生成新的数列记原始数列为 :)0(x,)2(,1,21|)( )0(0)(0)( nxnkx - 5 -记 的生成数列 AGO 为 :)0(x)0(x)1( )(,)2(,1,2| 1)()()1( nxxnk 其中 kxx 3(, )0()1)1()0()( 称 为 的一次累加生成, 记 为 1AGO)1()(定义 的 2AGO为 : =AGO )0(x)2(x)(

6、)(x一般定义 的 r次 AGO为 : =AGO )( )(r)()1(r原始数据经累加生成后,其随机性明显减小,而规律性将增加对于非负的数据序列,累加生成的是一个递增的序列2.2.2 累减生成累减生成是累加生成的逆运算,它是通过将原始序列前后两个数据相减生成新的数据序列累减生成可将累加生成还原为非生成数列,在建模中获得增量信息即:IAGO )0()1(x- 6 -3 算法的具体实现流程3.1 算法流程图- 7 - 8 -3.2 实现步骤(1)数据检验与处理:具体算法:根据原始序列 的级比 的大小,判断 GM(1,1)建模)0(x)(0k的可行性 的定义为:)(0k3,)(1)(00kxk可揭

7、示数列 的平滑情况或指数律的符合情况,若 为常数,则)(0k)(x )(0k具有白指数律(即确切的指数律) ,当然,此时无建立 GM(1,1)模型的价x值GM(1,1)建模希望的是 的取值区间长度(覆盖的测度)接近于零)(0k而不等于零,其可容区为(01353,7389) ,即 )389.7,15.()0(参数或级比的可容区是 GM(1,1)建模的基本条件,但不是实用条件,要想建立满意有效的 GM(1,1)模型,参数或级比应落于界区内设 n 是原始数据的个数,则我们有:a 的界区: ;12,n的界区: ,若 ,则认为)(0k)0(,ek 12)0(,nek是可作 GM(1,1)建模的)(x(2

8、)建立模型 GM(1,1)具体算法:利用算法思想的介绍建立模型,则可得累加预测值和预测值:模型的白化型为: baxdt)1()(初始值用 ,则其解为:)1()(01x- 9 -abextt)1()0()1(该式用于预测时称为时间响应函数,表示为abexkxk)1()(0)1累减还原;)()1()()0 kxkxkx(3)检验预测值:残差检验:设 为原始数列)0( )(,)2(,100)()( nxx设 为通过模型(11-52)和(11-53)得到的预测数据列)0(x )(,)3(, 00)()0( xx则称 为残差,称)()()(0kxk %10)()(0)(kx为 GM(1,1)的残差相对值

9、,若残差小于 0.1,则称精度达到较高要求;若残差介于 0.1 与 0.2 之间,则称精度达到一般要求;若残差大于 0.2,则模型不可靠。级比偏差值检验:与原始数列级比 3,)(1)(00kxk一样,我们定义模型级比 3,)(1)(00kxk推导可知,模型级比与 k 无关(因为 符合指数律)3,5.01)()(0 ka其中 a 为发展系数定义级比偏差- 10 -)(15.01%0)()( 0)0( kxakk 一般要求 ,最好 ;2|)(|(4)由模型 GM(1,1)作相应的预测。3.3 数据准备与预处理1)输入原始数据列。2)对原始数据做级比检验,若不满足要求,需要对原始数据作平移变换,直到

10、满足要求为止。4 算法程序实现4.1 程序使用说明1程序采用 Matlab 语言2平移量由预测的人自行输入,输入值应逐渐增大3Matlab 函数:GM(A)灰色预测函数;A初始输入数据向量nA 的长度lamda级比向量P需要做平移的常数B一次累加向量alpha为分辨率系数,一般取 0.5DB 的灰导数a发展系统b灰作用量,且 u=(a,b)Y提取 A 第 2 列后的所有值所构成的向量ZB 的加权均值,也称为均值数列 Z(白化背景值)T由 Y 扩展得到C原始累加数据预测值,且满足 C(1)=A(1)C1原始数据(A)预测值,且满足 C1(1)=A(1)C(i+1) 累加数据第 i 次预测值C1(

11、j)原始数据第 j 次预测值eps(i) 预测值 C1(i)与原始数据 A(i)的相对误差,即残差ruo(i) 关于 lamda 的级比检验表达式m输入的值- 11 -t预测天数,且 t=m-nCt第 t 次累加数据预测值Ct_1第 t-1 次累加数据预测值pre_Ct第 t 次原始数据预测值,且 pre_Ct=Ct-Ct_14.2 程序源代码function GM(A)%数据检验与处理n=length(A);%lamda 为级比向量a=A(1);for j=1:n-1lamda(j)=A(j)/A(j+1);%判断能否通过级比检验if exp(-2/(n+1)lamda(j) | lamda

12、(j)exp(2/(n+1)P=input(平移系数 c=);for i=1:nA(i)=A(i)+P;endfor j=1:n-1lamda(j)=A(j)/A(j+1);endendP=A(1)-a;end A;lamda;%对处理后的数据做一次累加,B 为累加数列B=zeros(1,n);B(1)=A(1);for i=2:nj=i-1;B(i)=A(i)+B(j);end- 12 -B;%求 B 的加权均值,即得均值数列 Z(白化背景值)%alpha 为分辨率系数,一般取 0.5alpha=0.5;for i=1:n-1Z(i)=alpha*B(i+1)+(1-alpha)*B(i);

13、end%求 B 的灰导数 D,由 B 数列做差可得D=A;%求发展系统 a 与灰作用量 b,建立方程化简可得%提取 A 第 2 列后的所有值,称为数据向量 YY=A(2:n);%将 Y 扩展为数据矩阵 TT=(cat(1,-Z,ones(1,n-1);%由最小二乘法可得 u=( a,b)u=(inv(T*T)*T*Y;%建立 GM(1,1)模型求预测值%C 是原始累加模型预测值,C1 是原始数据预测值(均从原始数据第二项开始比较) ,可计算误差C(1)=A(1);for i=1:n-1C(i+1)=(A(1)-u(2,1)/u(1,1)*exp(-u(1,1)*i)+u(2,1)/u(1,1)

14、;endC1(1)=A(1);for j=1:n-1C1(j+1)=C(j+1)-C(j);endC;C1;%残差检验- 13 -disp(以下为残差检验);for i=1:neps(i)=(A(i)-C1(i)/A(i);if eps(i)0.1disp(精度达到一般要求);elseif eps(i)0.2disp(不能通过检验);endend%级比偏差检验disp(以下为级比偏差检验);for i=1:n-1ruo(i)=1-(1-0.5*u(1,1)/(1+0.5*u(1,1)*lamda(i);if ruo(i)0.1disp(精度达到一般要求);elseif ruo(i)0.2dis

15、p(不能通过检验);endend%数据检验到此结束*%*%*%改进预测算法等位新信息递补法,用于中长期动态预测%预测其后第 t 天%Ct 为累加数列的预测值%pre_Ct 为原始数据的预测值m=input(请输入 x=);while m0disp(第,num2str(t), 天的预测值为:);pre_Ct=pre_Ct-Pelseif P=0disp(第,num2str(t), 天的预测值为:);pre_Ctend%等位新信息递补,即除去第一个元素,引入一个预测的新元素for i=1:n-1A(i)=A(i+1);endA(n)=pre_Ct+P;%判断是否结束预测if t=m-nbreak;

16、else%未结束,继续检验新得到的数据 %判断能否通过级比检验a=A(1);for j=1:n-1lamda(j)=A(j)/A(j+1);if exp(-2/(n+1)lamda(j) | lamda(j)exp(2/(n+1)P1=input(平移系数 c=);%整体平移数据 for i=1:nA(i)=A(i)+P1;end%计算级比for j=1:n-1lamda(j)=A(j)/A(j+1);endend%此循环所得到的平移总量P1=A(1)-a;P1;end end%对处理后的数据做一次累加,B 为累加数列B(1)=A(1);for i=2:nj=i-1;B(i)=A(i)+B(j

17、);endB;%求 B 的加权均值,即得均值数列 Z(白化背景值)%alpha 为分辨率系数,一般取 0.5alpha=0.5;for i=1:n-1Z(i)=alpha*B(i+1)+(1-alpha)*B(i);end%求 B 的灰导数 D,由 B 数列做差可得D=A;%求发展系统 a 与灰作用量 b,建立方程化简可得%提取 A 第 2 列后的所有值,称为数据向量 Y- 16 -Y=A(2:n);%将 Y 扩展为数据矩阵 TT=(cat(1,-Z,ones(1,n-1);%由最小二乘法可得 u=( a,b)u=(inv(T*T)*T*Y;end4.3 程序运行4.3.1 程序运行及运行环境

18、说明运行环境:windows 操作系统运行软件:MATLAB适用范围:只能进行短期或中期的预测4.3.2 输入数据输入实际数据向量:a=2.28,2.98,3.39,4.24,6.86,8.64,11.85,12.15,12.71;输入平移量:c1=3,c2=4,c3=5;4.3.3 输出数据原始数据 2.28 2.98 3.39 4.24 6.86 8.64 11.85 12.15 12.71预测数据 2.2800 2.8959 4.0213 5.2747 6.6706 8.2253 9.9568 11.885114.0328残差 0 0.0084 -0.0608 -0.092 0.0137

19、 0.0265 0.1004 0.0138 -0.0671级比偏差值检验值 -0.0357 -0.0699 -0.0296 0.0967 0.0129 0.0758 -0.0964 -0.0822由以上两表可见,残差值均小于 0.1,模型精度较高;级比偏差值小于 0.1,达到较高要求下面运用此模型预测并输出其后两天的值。第 1 天的预测值为:pre_Ct =16.4247,最终平移量:P = 7;第 2 天的预测值为:pre_Ct =18.7873,最终平移量:P =12。实际数据值为:17.82 和 20.76,误差在 0.1 之内,模型可靠。- 17 -5 参考文献 1 韩中庚数学建模方法及其应用高等教育出版社,20052 张大海,江世芳等灰色预测公式的理论缺陷及改进编号 1000-6788(2002)08-0140-033 罗荣桂, 陈炜等. 灰色系统模型的一点改进及应用J . 系统工程理论与实践, 1988, 8 (2) : 46- 52. 4 邓聚龙灰预测与灰决策武汉:华中科技大学出版社,2002

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报