灰色预测模型GM(1,n)模型的matlab源代码,包括预测模型的建立,以及模型的精度检验 (主要是精度的检验c,p

0.1888275150.2708435060.4692077640.0896453860.020980835-0.0305175780.0610351560.00953... 0.188827515
0.270843506
0.469207764
0.089645386
0.020980835
-0.030517578
0.061035156
0.009536743
0.049591064
-0.009536743
-0.030517578
0.040054321
-0.009536743
-0.009536743
-0.011444092
0
-0.009536743
-0.009536743
0.059127808
-0.049591064
展开
 我来答
huangdifang
推荐于2016-02-11 · 贡献了超过160个回答
知道答主
回答量:160
采纳率:0%
帮助的人:84.2万
展开全部
  function GM1_1(X0)
  %format long ;
  [m,n]=size(X0);
  X1=cumsum(X0); %累加
  X2=[];
  for i=1:n-1
  X2(i,:)=X1(i)+X1(i+1);
  end
  B=-0.5.*X2 ;
  t=ones(n-1,1);
  B=[B,t] ; % 求B矩阵
  YN=X0(2:end) ;
  P_t=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;
  end
  k
  Y_k_1=b*exp(-a*k)+c;
  for j=1:length(k)-1
  Y(1,j)=Y_k_1(j+1)-Y_k_1(j);
  end
  XY=[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.5
  R=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),'%') %后验差检验 %计算小误差概率
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凉平空9702
2012-05-05
知道答主
回答量:1
采纳率:0%
帮助的人:1619
展开全部
1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式