灰色预测模型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实例

灰色预测模型及MATLAB实例

灰⾊预测模型及MATLAB实例下⾯将主要从三⽅⾯进⾏⼤致讲解,灰⾊预测概念及原理、灰⾊预测的分类及求解步骤、灰⾊预测的实例讲解。

⼀、灰⾊预测概念及原理:1.概述:关于所谓的“颜⾊”预测或者检测等,⼤致分为三⾊:⿊、⽩、灰,在此以预测为例阐述。

其中,⽩⾊预测是指系统的内部特征完全已知,系统信息完全充分;⿊⾊预测指系统的内部特征⼀⽆所知,只能通过观测其与外界的联系来进⾏研究;灰⾊预测则是介于⿊、⽩两者之间的⼀种预测,⼀部分已知,⼀部分未知,系统因素间有不确定的关系。

细致度⽐较:⽩>⿊>灰。

2.原理:灰⾊预测是通过计算各因素之间的关联度,鉴别系统各因素之间发展趋势的相异程度。

其核⼼体系是灰⾊模型(Grey Model,GM),即对原始数据做累加⽣成(或者累减、均值等⽅法)⽣成近似的指数规律在进⾏建模的⽅法。

⼆、灰⾊预测的分类及求解步骤:1.GM(1,1)与GM(2,1)、DGM、Verhulst模型的分类⽐较:预测模型适⽤场景涉及的序列GM(1,1)模型⼀阶微分⽅程,只含有1个变量的灰⾊模型。

适⽤于有较强指数规律的序列。

累加序列均值序列GM(2,1)模型适⽤于预测预测具有饱和的S形序列或者单调的摆动发展序列缺陷。

累加序列累减序列均值序列DGM模型累加序列累减序列Verhulst模型累加序列均值序列2.求解步骤思维导图:其中预测过程可能会涉及以下三种序列、⽩化微分⽅程、以及⼀系列检验,由于⼤致都相同,仅仅是某些使⽤累加和累减,⽽另外⼀些则使⽤累加、累减和均值三个序列的差别⽽已。

于是下⾯笔者将对其进⾏归纳总结再进⾏绘制思维导图,帮助读者理解。

