灰色系统预测GM(1,1)模型及其Matlab实现

合集下载

灰色系统G(1,1)预测步骤【模板带代码】

灰色系统G(1,1)预测步骤【模板带代码】

=3499.075e -0.1062t

3641.075
编写程序
u=alpha(2)/alpha(1) v=X0(1)-u v=3499.075 u=—3641.075
(5)进行参差检验
1)根据预测公式,计算
v=3499.075 u=—3641.075

1
k
1


X
0
1
for n=0:10
X2(n+1)=v*exp(-alpha(1)*n)+u
end
X2
2.0690
2)累减生成序列
Xˆ X3 =1.0e+003 * (0) 0.1420 0.4079 0.4536
0.5044
0.7713 0.8577 0.9537 1.0605
源程序:X3(1)=X2(1)
for m=1:10
kesi =
4.4388 339.0664 176.2445 203.6132
0 0.1998 1.2682 0.2130 0.8524 0.1330
0.0089
0.3767
0.2203
0.4155
{0%,19.98%,126.82%,0.89%,37.67% ,22.03% ,41.55% ,21.30%,85.24%,13.30%}
e=
179.4592 111.5134 74.1747 175.0204 159.6072 29.2461 215.2168 33.1910
3.2147 24.1540
源程序:S0=0.6745*X0std e=abs(daita0-daita0mean) 对所有的 e 都小于 S0 ,故小参差概率 P(k S0) 1 0.95

Matlab+灰色预测模型模型GM(1,1)

Matlab+灰色预测模型模型GM(1,1)

GM(1,1)灰色预测模型IntroductionInitial给定原始序列:x(0) =(x(0)(1), x(0)(2), x(0)(3)…, x(0)(n))Step 1一次AGO(1-AGO)生成序列,以弱化原始序列的随机性和波动性:x(1) =(x(1)(1), x(1)(2), x(1)(3)…, x(1)(n)) Matlab Programclearsyms a b;c=[a b]';fid=fopen('.\Grey Model\test.txt');x0=fscanf(fid,'%f');x0=x0';fclose(fid);x1=cumsum(x0); %原始数据累加n=length(x0);for i=1:(n-1)z(i)=(x1(i)+x1(i+1))/2; %生成累加矩阵end%计算待定参数的值Y=x0;Y(1)=[];Y=Y';B=[-z;ones(1,n-1)];B=B';c=inv(B'*B)*B'*Y;c=c';a=c(1);b=c(2);%预测后续数据%预测之后10个时间单位的数据xx1=[];xx1(1)=x0(1);for i=2:(n+10)xx1(i)=(x0(1)-b/a)/exp(a*(i-1))+b/a; endxx0=[];xx0(1)=x0(1);Step 2(1) dx (1)dt+ax (1)(t )=u ,式中a, u 为待定系数。

灰微分方程模型为:x (0)(k )+az (1)(k )=u ,z 为背景值z (1)(k )=1/2(x (1)(k )+x (1)(k −1))(2) 构造矩阵B 和数据向量Y nY n =Ba ̂Y n =[ x (0)(2)x (0)(3)⋮x (0)(n )] , B =[ −1/2(x (1)(1)+x (1)(2)),−1/2(x (1)(2)+x (1)(3)),⋮−1/2(x (1)(n −1)+x (1)(n )), 1 1 ⋮ 1]a ̂=(au)=(B T B)−1B T Y nStep 3模型响应函数x ̂(1)(k +1)=(x (0)(1)−u a )e −ak +u ax ̂(0)(k +1)=x ̂(1)(k +1)−x ̂(1)(k )Step 4检验和判断GM(1,1)模型的精度 (1) 残差检验for i=2:(n+10)xx0(i)=xx1(i)-xx1(i-1); end%关联度检验 for i=1:ne(i)=abs(x0(i)-xx0(i)); endmmax=max(e); for i=1:nee(i)=0.5*mmax/(e(i)+0.5*mmax); endr=sum(ee)/n; %后验差检验x0bar=sum(x0)/n; s1=0; for i=1:ns1=s1+(x0(i)-x0bar)^2; ends1=sqrt(s1/n); s2=0;ebar=sum(e)/n; for i=1:ns2=s2+(e(i)-ebar)^2; ends2=sqrt(s2/n); C=s2/s1; p=0;for i=1:nif abs(e(i)-ebar)<0.6745*s1绝对误差:ε(k)=|x(0)(k)−x̂(0)(k)|相对误差:Φ(k)=ε(k)x(0)(k)(2) 关联度检验分辨率β一般取0.5,此时若关联度大于0.6则认为模型可接受(3) 后验差检验和小误差概率原始序列标准差:S1=√∑[x(0)(i)−x̅(0)]2n绝对误差序列标准差:S2=√∑[ε(i)−ε̅]2n计算方差比:C=S2S1小误差概率:P=P{|ε(i)−ε̅|<0.6745S1}p=p+1;endendp=p/n;Cpif p>0.95&C<0.35disp('预测精度好');else if p>0.8&C<0.5disp('预测合格');else if p>0.7&C<0.65disp('预测勉强合格'); elsedisp('预测不合格'); endendend%原始数据与预测数据进行比较t1=1:n;t2=1:(n+10);xx0plot(t1,x0,'o',t2,xx0)。

灰色预测GM(1,1)模型实现过程.docx

灰色预测GM(1,1)模型实现过程.docx

1⑹Y n = (X (0)(2), X (0)(3),…,X °)( n ))T⑺灰色系统预测模型GM(1,1)实现过程灰色系统预测模型 GM(1,1) 1. GM(1,1)的一般形式设有变量X (0) = {X (0) (i) , i=l,2 , ..., n}为某一预测对象的非负单调原始数据列,为建立灰色预测模型:首先对 X (0)进行一次累加(1 — AGO, Acumulated Generating Operator) 生成一次累加序列:X (1) = {X (1)(k), k = 1 , 2 ,…,n}其中kX ⑴(k)= X (0)(i)i =4X (1)(k) = (X (0)(1) — u )e 」(k ‘) a式中:k 为时间序列,可取年、季或月。

2. 辩识算法记参数序列为a , a = [a,u]T ,a 可用下式求解:T -1 T ”a = (B B) B Y n式中:B —数据阵;Y n —数据列1 (1) , (1)卜 2(X (1) +X (2))—1 (X (1) (2) +X (1) (3)) 2 —2(X (1)(n -1) +X (1)(n))=X ⑴(k —1)+ X (°)(k)对X (1)可建立下述白化形式的微分方程dX(1)dt十 aX (1) = u即GM(1,1)模型。

上述白化微分方程的解为(离散响应):(1)(0)U _ak , U X ()(k+1) = (X ()(1) — )e +a a (1)⑵⑶3. 预测值的还原由于GM 模型得到的是一次累加量, k ・{n+1,n+2,…}寸刻的预测值, 必须将GM 模型 所得数据X ⑴(k+1)(或X ⑴(k))经过逆生成即累减生成(I — AGO)还原为X(0)(k+1)(或X (0)(k)),即:kX ⑴(k)八 X (0)(i)i 4 k J八 X (0)(i) + X (0)(k)i 4、r k /、X (0)(k) = X (1)(k)_ 7 X (0)(i)i 二X (0)(i),所以 X (0)(k)= X ⑴(k) - X (1)(k -1)。

