预测sas

时间:2015-10-30 14:04:22

标签: sas forecasting

我对SAS有疑问。我有两个时间序列S1和S2。 对于S2,我有未来3年的预测值。我想用S2预测S1及其预测值。通常,如果我没有任何系列的预测值,我会使用这样的东西。
(使用价格作为ARIMA(1,1,1)的输入系列预测销售

proc arima data=mydata;
identify var=price(1);
estimate p=2;
identify var=sales(1) crosscorr=price(1);
estimate p=1 q=1 input=price;
forecast lead=12 interval=month id=date out=results;
run;e here

1 个答案:

答案 0 :(得分:0)

PROC ARIMA是交互式的,因为它分别执行每个语句。因此,它也可以使用从前一个语句派生的信息。要使用输入变量的预测,您需要在其下方添加另一个forecast语句。这将在内部生成输入变量的预测,并允许您将该预测用作您感兴趣的主变量的输入。

proc arima data=mydata;
    identify var=price(1) noprint;
        estimate p=2 noprint;
        forecast lead=12 noprint;
    identify var=sales(1) crosscorr=(price(1) );
        estimate p=1 q=1 input=price;
        forecast lead=12 interval=month id=date out=results;
run;

如果您已经有预测并且它们位于单独的数据集中,只需将两个数据集合并在一起:

data want;
    merge have_s1
          have_s2;
    by date;
run;

    dataset: want
date        s1    s2
1/1/15      10    96
2/1/15      15    80
3/1/15      9     120
....        ...   ...
12/1/15     4     160
1/1/16      .     133
2/1/16      .     121
3/1/16      .     100

然后,您可以对数据集运行PROC ARIMA,只要您拥有s1的值,它就会填写s2的缺失值。

proc arima data=want;
    identify var=s1(1) crosscorr=(s2(1) );
    estimate p=1 q=2;
    forecast lead=12 interval=month id=date out=results;
run;