(1)原始序列(参考数据列):(2)1次累加序列(1-AGO):(3)1次累减序列(1-IAGO ):(也就是原始序列中,后⼀项依次减去前⼀项的值,例如,[x(2)-x(1),x(3-x(2),...,x(n)-x(n-1))]。

)(4)均值⽣成序列:(这是对累加序列"(前⼀项+后⼀项)/2"得出的结果。

灰色预测MATLAB程序

灰色预测MATLAB程序

灰色预测作用:求累加数列、求a b的值、求预测方程、求残差clc %清屏,以使结果独立显示x=[71.1 72.4 72.4 72.1 71.4 72.0 71.6];format long; %设置计算精度if length(x(:,1))==1 %对输入矩阵进行判断,如不是一维列矩阵,进行转置变换 x=x';endn=length(x); %取输入数据的样本量z=0;for i=1:n %计算累加值,并将值赋予矩阵bez=z+x(i,:);be(i,:)=z;endfor i=2:n %对原始数列平行移位y(i-1,:)=x(i,:);endfor i=1:n-1 %计算数据矩阵B的第一列数据c(i,:)=-0.5*(be(i,:)+be(i+1,:));endfor j=1:n-1 %计算数据矩阵B的第二列数据e(j,:)=1;endfor i=1:n-1 %构造数据矩阵BB(i,1)=c(i,:);B(i,2)=e(i,:);endalpha=inv(B'*B)*B'*y; %计算参数矩阵即a b的值for i=1:n+1 %计算数据估计值的累加数列,如改为n+1为n+m可预测后m-1个值ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha(2,:)/alpha(1,: );%显示输出预测值的累加数列endvar(1,:)=ago(1,:) %显示输出预测值for i=1:n %如改n为n+m-1,可预测后m-1个值var(i+1,:)=ago(i+1,:)-ago(i,:); %估计值的累加数列的还原,并计算出下一预测值endfor i=1:nerror(i,:)=x(i,:)-var(i,:); %计算残差endc=std(error)/std(x); %调用统计工具箱的标准差函数计算后验差的比值c ago %显示输出预测值的累加数列alpha %显示输出参数数列var %显示输出预测值error %显示输出误差c %显示后验差的比值作用:数据处理判断是否可以用灰色预测、求级比、求累加数列、求a b的值、求预测方程clc,clearx0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]'; %注意这里为列向量n=length(x0);lamda=x0(1:n-1)./x0(2:n) %计算级比range=minmax(lamda') %计算级比的范围x1=cumsum(x0) %累加运算B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];Y=x0(2:n);u=B\Y %拟合参数u(1)=a,u(2)=bx=dsolve('Dx+a*x=b','x(0)=x0'); %求微分方程的符号解x=subs(x,{'a','b','x0'},{u(1),u(2),x0(1)}) %代入估计参数值和初始值yuce1=subs(x,'t',[0:n-1]); %求已知数据的预测值y=vpa(x,6) %其中的6表示显示6位数字yuce=[x0(1),diff(yuce1)] %差分运算,还原数据。

灰色预测程序

灰色预测程序

利用MATLAB编程预测2003年中国蔬菜产量,并对预测结果做残差检验和后验差检验,程序如下:function [X,c,error1,error2]=GM11(X0,k)% 建立函数[X,c,error1,error2]=GM11(X0,k)% 其中X0为输入序列,k为预测长度,% X为预测输出序列,c为后验差检验数,error1为残差,error2为相对误差format long;n=length(X0);X1=[];X1(1)=X0(1);for i=2:nX1(i)=X1(i-1)+X0(i); %计算累加生成序列endfor i=1:n-1B(i,1)=-0.5*(X1(i)+X1(i+1)); %计算B,Y nB(i,2)=1;Y(i)=X0(i+1);endalpha=(B'*B)^(-1)*B'*Y'; %做最小二乘估计a=alpha(1,1);b=alpha(2,1);d=b/a; %计算时间响应函数参数c=X1(1)-d;X2(1)=X0(1);X(1)=X0(1);for i=1:n-1X2(i+1)=c*exp(-a*i)+d;X(i+1)=X2(i+1)-X2(i); %计算预测序列endfor i=(n+1):(n+k)X2(i)=c*exp(-a*(i-1))+d; %计算预测序列X(i)=X2(i)-X2(i-1);endfor i=1:nerror(i)=X(i)-X0(i);error1(i)=abs(error(i)); %计算残差error2(i)=error1(i)/X0(i); %计算相对误差endc=std(error1)/std(X0); %计算后验差检验数作业陕西省农业总产值数据如下年份 1985 1986 1987 1888 1989 1990 1991 1992 1993 1994 总产值 62.9 58.8 61.4 87.2 104.9 124.8 110.7 129.0 155.3 219.03请建立灰色系统GM (1,1)模型,并预测1995-1997三年的农业总产值 在命令行输入:X0=[62.9 58.8 61.4 87.2 104.9 124.8 110.7 129.0 155.3 219.03]; k=3;[X,c,error1,error2]=GM11(X0,k) plot(1985: 1994,X0,'g*-') hold onplot(1985:1997,X)1984198619881990199219941996199850100150200250300350奥运会金牌中国预测 X0=[15,5,16,16,28,32,51,38];[X,c,error1,error2]=GM11(X0,k) plot(1:8,X0,'g*-') hold on plot(1:9,X)123456789X0=[5,16,16,28,32,51,38]; k=1;[X,c,error1,error2]=GM11(X0,k) plot(1:7,X0,'g*-') hold on plot(1:8,X)12345678X0=[16,16,28,32,51,38]; k=1;[X,c,error1,error2]=GM11(X0,k) plot(1:6,X0,'g*-') hold onplot(1: 7,X)1234567X0=[16,28,32,51,38]; k=1;[X,c,error1,error2]=GM11(X0,k) plot(1:5,X0,'g*-') hold on plot(1:6,X)1 1.52 2.53 3.54 4.555.56X0=[28,32,51,38]; k=1;[X,c,error1,error2]=GM11(X0,k) plot(1:4,X0,'g*-') hold on plot(1:5,X)1 1.52 2.53 3.54 4.55X0=[32,51,38]; k=1;[X,c,error1,error2]=GM11(X0,k) plot(1:3,X0,'g*-') hold on plot(1:4,X)1 1.52 2.53 3.54。

灰色预测MATLAB程序

灰色预测MATLAB程序

作用:求累加数列、求a b的值、求预测方程、求残差clc %清屏,以使结果独立显示x=[ ];format long; %设置计算精度if length(x(:,1))==1 %对输入矩阵进行判断,如不是一维列矩阵,进行转置变换 x=x';endn=length(x); %取输入数据的样本量z=0;for i=1:n %计算累加值,并将值赋予矩阵bez=z+x(i,:);be(i,:)=z;endfor i=2:n %对原始数列平行移位y(i-1,:)=x(i,:);endfor i=1:n-1 %计算数据矩阵B的第一列数据c(i,:)=*(be(i,:)+be(i+1,:));endfor j=1:n-1 %计算数据矩阵B的第二列数据e(j,:)=1;endfor i=1:n-1 %构造数据矩阵BB(i,1)=c(i,:);B(i,2)=e(i,:);endalpha=inv(B'*B)*B'*y; %计算参数矩阵即a b的值for i=1:n+1 %计算数据估计值的累加数列,如改为n+1为n+m可预测后m-1个值ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha(2,:)/alpha(1,: );%显示输出预测值的累加数列endvar(1,:)=ago(1,:) %显示输出预测值for i=1:n %如改n为n+m-1,可预测后m-1个值var(i+1,:)=ago(i+1,:)-ago(i,:); %估计值的累加数列的还原,并计算出下一预测值endfor i=1:nerror(i,:)=x(i,:)-var(i,:); %计算残差endc=std(error)/std(x); %调用统计工具箱的标准差函数计算后验差的比值c ago %显示输出预测值的累加数列alpha %显示输出参数数列var %显示输出预测值error %显示输出误差c %显示后验差的比值作用:数据处理判断是否可以用灰色预测、求级比、求累加数列、求a b的值、求预测方程clc,clearx0=[ ]'; %注意这里为列向量n=length(x0);lamda=x0(1:n-1)./x0(2:n) %计算级比range=minmax(lamda') %计算级比的范围x1=cumsum(x0) %累加运算B=[*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];Y=x0(2:n);u=B\Y %拟合参数u(1)=a,u(2)=bx=dsolve('Dx+a*x=b','x(0)=x0'); %求微分方程的符号解x=subs(x,{'a','b','x0'},{u(1),u(2),x0(1)}) %代入估计参数值和初始值yuce1=subs(x,'t',[0:n-1]); %求已知数据的预测值y=vpa(x,6) %其中的6表示显示6位数字yuce=[x0(1),diff(yuce1)] %差分运算,还原数据。

MATLAB_+_灰色预测程序,数学建模

MATLAB_+_灰色预测程序,数学建模

MATLAB实现灰色预测程序灰色预测很好的东西呐,······~~··`~··~~~~~~~~~~~~~~~~~~~~~````````````` fon [feval,au,ec,C,P]=GM1_1(x, r)if nrgin<2myar=0;end[mx,nx]=size(x);if mx==1x=x';endn=length(x);for i=2:nz(i-1)=0.5*x1(i)+0.5*x1(i-1);endY=x(2:end);B(:,1)=-z;2)/au(1));yc(1)=x(1);for k=1:n+myear-1y1(k+1)=pm*exp(-au*k)+a(2)/au(1);yc(k+1)=y1(k+1)-y1(k);endfeval=yc';ex=ec./x;r=0;rou=0.5;for k=1:nr=r+rou* s(ec(k))+rou*max(a (ec))); endr=r/n;%%====%原始序列的标准差s1=std(x);%计算残差的标准差s2=std(ec);%计算CC=s2/s1;%计算后验概率deta=ec-mean(ec);index=fineta)<0.6745*s1);P=length(index)/n;%%if C<0.35&P>0.95disp('预测精度为一级')elsP>0.8disp('预测精度为二级')elseif >0.7disp('预测精度为三级')elsedisp('预测精度过低,需要对模型进行修正') endif r>0.6disp('关联度符合检验要求')end%%%%=========t1=1:length(x);t2=1:lengt);plot(t1,x,'b--+',t2,feval,'r-o')legend('原始数据','预测数据')另一个程序function [y,p,e]=huise_1_1(X,k)%灰色模型的malab程序%Example [y,p]=gm_1_1([200 250 300 350],2) %接口描述:X的预测的初始数列,|X|>4,K是指向后进行预测的个数%命令格式:程序保存的文件名,eg:huise.m 则命令是:huise([579.8 547.5 527.0 492.3437.0],5)if nargout>3;r('Too maoutput argument.');enif nargin==1,k=1;x_orig=X;elseif ==0|nargin>2errr('Wrong nu arguments.');endx_rig=X;predict=k; %AGO 处理,即是对初始数列进行一阶累加x=cumsum(x_orig); %计算系数(a 和u)------------------------n=leh(x_orig); %生成矩阵Bfor i=1:(n-1);B(i)=-(x(i)+x(i+1))/2;enB=[B' ones(n-1,1)]; %生成矩阵Yfor i=1:(n-1);y(i)=x_ori(i+1);edY=y'; %计算系数a=au(1) u=au(2) au=(inv(B'*B))*(B'*Y); %--------------------------------------------------------%把huise模型公式转换成符号coef1=au(2)/au(1);coef2=x_or (1)-coef1;co3=0-au(1);costr1=nm2str(coef1);costr2=numstr(abs(coef2));costr3=ntr(coef3);eq=strcat(ctr1,'+',costr2,'e^',costr3,'*(t-1))'); %计算每一个值for t=1:(n+predict)mcv(t)=co1+coef2*exp(coef3*(t-1));endx_mcv0=diff(mcv);x_mcve=[x_orig(1) x_mcv0] %输出图形中的各点x_c_error=x_orig_n-x_mcv;x_errr=mn(abs(x_c_error./x_orig_n));if x_error>0.2 %相对误差的均值disp('del disqualification!');elseif x_error>0.1dip('model check out');disp('model is perfect!');endplot(1:n,x_orig,'o',1:n+predict,x_mcve);p=x_mcve(end-predict+1:end); %画出预测模型和初始数列的点xlabel('年份(从第一个数据年份起)');ylabel('产水量(万吨)');tie('灰度模型GM(1,1)');grid ony=eq;e=x_error;p=x_mcve(end-predict+1:end);。

灰色预测MATLAB程序

灰色预测MATLAB程序

灰色预测专设工⑼他QA—叫吋)为原始数列.其1次累❖加生成数列为恥=妙①曲⑵,…卅何),其中X° 仇)二工* ° (0.址=1=2= -:n5-1卷定义卫的决导数为d(k) = *町(上)=x 叫咼-x cl)(Jt-l).令为数列工①的邻值生成数列.即却(去)=^(*) + (1- a)x0)(t-lX于是定义GM (L 1)的灰微分方程模型为d(k)-血⑴住)=K即或严>(£) + “尹⑻=人⑴在式(1)中』。

