SAS中的分层预测协调

SAS中的分层预测协调,sas,time-series,hierarchical-data,forecasting,Sas,Time Series,Hierarchical Data,Forecasting,我希望我问的是对的: 我想预测一些与时间相关的事件,以便它们是聚合一致的。有人能简单地解释一下如何在SAS中做到这一点吗 我在SAS工作,我尝试过做这方面的研究,但对我来说,矩阵代数真的很可怕(我尝试过类似“当代分层时间序列预测的博弈论最优协调”之类的东西)。我只是一个凡人,我不知道如何将这些公式合并到我的SAS编码中 这个问题的例子来自“sashelp.citiday”。 如果我创建一个数据集,根据时间运行一些独立的预测,它们加起来就不等于总数。我真的希望他们加起来。我怎样才能做到这一点 谢谢

我希望我问的是对的: 我想预测一些与时间相关的事件,以便它们是聚合一致的。有人能简单地解释一下如何在SAS中做到这一点吗

我在SAS工作,我尝试过做这方面的研究,但对我来说,矩阵代数真的很可怕(我尝试过类似“当代分层时间序列预测的博弈论最优协调”之类的东西)。我只是一个凡人,我不知道如何将这些公式合并到我的SAS编码中

这个问题的例子来自“sashelp.citiday”。 如果我创建一个数据集,根据时间运行一些独立的预测,它们加起来就不等于总数。我真的希望他们加起来。我怎样才能做到这一点

谢谢

代码如下:

data temp;
set sashelp.citiday;
format WeekDay $9.;
    /* Simplify some variables */
count1=round(SNYDJCM,1);
count2=round(SNYSECM,1);
count3=round(DFXWUK90,1);
    /* Create a 'Total' column */
total=sum (of count1-count3);
    /* create weekday */
day=datdif("1jan1988"d,date,'actual');
    if day=1 then weekday="Friday"; 
    if day=2 then weekday="Saturday"; 
    if day=3 then weekday="Sunday";
    if day=4 then weekday="Monday";
    if day=5 then weekday="Tuesday";
    if day=6 then weekday="Wednesday";
    if day=7 then weekday="Thursday";
        if weekday=. then do;   
            if round(day/7)=day/7 then weekday="Thursday"; 
            else if round((day-1)/7)=(day-1)/7 then weekday="Friday"; 
            else if round((day-2)/7)=(day-2)/7 then  weekday="Saturday"; 
            else if round((day-3)/7)=(day-3)/7 then  weekday="Sunday"; 
            else if round((day-4)/7)=(day-4)/7 then  weekday="Monday"; 
            else if round((day-5)/7)=(day-5)/7 then  weekday="Tuesday"; 
            else if round((day-6)/7)=(day-6)/7 then  weekday="Wednesday"; 
        end;
    /* Create Month */
Month=month(date);
keep date count1-count3 total day weekday month;
run;

%macro prediction(indata,outcome,predlab,outdata);
proc hpgenselect data=&indata.;
class weekday month;
model &outcome.=day weekday month weekday*month day*day /dist=nb ;
selection  method=backward  (choose=aic) hierarchy=single details=all ;
output out=&outdata. p=&predlab.;
run;
%mend prediction;

%prediction(temp,count1,pred1,forecast);
%prediction(forecast,count2,pred2,forecast);
%prediction(forecast,count3,pred3,forecast);
%prediction(forecast,total,predT,forecast);

data forecast;
set forecast;
sumpred=sum(of pred1-pred3);
diff=sumpred-predT;
run;

在这个问题上没有得到任何爱-有没有办法让它变得更好/更清晰?如果你能帮我理解的话,你会得到通灵的/通过互联网的拥抱!在这个问题上没有得到任何爱-有没有办法让它变得更好/更清晰?如果你能帮我理解的话,你会得到通灵的/通过互联网的拥抱!