BookmarkSubscribeRSS Feed
Liat
Calcite | Level 5

Hello,

I wish to predict volume in every day , given a day,month,year, day in week (sunday/monday/...), and holiday indicator. ( total of 5 categorical variables) - base on history data of course.

basically I want to know the weight each of the variables and their values contribute to the volume.

I want to make that forcast as the volume is not necessarily spread uniqly (linear) throw the month. for example: if I'm at the begining of the month I might see a bad picture of what it may look at the end of the month.

So I'm looking for some beta-hats, or weights for the day/month/day_in_week/holiday.

will be glad to know if there is a proc that will do that.

Thanks in advance

3 REPLIES 3
udo_sas
SAS Employee

Hello -

Given your description you may want to check out either ARIMA or UCM of SAS/ETS software.

Thanks,

Udo

Liat
Calcite | Level 5

Thanks for your answer. But the arima proc will give me the actual volume (by the forcast stament) and I only want to know the weighs of the day+month+year+ day in week+ holiday, so  I can put into them my wish/ wanted volume for the future.

So the weights has to be precentage or somthing like that.

For example if I will know that Sunday has influence of 10% and my wish volume for the week is 400 and my actual volume on that Sunday was only 35 I know my volume for that day is not good. I hope I cleard myself better this time.

Thanks,

udo_sas
SAS Employee

Hello -

Both ARIMA and UCM will not only give you forecasted values, but much more.

A nice feature of UCM is that it can "decompose" forecasts into their components - which will allow you to do the "what-if" type of scenario you are talking about.

Below you will find an example - hope this helps.

Thanks,

Udo

*first create future values for the masonry variable of sashelp.workers;

proc esm data=sashelp.workers out=masonry plot=forecasts;

id date interval=month;

forecast masonry / method=winters;

run;

*merge the 2 new data sets - note that for masonry it features forecasted values, which you can change later to assess the impact;

data total;

merge sashelp.workers(drop=masonry) masonry;

by date;

run;

*run UCM with mansonry, irregular and level (which is also called trend in UCM) as compoents;

*check out the outfor data set, which features the components of the forecasts;

*outest features the parameter estimates;

proc ucm data=total plots=smooth(decomp);

   id date interval=month;

   model electric=masonry;

   irregular;

   level;

   estimate outest=outest;

   forecast lead=12 outfor=outfor;

run;

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

Discussion stats
  • 3 replies
  • 1840 views
  • 0 likes
  • 2 in conversation