>(灼称为灰导数,我称为发展系数, 弧称为白化背景值,b称为灰作用量乜将时刻表殳二2「3「/代入(1)式有V!1「—ay=代⑶ B =Ib*- :X闵0)-Z,:](K)1于是G\I <1»1)複至可表示为Y = Bu.現在问题归结为求sb 在值。

用一元线性回归・即最小二秦法求它们的活计值 为注二实陌上回归分析中求估计值是用软件计尊的・有标准程序求解,iOmaClab 等。

GM <1» 1>的白化晏対于G\I <1> 1)的灰微分方程(1) >如果将灰导数打(Q 的时刻 视为连绫变里"则x°)视为时问(函数卅⑺,于是*〉(Q 対血于导数里级 心2 >白化背臬值申的对应于导数卅⑴。

于是G\I (1,1)的坝徽 分方樂対应于的白微分方程为内・则数堀列X©可以塗互G\I <19 1) 且可以进行页色预测。

否朋,対数摄做适当的克换处理■如平移叢换:取C 使得鞍据列严伙)=工⑴伙)+ G 上=1,2,…,的级比都華住可吝禎盖内。

心⑴⑴ + o?i> (r)二◎ dr<2)GM mi )质色预测的步骤1 •教摇的枪绘与处連为了ftilGAl (1,1)建複方法的可行性,亲要为已知期S 做必要的检蛉处理。

