Sas VARMAX中缺少值
我有一个包含游客和天气变量的数据集。我试图根据天气变化预测游客。由于数据集仅包括季节性游客,因此每年都缺少值和差距。在sas中运行proc reg时,一切正常,但在使用proc VARMAX时会出现问题。由于缺少值,我无法运行回归。我如何处理这个问题Sas VARMAX中缺少值,sas,forecasting,Sas,Forecasting,我有一个包含游客和天气变量的数据集。我试图根据天气变化预测游客。由于数据集仅包括季节性游客,因此每年都缺少值和差距。在sas中运行proc reg时,一切正常,但在使用proc VARMAX时会出现问题。由于缺少值,我无法运行回归。我如何处理这个问题 proc varmax data=tivoli4 printall plots=forecast(all); id obs interval=day; model lvisitors = rain sunshine averagetemp dfeb
proc varmax data=tivoli4 printall plots=forecast(all);
id obs interval=day;
model lvisitors = rain sunshine averagetemp
dfebruary dmarch dmay djune djuly daugust doctober dnovember ddecember
dwednesday dthursday dfriday dsaturday dsunday
d_24Dec2016 d_05Dec2013 d_24Dec2017 d_24Dec2014 d_24Dec2015 d_24Dec2019
d_24Dec2018 d_24Sep2012 d_06Jul2015
d_08feb2019 d_16oct2014 d_15oct2019 d_20oct2016 d_15oct2015 d_22sep2017 d_08jul2015
d_20Sep2019 d_08jul2016 d_16oct2013 d_01aug2012 d_18oct2012 d_23dec2012 d_30nov2013 d_20sep2014 d_17oct2012 d_17jun2014
dFrock2012 dFrock2013 dFrock2014 dFrock2015 dFrock2016 dFrock2017 dFrock2018 dFrock2019
dYear2015 dYear2016 dYear2017
/p=7 q=2 Method=ml dftest;
garch p=1 q=1 form=ccc OUTHT=CONDITIONAL;
restrict
ar(3,1,1)=0, ar(4,1,1)=0, ar(5,1,1)=0,
XL(0,1,13)=0, XL(0,1,14)=0, XL(0,1,13)=0, XL(0,1,27)=0, XL(0,1,38)=0, XL(0,1,42)=0;
output lead=10 out=forecast;
运行 与任何预测一样,您首先需要准备时间序列。您应该首先通过
PROC TIMESERIES
运行数据,以填充或插补缺失的值。最合适的插补选择取决于您的变量。以下代码将:
- 按天对lvisitor进行求和,并将缺少的值设置为0
- 将
的缺失值设置为averageaveragetemp
- 将
、rain
的缺失值以及以sunshine
开头的变量设置为0(假设这些是指标)d
proc format
和time\u id
data want;
set have;
time_id+1;
run;
proc varmax data=want;
id time_id interval=day;
...
output lead=10 out=myforecast;
run;
data myforecast;
merge myforecast
want(keep=time_id date)
;
by time_id;
run;
或者,如果您制作了格式:
data myforecast;
set myforecast;
date = put(time_id, timeid.);
drop time_id;
run;
您好,非常感谢您的回复!似乎无法在proc varmax中使用自定义间隔。我们如何做到这一点?是否有可能从第二季度到第四季度的间隔天数?那么,在这种情况下,代码是什么?
data myforecast;
set myforecast;
date = put(time_id, timeid.);
drop time_id;
run;