全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11344 10
2011-01-03
悬赏 100 个论坛币 未解决
各位大侠。。请教一下怎么用ARIMA模型对下列数据进行预测?(就是对数据判定该使用AR几MA几模型,然后预测)
我做了一半但因为看不懂自相关系数图就不会做了,求救啊!!!!!!!!!!!!
都怪我抗拒学时间序列,现在吃苦果了。。

下面是我的代码
data exp3;
input consumption@@;
time=_n_;
cards;
18718.3
21826.2
26937.3
35260
48108.5
59810.5
70142.5
78060.8
83024.3
88479.2
98000.5
108068.2
119095.7
135174
159586.7
185808.6
217522.7
267763.7
316228.8
343464.7

;
proc gplot data=exp3;/*观测图像得知序列呈指数序列,故先对其指数化*/
symbol1 i=spline;
plot consumption*time=1;
run;

data lexp;/*指数化*/
set exp3;
lgnp=log(consumption);
run;
proc gplot data=lexp;/*指数化后的图像*/
  symbol2 i=spline c=red;
  plot lgnp*time=2;
run;
proc arima data=lexp;/*到这步就不会了*/
  identify var=lgnp nlag=12;
  run;
identify var=lgnp(1) nlag=12;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-1-3 18:38:10
路过,不懂
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-3 19:13:38
建议你用eviews试试 !!!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-4 09:54:53
我水平不高,抛砖引玉了
proc arima data=lexp
   identify var=lgnp(1) nlag=12 ESACF stationarity=(adf=(1));                       
   estimate p=1 q=1 method=uls;                                                                  
   forecast out=output  lead=5;                                                                        
run;
quit;

输出结果中,先看这个
            Augmented Dickey-Fuller Unit Root Tests
   Type           Lags         Rho    Pr < Rho        Tau    Pr < Tau          F    Pr > F
   Zero Mean         1     -3.1450      0.2077      -1.56      0.1085
   Single Mean       1    -16.3971      0.0054      -2.45      0.1431       3.36    0.2746
   Trend             1    -21.1877      0.0038      -2.72      0.2417       3.71    0.4838
    结论是需要1阶差分
再看这个,
    ESACF Probability Values
              Lags      MA 0      MA 1      MA 2      MA 3      MA 4      MA 5
              AR 0    0.0016    0.3058    0.8843    0.5380    0.2745    0.3357
              AR 1    0.0105    0.9783    0.7418    0.5821    0.2114    0.3927
              AR 2    0.0069    0.5777    0.7656    0.6147    0.2529    0.3701
              AR 3    0.0114    0.3256    0.8406    0.7664    0.2914    0.4133
              AR 4    0.6498    0.6895    0.8441    0.6501    0.2998    0.6041
              AR 5    0.0711    0.5628    0.4569    0.7444    0.5109     .

                                         ARMA(p+d,q)
                                          Tentative
                                            Order
                                          Selection
                                            Tests
                                         ---ESACF---
                                         p+d       q
                                           0       1
                                           1       1
                                           2       1
                                           3       1
                                           4       0
                                           5       0
                                   (5% Significance Level)
      根据上表,用EACF判断p和q,先试MA(1),再试ARMA(1,1),ARMA(2,1),ARMA(3,1),一个一个试
      试验MA(1),就写成 estimate q=1 method=uls; 结果发现残差自相关,放弃
      试验ARMA(1,1),就写成 estimate p=1 q=1 method=uls; 残差OK,就是他了
参数估计结果
                                       Model for variable lgnp
                            Estimated Mean                0.14128
                            Period(s) of Differencing           1

                                  Autoregressive Factors
                                Factor 1:  1 - 0.61653 B**(1)

                                   Moving Average Factors
                                Factor 1:  1 + 0.66945 B**(1)
      就是  (1-0.617B)*(  (1-B)*lgnp(t)-0.141) = (1+0.669B)* e(t)
                                       说明:B 就是 backshift, B(lgnp(t))=lgnp(t-1)   B(e(t))=e(t-1)

       最后   forecast out=output  lead=5;  给出过去19期和向前5期的预测值,放在output数据集里面
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-5 00:37:17
试一下这个程序:
data exp3;
input consumption@@;
time=intnx('year','01jan1998'd,_n_-1);
format time date8.;
/*y=dif(consumption);
z=dif(y);*/
cards;
18718.3
21826.2
26937.3
35260
48108.5
59810.5
70142.5
78060.8
83024.3
88479.2
98000.5
108068.2
119095.7
135174
159586.7
185808.6
217522.7
267763.7
316228.8
343464.7
;
run;

proc gplot data=exp3;/*观测图像得知序列呈指数序列,故先对其指数化*/
symbol1 i=spline v=dot c=blue;
plot consumption*time=1;
run;

proc arima data=exp3;/*到这步就不会了*/
  identify var=consumption(1) nlag=12;
  estimate p=1;
run;

对序列做了一阶差分,基本达到平稳的要求。最后拟合了AR(1)模型,供LZ参考。如果你觉得不合适,可以做二阶差分试一试。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-5 10:09:41
ARIMA先差分是不是好做些啊!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群