楼主: 6203479170
10788 10

[原创博文] 求教怎么用ARIMA模型对下列数据进行预测? [推广有奖]

  • 0关注
  • 0粉丝

硕士生

97%

还不是VIP/贵宾

-

威望
0
论坛币
90 个
通用积分
0.0600
学术水平
2 点
热心指数
7 点
信用等级
2 点
经验
292 点
帖子
125
精华
0
在线时间
218 小时
注册时间
2009-8-2
最后登录
2022-1-14

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;

关键词:ARIMA模型 ARIMA MA模型 ima Rim 模型

回帖推荐

leedx 发表于5楼  查看完整内容

试一下这个程序: 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;/*观测图像得知序列呈指数序 ...

本帖被以下文库推荐

沙发
幽兰行天下 在职认证  发表于 2011-1-3 18:38:10 |只看作者 |坛友微信交流群
路过,不懂

使用道具

藤椅
lampardxing 发表于 2011-1-3 19:13:38 |只看作者 |坛友微信交流群
建议你用eviews试试 !!!!!!

使用道具

板凳
greatqun 发表于 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数据集里面
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
湘江7 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

报纸
leedx 发表于 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参考。如果你觉得不合适,可以做二阶差分试一试。

使用道具

地板
haigpeng 发表于 2011-1-5 10:09:41 |只看作者 |坛友微信交流群
ARIMA先差分是不是好做些啊!!
师奶杀手

使用道具

7
leedx 发表于 2011-1-7 09:43:21 |只看作者 |坛友微信交流群
haigpeng 发表于 2011-1-5 10:09
ARIMA先差分是不是好做些啊!!
其实我上面的程序中已经带了差分~

使用道具

8
baoaibaobao 发表于 2011-1-7 09:47:52 |只看作者 |坛友微信交流群
以前认识有做时间序列课题的朋友,听说ARIMA模型需要对P、Q、D不同的数值进行尝试,不知道是否这样?

使用道具

9
leedx 发表于 2011-1-7 12:46:11 |只看作者 |坛友微信交流群
可以的呀,用下面的程序试一试
identify var=rate nlag=12 minic p=(1:5) q=(0:5) outcov=a1 noprint;

使用道具

10
jesusdll 在职认证  发表于 2012-3-9 18:31:06 |只看作者 |坛友微信交流群
通过比较不同阶数的AIC、SC指标来确定最优模型

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 07:06