用MATLAB实现灰色预测GM_1_1_模型_唐丽芳

用MATLAB实现灰色预测GM_1_1_模型_唐丽芳
国铁道出版社,2001 [2] 邓聚龙.灰色系统理论教程[M].武汉:华中理工大学出版
社,1992.
[责任编辑:尤书才]
To Accomplish Gray Forecasting GM(1,1) Model Using the MATLAB
TANG Li-fang1,JIA Dong-qing2 ,MENG Qing-peng2
k
∑ 式中 x(1) (k) = x(0) (i) , i =1
(k=1,2,3,…,n)
% 作 1-AGO 生成序列 x (1)
for i=1:n x1(i)=sum(x0(1:i));
end
采用一阶单变量微分方程进行拟合,得到白化方程的 GM(1, 1)模型:
dx (1) + ax(1) (t) = u, 式中 a, u 是待定系数。 (3) dt
+
u
a
a
…(6)
^ (1)
% 计算 GM(1,1)模型 x (k + 1) 值
yc1(1)=x0(1); for k=1:n c=x0(1)-au(2)/au(1); yc1(k+1)=c*exp( -au(1)*k)+au(2)/au(1); end
(5)还原后的预测结果(作 IAGO)
^(0)
^(1)
end
r=r/n; % r 表示关联度
(3)方差比和小误差概率检验
方差比和小误差概率检验属后验差检验,计算公式分别
如下:
∑ 预测误差均值

e
=
1
n
e(i)
n i=1
∑ 原始数据均值:
−(0)
x
=
1
n

灰色模型预测GM(1,1)MATLAB程序代码

灰色模型预测GM(1,1)MATLAB程序代码

灰⾊模型预测GM(1,1)MATLAB程序代码版权所有引⽤请注明出处function gmcal=gm1(x)%% ⼆次拟合预测GM(1,1)模型%x = [5999,5903,5848,5700,7884];sizexd2 = size(x,2);%求数组长度k=0;for y1=xk=k+1;if k>1x1(k)=x1(k-1)+x(k);%累加⽣成z1(k-1)=-0.5*(x1(k)+x1(k-1));%z1维数减1,⽤于计算Byn1(k-1)=x(k);elsex1(k)=x(k);endend%x1,z1,k,yn1sizez1=size(z1,2);%size(yn1);z2 = z1';z3 = ones(1,sizez1)';YN = yn1'; %转置B=[z2 z3];au0=inv(B'*B)*B'*YN;au = au0';afor = au(1);ufor = au(2);ua = au(2)./au(1);constant1 = x(1)-ua;afor1 = -afor;x1t1 = 'x1(t+1)';estr = 'exp';tstr = 't';leftbra = '(';rightbra = ')';strcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(ua),rightbra) %输出时间响应⽅程k2 = 0;for y2 = x1k2 = k2 + 1;if k2 > kelseze1(k2) = exp(-(k2-1)*afor);endendsizeze1 = size(ze1,2);z4 = ones(1,sizeze1)';G=[ze1' z4];X1 = x1';au20=inv(G'*G)*G'*X1;au2 = au20';Aval = au2(1);Bval = au2(2);strcat(x1t1,'=',num2str(Aval),estr,leftbra,num2str(afor1),tstr,rightbra,'+',leftbra,num2str(Bval),rightbra) %输出时间响应⽅程nfinal = sizexd2-1 + 1; %决定预测的步骤数5 这个步骤可以通过函数传⼊%nfinal = sizexd2 - 1 + 1;%预测的步骤数 1for k3=1:nfinalx3fcast(k3) = constant1*exp(afor1*k3)+ua;end%⼀次拟合累加值for k31=nfinal:-1:0if k31>1x31fcast(k31+1) = x3fcast(k31)-x3fcast(k31-1);elseif k31>0x31fcast(k31+1) = x3fcast(k31)-x(1);elsex31fcast(k31+1) = x(1);endendendx31fcast%⼀次拟合预测值for k4=1:nfinalx4fcast(k4) = Aval*exp(afor1*k4)+Bval;end%x4fcastfor k41=nfinal:-1:0if k41>1x41fcast(k41+1) = x4fcast(k41)-x4fcast(k41-1);elseif k41>0x41fcast(k41+1) = x4fcast(k41)-x(1);elsex41fcast(k41+1) = x(1);endendendx41fcast,x%⼆次拟合预测值%***精度检验p C************//////////////////////////////////k5 = 0;for y5 = xk5 = k5 + 1;if k5 > sizexd2elseerr1(k5) = x(k5) - x41fcast(k5);endend%err1%绝对误差xavg = mean(x);%xavg%x平均值err1avg = mean(err1);%err1avg%err1平均值k5 = 0;s1total = 0 ;for y5 = xk5 = k5 + 1;if k5 > sizexd2elses1total = s1total + (x(k5) - xavg)^2;endends1suqare = s1total ./ sizexd2;s1sqrt = sqrt(s1suqare);%s1suqare,s1sqrt%s1suqare 残差数列x的⽅差 s1sqrt 为x⽅差的平⽅根S1k5 = 0;s2total = 0 ;for y5 = xk5 = k5 + 1;if k5 > sizexd2elses2total = s2total + (err1(k5) - err1avg)^2;endends2suqare = s2total ./ sizexd2;%s2suqare 残差数列err1的⽅差S2Cval = sqrt(s2suqare ./ s1suqare);Cval%nnn = 0.6745 * s1sqrt%Cval C检验值k5 = 0;pnum = 0 ;for y5 = xk5 = k5 + 1;if abs( err1(k5) - err1avg ) < 0.6745 * s1sqrtpnum = pnum + 1;%ppp = abs( err1(k5) - err1avg )elseendendpval = pnum ./ sizexd2;pval%p检验值%arr1 = x41fcast(1:6)%预测结果为区间范围预测步长和数据长度可调整程序参数进⾏改进。

GM(1,1)模型的Matlab实现(范例2)

GM(1,1)模型的Matlab实现(范例2)

GM (1,1)模型的MATLAB 实现摘要 本文介绍了灰色预测()1,1GM 模型的基本原理,并在其基础上利用MATLAB 软件进行实现,给出相应的MATLAB 算法。

并通过实例检验MATLAB 算法的正确性与通用性。

关键词模型; 灰色系统; MATLAB ;1 引言1.1灰色预测理论基本介绍灰色系统是指系统论中一部分信息是已知的,但另一部分信息是未知的,系统内各因素间有不确定的关系。

而灰色预测模型是灰色系统理论的重要内容之一,其中灰色模型是邓聚龙教授在1982年提出的一种新的模型计算方法,被广泛应用于农业、工业、医学、军事、经济、交通、生态等许多科学领域,解决了许多领域中的复杂实践问题[13]-。

