全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7673 4
2009-04-04

?我用ARIMA对数据进行了拟合,程序如下,请问怎样在这个基础上获得模型的残差序列?

data example3_1;
input x@@;
difx=dif(dif(x));
time=_n_;
cards;

(数据)

proc gplot data=example3_1;
plot x*time difx*time;
symbol1 c=black v=star i=join;
proc arima data=example3_1;
identify Var=x(1,1)   ;
estimate   q=1 ;
run;

[此贴子已经被作者于2009-4-4 22:04:57编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2009-4-5 02:04:00
在run; 语句前加一句 forecast out=results;
results中应该有一列是residual。
二维码

扫码加我 拉你入群

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

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

2009-4-5 12:01:00

我按楼上的去做,但发现得出的序列的预测值。 我想得出的是序列原始值与拟合值相减的残差哦。

二维码

扫码加我 拉你入群

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

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

2009-4-5 13:16:00

试验证明有residual
data example3_1;
      input x @@;
      difx=dif(dif(x));
      time=_n_;
datalines;
112 118 132 129 121 135 148 148 136 119 104 118
115 126 141 135 125 149 170 170 158 133 114 140
; run;
proc arima data=example3_1 ;
identify Var=x(1,1)   ;
estimate   q=1 ;
forecast out=results;
quit;
proc print data=results;
run;

output
               Obs     x     FORECAST      STD           L95      U95      RESIDUAL

                 1    112        .         .            .          .          .
                 2    118        .         .            .          .          .
                 3    132     123.606    15.5403      93.148    154.065      8.3936
                 4    129     137.213    15.5403     106.754    167.671     -8.2127
                 5    121     133.819    15.5403     103.361    164.278    -12.8191
                 6    135     125.425    15.5403      94.967    155.884      9.5746
                 7    148     139.032    15.5403     108.573    169.490      8.9682
                 8    148     151.638    15.5403     121.180    182.097     -3.6381
                 9    136     151.244    15.5403     120.786    181.703    -15.2445
                10    119     138.851    15.5403     108.392    169.309    -19.8508
                11    104     121.457    15.5403      90.999    151.916    -17.4571
                12    118     106.063    15.5403      75.605    136.522     11.9366
                13    115     119.670    15.5403      89.211    150.128     -4.6698
                14    126     116.276    15.5403      85.818    146.735      9.7238
                15    141     126.883    15.5403      96.424    157.341     14.1175
                16    135     141.489    15.5403     111.030    171.947     -6.4889
                17    125     135.095    15.5403     104.637    165.554    -10.0953
                18    149     124.702    15.5403      94.243    155.160     24.2984
                19    170     148.308    15.5403     117.850    178.766     21.6920
                20    170     168.914    15.5403     138.456    199.373      1.0856
                21    158     168.521    15.5403     138.062    198.979    -10.5208
                22    133     156.127    15.5403     125.669    186.586    -23.1271
                23    114     130.733    15.5403     100.275    161.192    -16.7334
                24    140     111.340    15.5403      80.881    141.798     28.6603

二维码

扫码加我 拉你入群

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

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

2009-4-5 14:59:00

我没有加proc print data=results;
run;

所以没有输出results这个数据集。非常感谢yongyitian

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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