单序列时间回归预测

y随时间的观测值如下所示:

1.85 1.37 1.02 0.75 0.56 0.41 0.31 0.23 0.17

预测第10期的数据。

 

1.画图

t=1:9;
y=[1.85 1.37 1.02 0.75 0.56 0.41 0.31 0.23 0.17];
plot(t,y)

 

2.选择匹配的曲线,化非线性为线性:

y=a+bt

y=a+\frac{b}{t}\rightarrow y=a+bx

y=at^b\rightarrow ly=lna+blx

y=ae^{bt}\rightarrow ly=lna+bt

 

3.正态性检验(ks检验法)

检验原值

x=[1.85 1.37 1.02 0.75 0.56 0.41 0.31 0.23 0.17];
x=x';
alpha=0.05;
[mu,sigma]=normfit(x);
p1=normcdf(x,mu,sigma);
[h0,s1,ks,cv]=kstest(x,[x,p1],alpha)
h0 =

  logical

   0


s1 =

    0.8862


ks =

    0.1798


cv =

    0.4300

检验对数值

x=[1.85 1.37 1.02 0.75 0.56 0.41 0.31 0.23 0.17];
x=x';x1=log(x);
alpha=0.05;
[mu,sigma]=normfit(x1);
p1=normcdf(x1,mu,sigma);
[h0,s1,ks,cv]=kstest(x1,[x1,p1],alpha)
h0 =

  logical

   0


s1 =

    0.9992


ks =

    0.1021


cv =

    0.4300

确保四种曲线都可以用回归模型来做。

 

4.建立回归模型

clear;
clc;
t=1:9;
y=[1.85 1.37 1.02 0.75 0.56 0.41 0.31 0.23 0.17];
x=1./t;
lx=log(t);
ly=log(y);
stats1=reglm(y,t,'linear');
stats2=reglm(y,x,'linear');
stats3=reglm(ly,lx,'linear');
stats4=reglm(ly,t,'linear');
y1=stats1.beta(1)+stats1.beta(2).*t;
y2=stats2.beta(1)+stats2.beta(2).*x;
y3=exp(stats3.beta(1)+stats3.beta(2).*lx);
y4=exp(stats4.beta(1)+stats4.beta(2).*t);
q1=sum((y-y1).^2);
q2=sum((y-y2).^2);
q3=sum((y-y3).^2);
q4=sum((y-y4).^2);
fprintf('%8s%18s%15s%15s%12s\n','项目','y1','y2','y3','y4');
fmt='%9s%20.4f%15.4f%15.4f%13.4f\n';
fprintf(fmt,'SSE',q1,q2,q3,q4);
------------------------------------方差分析表------------------------------------
方差来源    自由度            平方和             均方             F值          p值
回归       1.0000           2.3602           2.3602         63.9062      0.0001
残差       7.0000           0.2585           0.0369
总计       8.0000           2.6187

       均方根误差(Root MSE)         0.1922           判定系数(R-Square)    0.9013
 因变量均值(Dependent Mean)         0.7411        调整的判定系数(Adj R-Sq)    0.8872

-----------------------------------参数估计-----------------------------------
      变量               估计值            标准误             t值          p值
     常数项              1.7328           0.1396          12.4113      0.0000
        X1             -0.1983           0.0248          -7.9941      0.0001


------------------------------------方差分析表------------------------------------
方差来源    自由度            平方和             均方             F值          p值
回归       1.0000           2.3566           2.3566         62.9517      0.0001
残差       7.0000           0.2620           0.0374
总计       8.0000           2.6187

       均方根误差(Root MSE)         0.1935           判定系数(R-Square)    0.8999
 因变量均值(Dependent Mean)         0.7411        调整的判定系数(Adj R-Sq)    0.8856

-----------------------------------参数估计-----------------------------------
      变量               估计值            标准误             t值          p值
     常数项              0.1428           0.0992           1.4396      0.1932
        X1              1.9033           0.2399           7.9342      0.0001


------------------------------------方差分析表------------------------------------
方差来源    自由度            平方和             均方             F值          p值
回归       1.0000           4.8711           4.8711         73.7837      0.0001
残差       7.0000           0.4621           0.0660
总计       8.0000           5.3332

       均方根误差(Root MSE)         0.2569           判定系数(R-Square)    0.9133
 因变量均值(Dependent Mean)        -0.5802        调整的判定系数(Adj R-Sq)    0.9010

-----------------------------------参数估计-----------------------------------
      变量               估计值            标准误             t值          p值
     常数项              0.9629           0.1990           4.8383      0.0019
        X1             -1.0849           0.1263          -8.5897      0.0001


------------------------------------方差分析表------------------------------------
方差来源    自由度            平方和             均方             F值          p值
回归       1.0000           5.3330           5.3330     131978.7098      0.0000
残差       7.0000           0.0003           0.0000
总计       8.0000           5.3332

       均方根误差(Root MSE)         0.0064           判定系数(R-Square)    0.9999
 因变量均值(Dependent Mean)        -0.5802        调整的判定系数(Adj R-Sq)    0.9999

-----------------------------------参数估计-----------------------------------
      变量               估计值            标准误             t值          p值
     常数项              0.9104           0.0046         197.1452      0.0000
        X1             -0.2981           0.0008        -363.2887      0.0000


      项目                y1             y2             y3          y4
      SSE              0.2585         0.2620         0.7078       0.0001

根据残差平方和越小越好的原则,选第四个模型最好。

 

4.画回归效果图

subplot(2,2,1);
plot(t,y,'.k','Markersize',15)
hold on
plot(t,y1,'linewidth',1)
legend('原始值','回归直线');
title('y=a+bt');
hold off
subplot(2,2,2);
plot(t,y,'.k','Markersize',15)
hold on
plot(t,y2,'linewidth',1)
legend('原始值','回归直线');
title('y=a+b/t');
hold off
subplot(2,2,3);
plot(t,y,'.k','Markersize',15)
hold on
plot(t,y3,'linewidth',1)
legend('原始值','回归直线');
title('y=at^b');
hold off
subplot(2,2,4);
plot(t,y,'.k','Markersize',15)
hold on
plot(t,y4,'linewidth',1)
legend('原始值','回归直线');
title('y=ae^b^t');
hold off

由图形也可以看出第四个模型拟合的最好。

 

5.回答问题

当t=10时,y=?

>> exp(stats4.beta(1)+stats4.beta(2).*10)

ans =

    0.1261

预测值为0.1261。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值