且对于杂乱无章表征数据,灰色预测能发现其内在必然的联系与规律,即通过鉴别系统各因素之间发展趋势的相异程度,进行关联分析,并对原始数据进行一定的处理,来寻找系统变动的规律,生成有较强规律性的数据序列,建立相应的微分方程模型,从而预见系统的未来的发展趋势及状况。

灰色预测法是用等时距观测到的反映预测对象特征的一系列数量值,构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。

灰色预测有其四种常见的类型,分别为:灰色时间序列预测、畸变预测、系统预测、拓扑预测。

灰色模型(Grey Models )简称GM 模型,是灰色系统理论(Grey System Theory )的一个基本模型。

GM 模型的一般模型为,当中时,GM 模型不能做预测,只能用于分析因子之间的相互作用。

做预测用的一般为模型,其中,用的最多的则是用灰色微分拟合法建立的模型。

由于它预测要求所需样本量少(至少四组),不需要计算统计特征量、不用考虑样本变化的趋势、运算简便、在短期内精度高、预测效果好、容易检查等优点。

本文通过运用MATLAB 软件对模型进行程序实现。

增强模型通用性与实用性,方便今后对其使用。

假设我们有一段原始时间序列:为了弱化原始时间序列的随机性,在建立灰色预测模型之前,我们需要先对原始时间序列进行数据处理,经过数据处理后的时间序列称为生成列。

用Matlab实现GM_1_1_灰色模型的供电量预测

用Matlab实现GM_1_1_灰色模型的供电量预测

人工智能及识别技术ARTIFICIAL INTELLIGENCE AND IDENTIFICATION TECHNIQUES1灰色预测模型GM (1,1)灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论,由我国邓聚龙教授在1982年首次提出的。

灰色系统理论具有所需样本数据少,不需要计算统计特征量等优点。

灰色预测解决了连续微分方程的建模问题。

它通过原始数据的整理来寻找数的规律。

在建模时,首先对原始数据进行累加或累减生成,形成新的序列,对新序列建立微分方程模型和解析分析,达到预测原始序列的目的。

其中GM (1,1)模型是基于灰色系统理论的常用预测模型。

因为它具有要求原始数据少、不考虑分布规律、不考虑变化趋势、运算方便、短期精度高、易于检查的优点,得到了广泛的应用。

它的基本原理是:认为原始数列是逐步增长或减少的,通过对原始数列应用累加生成这样的数据处理方法可以得到一条具有指数增长规律的上升形状数列。

由于一阶微分方程的解即是指数增长形式,因此通过建立一阶微分方程模型和累减生成还原就可以得到预测数列。

2GM (1,1)模型的建立(1)对随机序列(i=0,1,2…n )作一次累加(1…AGO)生成序列(i=0,1,2…n ),其中。

(2)按照X i (1)的指数增长规律,可知X i (1)满足下列一阶线性微分方程。

(X(1)是时间t 的函数,这是灰色方程,部分数据未知)(3)参数估计:记待定,经离散化处理,得:Y n=BA.使用最小二乘法求出A 的近似解:,将近似值代入原微分方程:(*)(原微分方程的白化方程)其中(4)Xi (1)的预测值:求解微分方程(*)得到原微分方程的近似解,其中X 1(1)=X 1(0);写成离散形式,得到X i (1)的预测值:(5)X i(0)的预测值:3应用实例用Matlab 实现GM (1,1)灰色模型的供电量预测梁智勇(广东电网公司肇庆供电局,肇庆526040)摘要:介绍灰色预测模型GM (1,1)在电力系统中的预测应用,同时在Matlab 平台上实现了灰色模型GM (1,1)函数的编制。

灰色系统预测GM(1-1)模型及其Matlab实现

灰色系统预测GM(1-1)模型及其Matlab实现

灰色系统预测GM(1,1)模型及其Matlab 实现预备知识(1)灰色系统白色系统是指系统内部特征是完全已知的;黑色系统是指系统内部信息完全未知的;而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。

(2)灰色预测 灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行 预测。

尽管灰过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。

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

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

它是基于随机的原始时间序列,经按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近。

经证明,经一阶线性微分方程的解逼近所揭示的原始时间序列呈指数变化规律。

因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。

