灰色预测模型的Matlab 程序及检验程序
本帖最后由 wangkai1 于 2014-8-31 09:35 编辑灰色预测模型的Matlab 程序及检验程序%灰色预测模型程序
clearsyms a b;c=';A=;% 原始序列B=cumsum(A);%累加n=length(A);for i=1: (n-1) C(i)=(B(i)+B(i+1))/2;end%计算待定参数D=A;D(1)=[];D=D';E=[-C; ones(1,n-1)];c=inv(E*E')*E*D;c=c';a=c(1);b=c(2);%预测 往后预测5个数据F=[];F(1)=A(1);for i=2:(n+5) F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;endG=[];G(1)=A(1);for i=2: (n+5) G(i)=F(i)-F(i-1);endt1=2002:2009;t2=2002:2014;Gplot(t1,A,'o',t2,G)
%灰色预测模型检验程序
function [ q,c,p ] = checkgm( x0,x1 )%GM 检验函数 %x0 原始序列%x1 预测序列%·返回值 % q –- 相对误差% c -- ·方差比% p -- 小误差概率e0=x0-x1;q=e0/x0;s1=var(x0);%qpa=mean(e0);s2=var(e0);c=s2/s1;len=length(e0);p=0;for i=1:len if(abs(e0(i)) < 0.6745*s1) p=p+1; endendp=p/len;end
等级
相对误差q
方差比C
小误差概论P
I级
<0.01
<0.35
>0.95
II级
<0.05
<0.50
<0.80
III级
<0.10
<0.65
<0.70
IV级
>0.20
>0.80
<0.60
顶一个。。。。 不错,楼主辛苦了。。。
页:
[1]