BookmarkSubscribeRSS Feed
WhiteSalmon
Calcite | Level 5

What are the options, if any, for smoothing and transforming in proc ESM or should we be utilizing proc expand for this in advance?

Thanks in advance!

3 REPLIES 3
udo_sas
SAS Employee

Hello -

PROC ESM provides functionality for transforming time stamped data into time series data, the main purpose of ESM is to create optimized exponential smoothing models, though.

PROC EXPAND on the other hand is designed to transform data from one time series format to another, however it allows also to create simplistic forecasting models like moving averages for example.

Can you provide more details on what you are trying to accomplish?

Thanks,

Udo

WhiteSalmon
Calcite | Level 5

Good question. What am I trying to accomplish? I’m trying to figure out what SAS procs I need.

I think just learning what SAS procedures are and do and what a site has is an iterative process, like modeling is. :smileymischief:

Kinda like data mining too...    Reviewing my ETS on SAS v 9.1.3 on NT and v 9.2 on Unix and also EM 6.1 on Unix is an adventure.  

I want to forecast up to 90 time series of non transactional data, now for the past 3 years. Forecast maybe a month or two ahead. Nothing missing. Proc Expand seems to be necessary for interpolation of missing data  and other procs handle different interval manipulation I think.

My data comes from some daily input system that appears to have a ‘seasonal’ ie, end of month large dump of data. No regressors. 

I just found Proc SGPlot (v 9.2 necessary) gives nice plots of multiple series and it has a nice group option.

Right now it looks like Proc Timeseries on SAS 9.2 gives the easiest ways to look at seasons cycles and trends. 

Proc ESM gives some estimates of about 6 types of smoothing models. It appears to not need any Proc Timeseries data as input, but I need to investigate. So far I haven’t  got very good results.

I was hoping EM 6.2 might have a nice way to pick the right models but I seem to have only the timeseries module which I now see is probably just Proc Timeseries. I think I would need proc HPF do actually forecast and that is a separate product from ETS procs I think.

How am I doing?

udo_sas
SAS Employee

Hello -

Please excuse for the delay in responding...

Yes, forecasting is similar to data mining in a sense that it is a iterative process as well.

In your case I would think that you can use PROC ESM to come up with seasonal forecasts, without the need of PROC TIMESERIES. Actually, when you check out the ID statements of both procedures you will find a lot of similar options - for example how to treat missing values. In my opinion you should consider combining TIMESERIES and ESM if you want to modify the original data permanently. Otherwise just ESM should be fine in your case.

BTW: did you explore the ODS capabilities of TIMESERIES? It allows you to explore you data graphically without the need of running SGPLOT - unless desired of course.

With regards to the seasonality pattern: if you data is let's say daily, then the default seasonal cycle is 7. A daily seasonal model will not be able to pick out the end of month spike. Instead you might want to aggregate your data to weekly level and see if the end of month seasonal cycle gets picked up by the models. Alternatively you might consider seasonal dummies or more advanced transfer models which are available in either ARIMA or UCM.

EM 7.1 featues a new experimental node which runs ESM in addition to the existing time series node which runs TIMESERIES. PROC HPF is part of SAS Forecast Server (amongst many other things).

Hope this helps.

Udo

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

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