1 灰色系统的模型GM(1,1)1.1 GM(1,1)的一般形式设有变量X (0)={X (0)(i ),i =1,2,...,n}为某一预测对象的非负单调原始数据列,为建立灰色预测模型:首先对X(0)进行一次累加(1—AGO , Acum ul at ed Ge nera ting Opera to r)生成一次累加序列: X (1)={X(1)(k ),k =1,2,…,n}其中X (1)(k )=∑=ki 1X (0)(i)=X (1)(k-1)+ X (0)(k) (1)对X(1)可建立下述白化形式的微分方程:dtdX )1(十)1(aX =u (2)即G M(1,1)模型。

上述白化微分方程的解为(离散响应): ∧X(1)(k +1)=(X (0)(1)-a u )ake -+au (3)或∧X (1)(k )=(X (0)(1)-a u ))1(--k a e +au (4)式中:k 为时间序列,可取年、季或月。

灰色理论预测模型及GM(1,1)matlab程序

灰色理论预测模型及GM(1,1)matlab程序

灰色理论预测模型及GM(1,1)matlab程序灰色预测方法简介灰色预测是一种对含有不确定因素的系统进行预测的方法。

灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。

其用等时距观测到的反应预测对象特征的一系列数量值构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。

通过对原始数据的整理寻找数的规律,分为三类:a、累加生成:通过数列间各时刻数据的依个累加得到新的数据与数列。

累加前数列为原始数列,累加后为生成数列。

b、累减生成:前后两个数据之差,累加生成的逆运算。

累减生成可将累加生成还原成非生成数列。

c、映射生成:累加、累减以外的生成方式。

建模步骤a、建模机理b、把原始数据加工成生成数;c、对残差(模型计算值与实际值之差)修订后,建立差分微分方程模型;d、基于关联度收敛的分析;e、gm模型所得数据须经过逆生成还原后才能用。

f、采用“五步建模(系统定性分析、因素分析、初步量化、动态量化、优化)”法,建立一种差分微分方程模型gm(1,1)预测模型。

GM(1,1)程序:% 本程序主要用来计算根据灰色理论建立的模型的预测值。

% 应用的数学模型是GM(1,1)。

% 原始数据的处理方法是一次累加法。

clear;clc;% load ('data.txt');% y=data';y=[3 4 5 4 7 7];n=length(y);yy=ones(n,1);yy(1)=y(1);for i=2:nyy(i)=yy(i-1)+y(i);endB=ones(n-1,2);for i=1:(n-1)B(i,1)=-(yy(i)+yy(i+1))/2;B(i,2)=1;endBT=B';for j=1:n-1YN(j)=y(j+1);endYN=YN';A=inv(BT*B)*BT*YN;a=A(1);u=A(2);t=u/a;t_test=input('请输入需要预测个数:');i=1:t_test+n;yys(i+1)=(y(1)-t).*exp(-a.*i)+t;yys(1)=y(1);for j=n+t_test:-1:2ys(j)=yys(j)-yys(j-1);endx=1:n;xs=2:n+t_test;yn=ys(2:n+t_test);plot(x,y,'^r',xs,yn,'*-b');det=0;for i=2:ndet=det+abs(yn(i)-y(i));enddet=det/(n-1);disp(['百分绝对误差为:',num2str(det),'%']); disp(['预测值为:',num2str(ys(n+1:n+t_test))]);。

[VIP专享]GM(1,1)模型及其Matlab实现

[VIP专享]GM(1,1)模型及其Matlab实现
“会议筹备”对与会人数的确定等。 参考资料: 《灰色系统理论及其应用 第五版》 作者:刘思峰,党பைடு நூலகம்国等著 出 版时间:2010.05 校超星数字图书馆可阅读。
灰色模型(Gray Model)有严格的理论基础,最大优点是实用。 用灰色模型预测的结果比较稳定,不仅适用于大数据量的预测,在 数据量较少时(>3)预测结果依然较准确。
预备知识
(1)灰色系统 白色系统是指系统内部特征是完全已知的,即人们不仅知道该系 统的输入——输出关系,而且知道实现输入——输出关系的结构与
int level(BinTreeNodlesevt}r*Beutsl,icnBt(rtrTuiontrcaoTetgtert,_eyapNnpetg)oy;oeN_pddinoeeodtd;fde*esreafc*ttrphsB*au{l)ti;cilrn/duh/tT;ciB/lr/tdo1eiTt;u1ea//NcnrNgoto_loiu(fdn(dtnbe*oetpivdlt{(roe(e}TbidpEititrcfrl(ero!-pbmu>tintrTvritgaey-l(>hlpbulteeie,rtrf=xdt)e,=apr{xkextta,)rt;ru{;k,kr)sd+n;tra+;u1t;ac}0txyBpieTNxv},ooidi{ndet&m*lkac)hi}nil(de)}l;s/e/ js+tr}+uj;cBf+BtoB.+Bid.r.L(;+adikTe+taanN=;t[agojB]e[tdkh=l.se+L+eA1e*+]nr.i;dfc=g(d.-[d;{aiB]1a/it;f/a.;t(dkaA[}ia[]>.kBtdB<}=a];aii.T[BLjt+;aNke.+d[Loni;-]aed-g>t)netahg,B[jt*]+h.)wBd+]{avhi;T=otilareiAedi[n(Be.i{dtm;.<Laive=etAoarngi.0[dLgie],e;jt2Ch=n(o{Sg-0ut9q1h,n/kAL])/t)/iL/[;2s1/e1AtA…aABBmf"…,.S(h+Bq"mniLT6m+irsnet8]e&mhBTen),amidn+dtn&a2Ot*acx(7o10u)n+t)0x{11*ixf=0( nT+o1)d*{ex2i_1f c(+(o!uT2/xn/-*10>tx+l2+cxh=1il;+dnx)o&2/d/h&e=tt_(pn!c:To0o//-duw>1enrw*_c2t/wchx-oi0.1ldu;xon)/)1c*t;cinx6o42.1ucleonfmtt+d/+5ap;t-a5//r7iLg9Cihs4ot8lNuet5nmof9ttdreLp4iegme.=h*ap3tMfAmBol(a[aTrTlit]ex(-;(><i2)nAlccetl[ha0i]}ise=l=ds1,0}A…Tc;[yoine2pu<-nT6ein=-yH>12tp)(]Te;v;enn[Co1-A-ti1o3m1d[u]nA)pHin-[/;in(tv-kL21]ene;]1reyais=A+)nef=[+(t-nm(k1Ta])eAT-p){y>nyA;r-p%c2eh…1iAld3e[2,1]3c,2e1oi20Vn0(u3e=bt×n4i{)n3t1a5)B0);,5b20A}{7,B(2ce[2a150,(l0)ds0cn(a20e,a)]×ie[13j1)1cnr2,a17Af2e0A4,i58g2jtB]b1u(B03}(a5r4,21[En)]06a1B;=07A51([}{0]b937S<A/3)56/HaL([06C0c,sT1b3)]uo[A.>81A0c5u,493]cBn<B0.]=taC5H[L8(0,A1De(4g]k/,Aa5>2EBef0,[)Fy,<]*4C[G)G]b[=2B1,,DHk)g+[]e>,I1AEJy,/[<(,81%C1c]-[8,a5bD1)]C>3C]B,D1<[D1]2Bd62,GFc3E>=41A,V5</1I5EdH475,Gf1231>01+0*J5,91<420G4+0e*30G241,7W1d+*787>13P031,4*9<1L74=41f=0+,515a24953>**/546,17<5+15=0g37413,2*0c5572>/4+517,5<6451*g524,0d+3>956,*5<0315f9+2,3e5W12>14P,12*<3L157g+=56,52f13053>105*693}64*1,{73+80217+9596510*77046873+1*71249264+*9503182+79012*176208590=*2092+8123169831731237*793}W2+531P352L5*0313173+s3T3125158*,21T2052=5,2…915W063…303P5,LTS Tini k1i(2i={a1b,2c,d…e…fg}S0)1,1k10in1i011k11k10n+1kk1Pn21>r+0ikm…00…11+1k0s1=0n11+n21K…ru…snkas1l ns,s=nk,nk a11a121a02K1)aru2s2kaa=2l203*:9(a1i+03/1jA2-03aB(3a131+Aa12=3B+42[…0+]3A…+a3aij1+n3inn149-+iH10-41au+jnfi84+fnm4+16a5B8n+58F1544):52=5706305306.986,2T76:0150,D811:00148110683171,F10ST6:06D413S024H515,1H12:007412101402H*1291u60+22f{f7m4*63a2+n58307*71836+21102*72306+722774*0674128+493}*()4+86*312=513219 5:13/5671(130+7822+6261+p03a1+341352+401143,41)p0=83,21a.8425,913,,p66331:121,0A1a24B13G,,CP4pJ9AD3KG21EHD12AFDaJ3GBH,EPaDHKBApGIBM3J2HEKIF1AJMCKCAEFCMFIIM

灰色预测的matlab实现,代码大全

灰色预测的matlab实现,代码大全

程序代码:%普通的灰色预测GM1.mclearX=input('请输入原始数据:','s');%原始数据(可以多行,每一行为一类原始数据,即可多类原始数据)X=str2num(X);[m1 m2]=size(X);%m1和m2分别表示X的行数和列数k0=input('请输入所要预测的阶数:');%GM(1,1)模型for i=1:m1n=i;x0=X(i,:);%将原始数据X中的第i行数据赋给x0,即取出一类原始数据disp('1.原始数据:');Y='';for z=1:m2Y=strcat(Y,'(',num2str(x0(z)),')');enddisp(Y);% 1. 利用一次累加(1-AGO)生成新数列E=triu(ones(m2));%E表示元素为1右上三角阵x1=x0*E;%对原始数据进行一次累加(1-AGO)生成新数列x1disp('2.一次累加(1-AGO)生成的数据:');Y='';for z=1:m2Y=strcat(Y,'(',num2str(x1(z)),')');enddisp(Y);% 2. 计算出发展系数a,灰作用量ub1=x1;b1(1)=[];b2=x1;b2(m2)=[];b=-0.5*(b1+b2);%生成B的第一行B=[b;ones(1,m2-1)];%生成BB=B'; %对B进行转置y0=x0;y0(1)=[];%生成Yy0=y0'; %对Y进行转置A=((inv(B'*B))*B')*y0; %根据Y=BA(A为待辨识参数向量),可知A=[inv(B'B)]B'Y a=A(1);u=A(2);%A=[a u]'% 3. 确立模型且求出模拟值u_a=u/a;for k=0:m2+k0-1x2(k+1)=(x0(1)-u_a)*exp(-k*a)+u_a;end %求出新数列的模拟值x2x3=x2;x3(m2+k0)=[];x4=[0 x3];x5=x2-x4;%利用累减生成法求出原始数据的模拟值x5disp('3.一次累加(1-AGO)生成的数据的模拟值:')Y='';for z=1:m2+k0Y=strcat(Y,'(',num2str(x2(z)),')');enddisp(Y);disp('4.原始数据的模拟值:')Y='';for z=1:m2+k0Y=strcat(Y,'(',num2str(x5(z)),')');enddisp(Y);% 4. 模型检验(算出的值到等级参照表中检查其精度等级)%计算后验差比C和残差序列Qx6=x5(1:m2);Q=x0-x6;%Q为残差序列s1=std(Q);%s1为残差序列Q的标准差s2=std(x0);%s2为初始序列x0的标准差C=s1/s2;%后验差比C(越小越好)w1=1:m2;w1=[ones(m2,1) w1'];w2=Q';[bb,bint,r1,rint,stats]=regress(w2,w1);rcoplot(r1,rint)C1=strcat('5.后验差比(均方差比值): C=',num2str(C));disp(C1);if C<=0.35disp(' 由于C<=0.35,则此模型精度等级为1级(好)。

数学建模-灰色预测模型GM(1,1)_MATLAB

数学建模-灰色预测模型GM(1,1)_MATLAB

数学建模-灰⾊预测模型GM(1,1)_MATLAB %GM(1,1).m%建⽴符号变量a(发展系数)和b(灰作⽤量)syms a b;c = [a b]';%原始数列 AA = [174, 179, 183, 189, 207, 234, 220.5, 256, 270, 285];%填⼊已有的数据列!n = length(A);%对原始数列 A 做累加得到数列 BB = cumsum(A);%对数列 B 做紧邻均值⽣成for i = 2:nC(i) = (B(i) + B(i - 1))/2;endC(1) = [];%构造数据矩阵B = [-C;ones(1,n-1)];Y = A; Y(1) = []; Y = Y';%使⽤最⼩⼆乘法计算参数 a(发展系数)和b(灰作⽤量)c = inv(B*B')*B*Y;c = c';a = c(1);b = c(2);%预测后续数据F = []; F(1) = A(1);for i = 2:(n+10) %这⾥10代表向后预测的数⽬,如果只预测⼀个的话为1F(i) = (A(1)-b/a)/exp(a*(i-1))+ b/a;end%对数列 F 累减还原,得到预测出的数据G = []; G(1) = A(1);for i = 2:(n+10) %10同上G(i) = F(i) - F(i-1); %得到预测出来的数据enddisp('预测数据为:');G%模型检验H = G(1:10); %这⾥的10是已有数据的个数%计算残差序列epsilon = A - H;%法⼀:相对残差Q检验%计算相对误差序列delta = abs(epsilon./A);%计算相对误差Qdisp('相对残差Q检验:')Q = mean(delta)%法⼆:⽅差⽐C检验disp('⽅差⽐C检验:')C = std(epsilon, 1)/std(A, 1)%法三:⼩误差概率P检验S1 = std(A, 1);tmp = find(abs(epsilon - mean(epsilon))< 0.6745 * S1);disp('⼩误差概率P检验:')P = length(tmp)/n%绘制曲线图t1 = 1995:2004;%⽤⾃⼰的,如1 2 3 4 5...t2 = 1995:2014;%⽤⾃⼰的,如1 2 3 4 5... plot(t1, A,'ro'); hold on;plot(t2, G, 'g-');xlabel('年份'); ylabel('污⽔量/亿吨');legend('实际污⽔排放量','预测污⽔排放量'); title('长江污⽔排放量增长曲线'); %都⽤⾃⼰的grid on;。

灰色预测例题matlab求解(精)

灰色预测例题matlab求解(精)

建立GM(1,1)模型对产品销售额预测祁诗阳冯晓凯申静某大型企业1999年至2004年的产品销售额如下表,试建立GM(1,1预测模型,并预测2005年的产品销售额。

年份1999 2000 2001 2002 2003 2004销售额2.673.13 3.25 3.36 3.56 3.72(亿元有题目知构造累加生成序列对作紧邻均值生成编程如下:x=[2.67 5.8 9.05 12.41 15.97 19.69];z(1=x(1;for i=2:6z(i=0.5*(x(i+x(i-1;endformat long gz结果如下:z =Columns 1 through 42.67 4.235 7.425 10.73Columns 5 through 614.19 17.83因此于是构造B矩阵和Y矩阵如下:对参数进行最小二乘估计,采用matlab编程完成解答如下:B=[[-4.235 -7.425 -10.73 -14.19 -17.83]',ones(5,1];Y=[3.13 3.25 3.36 3.56 3.72]';format long ga=inv(B'*B*B'*Y结果如下:a =-0.04396098154759662.92561659879905即=-0.044,u=2.96 =-66.55则GM(1,1白化方程为预测模型为:1、关联度检验法:采用matlab编程得到模拟序列for i=1:6X(i=69.22*exp(0.044*(i-1-66.55;endformat long gx(1=X(1;for i=2:6x(i=X(i-X(i-1;endX结果如下:x =Columns 1 through 42.673.11367860537808 3.25373920141375 3.40010005288617 Columns 5 through 63.55304456012134 3.71286887145915因此模拟序列为求模拟序列和原始序列的相关度初始化,即将该序列所有数据分别除以第一个数据。

灰色预测系统基于GM(1-1)的matlab程序

灰色预测系统基于GM(1-1)的matlab程序

function GM1_1(X0)%format long ;X0=input('请输入实测数据');%实测值[m,n]=size(X0);X1=cumsum(X0); %累加X2=[];for i=1:n-1X2(i,:)=X1(i)+X1(i+1);endB=-0.5.*X2 ;t=ones(n-1,1);B=[B,t] ; % 求B矩阵YN=X0(2:end) ;Pt=YN./X1(1:(length(X0)-1)) %对原始数据序列X0进行准光滑性检验, %序列X0的光滑比P(t)=X0(t)/X1(t-1)A=inv(B.'*B)*B.'*YN.' ;a=A(1)u=A(2)c=u/a ;b=X0(1)-c ;X=[num2str(b),'exp','(',num2str(-a),'k',')',num2str(c)];strcat('X(k+1)=',X)%syms k;for t=1:length(X0)k(1,t)=t-1;endkY_k_1=b*exp(-a*k)+c;for j=1:length(k)-1Y(1,j)=Y_k_1(j+1)-Y_k_1(j);endXY=[Y_k_1(1),Y] %预测值CA=abs(XY-X0) ; %残差数列Theta=CA %残差检验绝对误差序列XD_Theta= CA ./ X0 %残差检验相对误差序列AV=mean(CA); % 残差数列平均值R_k=(min(Theta)+0.5*max(Theta))./(Theta+0.5*max(Theta)) ;% P=0.5R=sum(R_k)/length(R_k) %关联度Temp0=(CA-AV).^2 ;Temp1=sum(Temp0)/length(CA);S2=sqrt(Temp1) ; %绝对误差序列的标准差%----------AV_0=mean(X0); % 原始序列平均值Temp_0=(X0-AV_0).^2 ;Temp_1=sum(Temp_0)/length(CA);S1=sqrt(Temp_1) ; %原始序列的标准差TempC=S2/S1*100; %方差比C=strcat(num2str(TempC),'%') %后验差检验 %方差比%----------SS=0.675*S1 ;Delta=abs(CA-AV) ;TempN=find(Delta<=SS);N1=length(TempN);N2=length(CA);TempP=N1/N2*100;P=strcat(num2str(TempP),'%') %后验差检验 %计算小误差概率m=input('请输入预测期数:');for g=1:(length(X0)+m)v(1,g)=g-1;endvm=b*exp(-a*v)+c;for j=1:length(v)-1l(1,j)=m(j+1)-m(j);endxyz=[m(1),l]%预测值disp(['小误差概率为:',num2str(P)]);disp(['后验方差比为:',num2str(C)]);disp(['预测值为:',num2str(xyz)]);。

灰色预测系统GM(1,1)模型及其Matlab实现

灰色预测系统GM(1,1)模型及其Matlab实现

灰色预测系统GM(1,1)模型及其Matlab实现
殷鹏远
【期刊名称】《黑龙江水利科技》
【年(卷),期】2017(045)007
【摘要】灰色模型有严格的理论基础,最大的优点是实用,用灰色模型预测的结果比较稳定,不仅适用于大数据量的预测.目前,灰色模型GM(1,1)已广泛应用于工程技术、社会、经济、农业、生态、环境等各种系统的预测中.文章根据所建立的GM(1,1)
模型以及模型分析,来预测未来安阳市旱灾发生年份,以期积极主动地采取措施进行
防旱抗旱工作提供科学依据.
【总页数】3页(P16-18)
【作者】殷鹏远
【作者单位】辽宁省锦州水文局,辽宁锦州 121000
【正文语种】中文
【中图分类】S162.3
【相关文献】
1.用MATLAB实现灰色预测GM(1,1)模型 [J], 唐丽芳;贾冬青;孟庆鹏
2.用Matlab实现GM(1,1)灰色模型的供电量预测 [J], 梁智勇
3.用Matlab实现灰色数列模型GM(1,1)的预测 [J], 倪少凯;陈卫红
4.灰色预测系统GM(1,1)模型在洛阳地区旱灾预测中的应用 [J], 殷鹏远;韩丽娜;易嘉成
5.改进的灰色预测GM(1,1)模型的MATLAB实现 [J], 杨旭
因版权原因,仅展示原文概要,查看原文内容请购买。

灰色预测模型GM(1,1)的matlab运行代码

灰色预测模型GM(1,1)的matlab运行代码

灰色预测模型GM(1,1)的matlab 运行代码例 由1990—2001年中国蔬菜产量,建立模型预测2002年中国蔬菜产量,并对预测结果作检验。

分析建模:给定原始时间1990—2001年资料序列X )0((k),对X )0((k)生成1-AGO(累加)序列X )1((k)及Y n 。

见下表X )1((k)=)(1i )0(i X k∑=; Y n =T X X X )]12(,),3(),2([)0()0()0( 对上述X )0((k)的GM(1,1),得到[][][][][][][][][][][]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+-+-+-+-+-+-+-+-+-+-+-==⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-----------=15236.2-1331173.5-1244348.01204848.5-1168369.5-1135943.5-1107892.5-186730.0-168581.5-148915.5-129308.0-112115.0111105.011095.01985.01875.01765.01655.01545.01435.01325.01215.01)12(1)11(1)10(1)9(1)8(1)7(1)6(1)5(1)4(1)3(1)2()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()1()()()()()()()()()()()()()()()()()()()()()()(X X X X X X X X X X X X X X X X X X X X X X z z z z z z z z z z z B 将 B 和Y n 代入辨识算式,有:10.1062105()13999.9T Tn a B B B Y b α--⎡⎤⎡⎤==•=⎢⎥⎢⎥⎣⎦⎣⎦得灰色GM(1,1)模型为(1)灰微分方程X )0((k)-0.1062105 Z )1((k)=13999.9(2)白化方程9.139991062105.0)1()1(=-X dtdX (3)白化方程的时间响应式5.1318135.151332)1()1(ˆ1062105.0)0()1(-=+⎥⎦⎤⎢⎣⎡-=+--t at e a b e a b X t X (4)还原为原始数据预测方程:)(ˆ)1(ˆ)1(ˆ)1()1()0(t X t X t X-+=+,即 t e t X1062105.0)0(15248.968)1(ˆ=+ (5)残差检验: 残差error1=e1=)()ˆ)0()0(i X i X -(,这里残差有12个。

GM(1,1)的MATLAB实现及其应用

GM(1,1)的MATLAB实现及其应用

GM(1,1)的MATLAB实现及其应用
周亚非
【期刊名称】《长春师范学院学报(自然科学版)》
【年(卷),期】2010(029)001
【摘要】灰色GM(1,1)预测模型是灰色理论中的重要组成部分,也是主要的预测方法之一.因此,GM(1,1)模型的应用范围很广泛.本文简要介绍了GM(1,1)模型的原理及其预测步骤,用MATLAB软件实现了GM(1,1)预测算法并给出了源代码.在此基础上,用统计年鉴上的住宿和餐饮业收入增加值数据进行了仿真,从而验证了该算法的有效性和程序的正确性.
【总页数】4页(P32-35)
【作者】周亚非
【作者单位】四川交通职业技术学院,成都温江,611100
【正文语种】中文
【中图分类】TP31
【相关文献】
1.GM(1,1)模型在建筑物沉降预测中的应用及Matlab的实现 [J], 陈刚;王波;邓哲
2.灰色预测系统GM(1,1)模型及其Matlab实现 [J], 殷鹏远
3.用Matlab实现GM(1,1)灰色模型的供电量预测 [J], 梁智勇
4.基于C++和MatLab混合编程的GM(1,1)模型实现与应用 [J], 陈婕
5.改进的灰色预测GM(1,1)模型的MATLAB实现 [J], 杨旭
因版权原因,仅展示原文概要,查看原文内容请购买。

灰色模型GM11matlab实现

灰色模型GM11matlab实现

单位:亿请根据1978-2012年的全国人口数据,用GM(1,1)来预测未来人口数量,能预测50年内的数据吗?100年呢?为什么?摘要:关键字:人口预测、GM(1,1)一、问题的重述二、问题的分析三、模型假设1、假设本问题所使用的数据均真实有效,具有统计分析价值2、不考虑战争、灾害、疾病对人口数目的影响;3、...4、...四、符号说明与名词解释4.1符号说明见模型假设。

4.2名词解释...五、模型的建立与求解5.1模型建立在灰色系统理论中,称抽象的逆过程为灰色模型,也称GM。

它是根据关联度、生成数灰导数,灰微分等观点和一系列数学方法建立起来的连续型的微分方程。

通常GM表示为GM(n,h)。

当n=h=1时即构成了单变量一阶灰色预测模型。

设原始时间序列为:(0)(0)(0)(0)(0)[(1),(2),(3),,()]X x x x x n=L设(1)X为(0)X的一次累加序列:即:(1)(0)(1)(1)(1)(1)(0)()(-1)(),2,, x xx k x k x k k n ⎧=⎪⎨⎪=+=⎩L得(1)(1)(1)(1)(1)[(1),(2),(3),,()] X x x x x n=L利用(1)X 计算GM(1,1)模型参数a 、u ,令ˆ[,]T aa u =, 则有1ˆ()T T N aB B B Y -= 其中(1)(1)(1)(1)(1)(1)1((1)(2))121((2)(3))121((1)())12x x x x B x n x n ⎡⎤-+⎢⎥⎢⎥⎢⎥-+⎢⎥=⎢⎥⎢⎥⎢⎥--+⎢⎥⎣⎦L L (0)(0)(0)[(2),(3),,()]T N Y x x x n =L由此获得:(1)(1)ˆ(1)((1))ak u uxk x e a a -+=-+ 于是:(0)(1)(1)ˆˆˆ(1)(1)()1xk x k x k +=+-()或(0)(0)ˆ(1)-((1))ak uxk a x e a-+=-(2)注:(1)式是根据(0)X 和(1)X 的关系的到的(2)式是利用数学求导还原得到的至于用哪个,最好看相对误差5.2模型求解:求解得:六、模型检验6.1残差检验残差大小检验,即对模型值和实际值的残差进行逐点检验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

灰色系统预测GM(1,1)模型及其Matlab 实现预备知识(1)灰色系统白色系统是指系统内部特征是完全已知的;黑色系统是指系统内部信息完全未知的;而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。

(2)灰色预测 灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行 预测。

尽管灰过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。

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

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

它是基于随机的原始时间序列,经按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近。

经证明,经一阶线性微分方程的解逼近所揭示的原始时间序列呈指数变化规律。

因此,当原始时间序列隐含着指数变化规律时,灰色模型GM(1,1)的预测是非常成功的。

1 灰色系统的模型GM(1,1)1.1 GM(1,1)的一般形式设有变量X (0)={X (0)(i),i=1,2,...,n}为某一预测对象的非负单调原始数据列,为建立灰色预测模型:首先对X (0)进行一次累加(1—AGO, Acumulated Generating Operator)生成一次累加序列:X (1)={X (1)(k ),k =1,2,…,n}其中X (1)(k )=∑=ki 1X (0)(i)=X (1)(k -1)+ X (0)(k ) (1) 对X (1)可建立下述白化形式的微分方程:dtdX )1(十)1(aX =u (2)即GM(1,1)模型。

上述白化微分方程的解为(离散响应): ∧X (1)(k +1)=(X (0)(1)-a u )ak e -+au(3)或∧X (1)(k )=(X (0)(1)-a u ))1(--k a e +au (4)式中:k 为时间序列,可取年、季或月。

1.2 辩识算法记参数序列为∧a , ∧a =[a,u]T,∧a 可用下式求解:∧a =(B T B)-1B T Y n (5)式中:B —数据阵;Y n —数据列B =⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+++- 1 (n))X 1)-(n (X 21 ... 1 (3))X (2)X (211 (2))X (1)X (21(1)1(1)(1)(1)(1))(-- (6) Y n =(X (0)(2), X (0)(3),…, X (0)(n))T (7)1.3 预测值的还原由于GM 模型得到的是一次累加量,k ∈{n+1,n+2,…}时刻的预测值,必须将GM 模型所得数据∧X(1)(k +1)(或∧X(1)(k ))经过逆生成,即累减生成(I —AGO)还原为∧X (0)(k +1)(或∧X (0)(k ))才能用。

∧X(1)(k )=∑=ki 1∧X (0)(i)=∑-=11k i ∧X (0)(i)+∧X (0)(k)∧X(0)(k)=∧X(1)(k )-∑-=11k i ∧X (0)(i)因为∧X(1)(k -1)=∑-=11k i ∧X(0)(i),所以∧X (0)(k)=∧X (1)(k )-∧X (1)(k -1)。

2 应用举例取某高校1998年~2003年的某专业招生数据建模,见表1。

以表1中的数据构造原始数据列X (0),即X (0)={X (0)(1),X (0)(2),X (0)(3),X (0)(4),X (0)(5),X (0)(6)} ={132,92,118,130,187,207}对X (0)进行一次累加(1—AGO),生成数列:X (1)(k)=∑=ki 1X (0)(i)即X (1)={X (1)(1),X (1)(2),X (1)(3),X (1)(4),X (1)(5),X (1)(6)}={132,224,342,472,659,866} 和数据阵B 、数据列Y nB =⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----- 1 5.762 15.5651 4071 2831178,Y n =(92,118,130,187,207)T 由式(5)得∧a =[a,u]T=⎥⎦⎤⎢⎣⎡-7878184.56205.0 由式(4)得灰色预测模型GM(1,1)为 ∧X (1)(k )=(X (0)(1)-a u ))1(--k a e +au=(132+277.0137483))1(205.0-k e -277.0137483=409.0137483)1(205.0-k e -277.0137483预测值及预测精度见表2。

表2 某高校专业招生预测值及预测精度表由表2知预测精度较高。

2006年某专业招生人数预测值为259人。

由于人数为整数,所以结果取整数部分。

GM(1,1)是一种长期预测模型,在没有大的市场波动及政策性变化的前提下,该预测值应是可信的。

如前所述,影响招生人数的因素很多且难以预测。

因此,在采用灰色系统理论进行定量预测时,如果存在对预测对象影响较大的因素,就要在定性分析的基础上,寻找原始数据信息的突变点的量化值,然后再对预测值进行必要的修正,使预测值更接近实际情况,提高预测值的可信度,为科学决策提供可靠的数据。

另外,若作长期预测,要考虑对上限值的约束条件。

应用灰色预测模型GM(1,1),对某专业招生人数进行了预测,具有较高的预测精度。

应用灰色模型进行预测较之其它常规的时间序列预测法有以下显著的特点。

(1)灰色模型是一种长期预测模型,将预测系统中的随机元素作为灰色数据进行处理,而找出数据的内在规律。

进行预测所需原始数据量小,预测精度较高,无须像其它预测法要么需要数据量大且规律性强,要么需要凭经验给出系数。

(2)理论性强,计算方便,籍助计算机及其程序设计语言,使得数据处理简便、快速、准确性好。

(3)用有限的表征系统行为特征的外部元素,分析系统的内在规律。

灰色系统理论采用对系统的行为特征数据进行生成的方法,对杂乱无章的系统的行为特征数据进行处理,从杂乱无章的现像中发现系统的内在规律,这是该方法的独特之处。

(4) 适用性强。

用灰色模型既可对周期性变化的系统行为进行预测,亦可对非周期性变化的系统行为进行预测;既可进行宏观长期的预测,亦可用于微观短期的预测。

2灰色系统模型的检验 定义1.设原始序列{})(,),2(),1()0()0()0()0(n x x x X =相应的模型模拟序列为{})(ˆ,),2(ˆ),1(ˆˆ)0()0()0()0(n x x x X= 残差序列{})(),2(),1()0(n εεεε ={})(ˆ)(,),2(ˆ)2(),1(ˆ)1()0()0()0()0()0()0(n x n x xx x x ---= 相对误差序列⎭⎬⎫⎩⎨⎧=∆)()(,,)2()2(,)1()1()0()0()0(n x n x x εεε{}nk 1∆=1.对于k <n,称)()()0(k x k k ε=∆为k 点模拟相对误差,称)()()0(n x n n ε=∆为滤波相对误差,称∑=∆=∆nk k n 11为平均模拟相对误差;2.称∆-1为平均相对精度,n ∆-1为滤波精度;3.给定α,当α<∆,且α<∆n 成立时,称模型为残差合格模型。

定义2设)0(X 为原始序列,)0(ˆX为相应的模拟误差序列,ε为)0(X 与)0(ˆX 的绝对关联度,若对于给定的00,0εεε>>,则称模型为关联合格模型。

定义3设)0(X 为原始序列,)0(ˆX为相应的模拟误差序列,)0(ε为残差序列。

∑==n k k x n x 1)0()(1为)0(X 的均值,21)0(21))((1x k x n s n k -=∑=为)0(x 的方差,∑==nk k n 1)(1εε为残差均值,∑=-=n k k n s 1222))((1εε为残差方差,1. 称12s sc =为均方差比值;对于给定的00>c ,当0c c <时,称模型为均方差比合格模型。

2. 称()16745.0)(s k Pp <-=εε为小误差概率,对于给定的00>p ,当0p p >时,称模型为小误差概率合格模型。

应用举例2、设原始序列{})5(),4(),3(),2(),1()0()0()0()0()0()0(x x x x x X =()679.3,390.3,337.3,278.3,874.2=建立GM(1,1)模型,并进行检验。

解:1)对)0(X作1-AGO ,得[D 为)0(X 的一次累加生成算子,记为1-AGO]{})5(),4(),3(),2(),1()1()1()1()1()1()1(x x x x x X= ()558.16,579.12,489.9,152.6,874.2=2)对)1(X作紧邻均值生成,令)1(5.0)(5.0)()1()1()1(-+=k x k x k Z{})5(),4(),3(),2(),1()1()1()1()1()1()1(z z z z z Z =()718.14,84.11,820.7,513.4,874.2=于是,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1718.14184.111820.71513.41)5(1)4(1)3(1)2()1()1()1()1(z z z z B ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=679.3390.3337.3278.3)5()4()3()2()0()0()0()0(x x x x Y⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----•⎥⎦⎤⎢⎣⎡----=T 1718.14184.111820.71513.41111718.14184.11820.7513.4B B ⎥⎦⎤⎢⎣⎡--=4235.38235.38221.423⎥⎦⎤⎢⎣⎡==⎥⎦⎤⎢⎣⎡--=--T832371.11665542.0165542.0017318.04235.38235.38221.423)(11B B⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-⨯=221.423235.38235.384969.2301221.423235.38235.384235.384221.42312⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡•⎥⎦⎤⎢⎣⎡----•⎥⎦⎤⎢⎣⎡==T -T 679.3390.3337.3278.31111718.14184.11820.7513.4832371.11665542.0165542.0017318.0)(ˆ1Y B B B a⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡•⎥⎦⎤⎢⎣⎡---=679.3390.3337.3278.3604076.10019051.0537833.0085280.1089344.0028143.0030115.0087386.0 ⎥⎦⎤⎢⎣⎡-=065318.3037156.0 3)确定模型065318.3037156.0)1()1(=-x dtdx 及时间响应式a be a b x k xak +-=+-))1(()1(ˆ)0()1( 4986.823728.85037156.0-=ke4)求)1(X 的模拟值{})5(ˆ),4(ˆ),3(ˆ),2(ˆ),1(ˆˆ)1()1()1()1()1()1(x x x x x X= =(2.8740,6.1058,9.4599,12.9410,16.5538)5)还原出)0(X 的模拟值,由)(ˆ)1(ˆ)1(ˆ)1()1()0(k x k x k x-+=+ 得 {})5(ˆ),4(ˆ),3(ˆ),2(ˆ),1(ˆˆ)0()0()0()0()0()0(x x x x x X==(2.8740,3.2318,3.3541,3.4811,3.6128)残差平方和[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡•==T )5()4()3()2()5()4()3()2(εεεεεεεεεεs []⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--•--=0662.00911.00171.00462.00662.00911.00171.00462.0=0.0151085平均相对误差%)80.1%69.2%51.0%41.1(414151+++=∆=∆∑=k k=1.0625%计算X 与Xˆ的灰色关联度 ))1()5((21)1()((42x x x k x S k -+-=∑= =)874.2679.3(21)874.2390.3()874.2337.3()874.2278.3(-+-+-+- 0.40250.5160.4630.404+++==1.7855)1(ˆ)5(ˆ(21)1(ˆ)(ˆ(ˆ42x x x k x Sk -+-=∑= )874.26128.3(21)874.24811.3()874.23541.3()874.22318.3(-+-+-+-=3694.06071.04801.03578.0+++==1.8144[][]∑=---+---=-42))1(ˆ)5(ˆ())1()5((21))1(ˆ)(ˆ())1()((ˆk x x x x x k xx k x S S)4025.03694.0(21)516.06071.0()463.04801.0()404.03578.0(-+-+-+-=01655.0091.00171.00462.0-++-==0.0453564525.45999.404535.08144.17855.118144.17855.11ˆˆ1ˆ1=+++++=-+++++=S S SS S S ε=0.9902>0.90精度为一级,可以用4986.823728.85)1(ˆ037156.0)1(-=+k e k x)(ˆ)1(ˆ)1(ˆ)1()1()0(k x k x k x-+=+预测。

相关文档
最新文档