设原始教据列为了 逛=(乂°(1)*6(2)严炉00; >计算数列的级比如果所有的级比都落在可容覆盖区间 • fc =A-2,3"・如果対所有的|p 伙)|<0・1 -则认为达到较高的要求,否则 若旳所有的|。

分数灰色预测matlab代码详解

分数灰色预测matlab代码详解

分数灰色预测matlab代码详解
分数灰色预测是一种基于灰色系统理论的非线性预测方法,通过对待预测序列的数据进行分形分析,建立分数阶微分方程模型,从而进行预测。

下面我们将详细介绍该方法的matlab代码实现过程。

1. 数据准备
首先,需要准备待预测的时间序列数据,在matlab中可以通过读取文件或手动输入的方式获取数据。

在本文中,我们将使用matlab 自带的load函数读取一个名为data.txt的文本文件中的时间序列数据。

2. 数据预处理
在进行预测之前,需要对数据进行预处理。

这包括去除噪声、平滑处理、归一化等。

在本文中,我们将采用matlab中自带的smooth 函数进行平滑处理,并使用归一化方法将数据缩放到0至1之间。

3. 模型建立
接下来,需要建立分数灰色预测模型。

在matlab中,可以使用greyest函数进行模型参数估计。

在本文中,我们将使用分数阶微分方程模型,因此需要先通过fracdiff函数估计分数阶微分系数。

4. 模型预测
有了模型之后,就可以进行预测了。

在matlab中,可以使用sim 函数进行模型仿真。

在本文中,我们将使用该函数对模型进行预测,并将预测结果可视化。

5. 结果分析
最后,需要对预测结果进行分析。

可以通过计算误差指标、绘制误差曲线等方式进行分析。

在本文中,我们将计算均方误差和平均绝对误差,并绘制预测结果和实际结果的对比图。

综上所述,以上就是分数灰色预测的matlab代码详解。

通过对上述步骤的实现,可以得到较为准确的预测结果,并帮助我们更好地了解该预测方法的原理和应用。

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

%x=[1019,1088,1324,1408,1601];gm1(x); 测试数据%二次拟合预测GM(1,1)模型
function gmcal=gm1(x)
if nargin==0
x=[1019,1088,1324,1408,1601]
end
format long g
sizex=length(x);
%求数组长度
k=0;
for y1=x
k=k+1;
if k>1
x1(k)=x1(k-1)+x(k);
%累加生成
z1(k-1)=-0.5*(x1(k)+x1(k-1));
%z1维数减1,用于计算B
yn1(k-1)=x(k);
else
x1(k)=x(k);
end
end
%x1,z1,k,yn1
sizez1=length(z1);
%size(yn1);
z2 = z1';
z3 = ones(1,sizez1)';
YN = yn1'; %转置
%YN
B=[z2 z3];
au0=inv(B'*B)*B'*YN;
au = au0';
%B,au0,au
afor = au(1);
ufor = au(2);
ua = au(2)./au(1);
%afor,ufor,ua
%输出预测的 a u 和 u/a的值
constant1 = x(1)-ua;
afor1 = -afor;
x1t1 = 'x1(t+1)';
estr = 'exp';
tstr = 't';
leftbra = '(';
rightbra = ')';
%constant1,afor1,x1t1,estr,tstr,leftbra,rightbra
strcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,'+ ',leftbra,num2str(ua),rightbra)
%输出时间响应方程
%******************************************************
%二次拟合
k2 = 0;
for y2 = x1
k2 = k2 + 1;
if k2 > k
else
ze1(k2) = exp(-(k2-1)*afor);
end
end
%ze1
sizeze1=length(ze1);
z4 = ones(1,sizeze1)';
G=[ze1' z4];
X1 = x1';
au20=inv(G'*G)*G'*X1;
au2 = au20';
%z4,X1,G,au20
Aval = au2(1);
Bval = au2(2);
%Aval,Bval
%输出预测的 A,B的值
strcat(x1t1,'=',num2str(Aval),estr,leftbra,num2str(afor1),tstr,rightbra,'+',lef tbra,num2str(Bval),rightbra)
%输出时间响应方程
nfinal = sizex-1 + 1;(其中+1可改为+5等其他数字,即可预测更多的数字)
%决定预测的步骤数5 这个步骤可以通过函数传入
%nfinal = sizexd2 - 1 + 1;
%预测的步骤数 1
for k3=1:nfinal
x3fcast(k3) = constant1*exp(afor1*k3)+ua;
end
%x3fcast
%一次拟合累加值
for k31=nfinal:-1:0
if k31>1
x31fcast(k31+1) = x3fcast(k31)-x3fcast(k31-1);
else
if k31>0
x31fcast(k31+1) = x3fcast(k31)-x(1);
else
x31fcast(k31+1) = x(1);
end
end
end
x31fcast
%一次拟合预测值
for k4=1:nfinal
x4fcast(k4) = Aval*exp(afor1*k4)+Bval;
end
%x4fcast
for k41=nfinal:-1:0
if k41>1
x41fcast(k41+1) = x4fcast(k41)-x4fcast(k41-1);
else
if k41>0
x41fcast(k41+1) = x4fcast(k41)-x(1);
else
x41fcast(k41+1) = x(1);
end
end
end
x41fcast,x
%二次拟合预测值
%***精度检验p C************////////////////////////////////// k5 = 0;
for y5 = x
k5 = k5 + 1;
if k5 > sizex
else
err1(k5) = x(k5) - x41fcast(k5);
end
end
%err1
%绝对误差
xavg = mean(x);
%xavg
%x平均值
err1avg = mean(err1);
%err1avg
%err1平均值
k5 = 0;
s1total = 0 ;
for y5 = x
k5 = k5 + 1;
if k5 > sizex
else
s1total = s1total + (x(k5) - xavg)^2;
end
end
s1suqare = s1total ./ sizex;
s1sqrt = sqrt(s1suqare);
%s1suqare,s1sqrt
%s1suqare 残差数列x的方差 s1sqrt 为x方差的平方根S1 k5 = 0;
s2total = 0 ;
for y5 = x
k5 = k5 + 1;
if k5 > sizex
else
s2total = s2total + (err1(k5) - err1avg)^2; end
end
s2suqare = s2total ./ sizex;
%s2suqare 残差数列err1的方差S2
Cval = sqrt(s2suqare ./ s1suqare);
Cval
%nnn = 0.6745 * s1sqrt
%Cval C检验值
k5 = 0;
pnum = 0 ;
for y5 = x
k5 = k5 + 1;
if abs( err1(k5) - err1avg ) < 0.6745 * s1sqrt
pnum = pnum + 1;
%ppp = abs( err1(k5) - err1avg )
else
end
end
pval = pnum ./ sizex;
pval
%p检验值
%arr1 = x41fcast(1:6)
%预测结果为区间范围预测步长和数据长度可调整程序参数进行改进
运行结果
x =
1019 1088 1324 1408 1601
ans =
x1(t+1)=8908.4929exp(0.11871t)+(-7889.4929)
ans =
x1(t+1)=8945.2933exp(0.11871t)+(-7935.7685)
x31fcast =
Columns 1 through 3
1019 1122.89347857097 1264.43142178303 Columns 4 through 6
1423.80987235488 1603.27758207442 1805.36675232556 x41fcast =
Columns 1 through 3
1019 1118.05685435129 1269.65470492098 Columns 4 through 6
1429.69153740195 1609.90061644041 1812.82460377782 x =
1019 1088 1324 1408 1601
Cval =
0.139501578334155 pval =
1。

相关文档
最新文档