sas中的预测
Posted
技术标签:
【中文标题】sas中的预测【英文标题】:Forecasting in sas 【发布时间】:2016-01-30 23:47:22 【问题描述】:我有一个关于 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】: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;
【讨论】:
非常感谢 Stu 花时间回答我的问题。这是正确的答案,这就是我所做的。以上是关于sas中的预测的主要内容,如果未能解决你的问题,请参考以下文章