BookmarkSubscribeRSS Feed
srishti
Calcite | Level 5

We want to implement simple exponential smoothing model  to minimize mean square error by optimizing smoothing weights.

 

We are using proc ESM for the same. The formula used for forecasting the values is :

 

Ft+1 = αYt+ (1-α) Ft                                 

 

Ft+1=    forecast for the next period

α     =    smoothing constant

Yt=   observed value of series in period t (default rate)

Ft=    old forecast for period t

 

We have read that in order to start the algorithm the first forecasted value is taken as first actual value i.e. :

 

Ft =Yt

 

where  Ft is forecasted value for first iteration and Yt is the actual value.

 

When we are running the proc esm code , the first forecasted value in output dataset is not equal to the first actual value.

 

Please find the attached excel sheet of Time Series Data :input data and corresponding output data.

 

Level smoothing weight(α ) is taken as :0.6833 (automatically optimized by proc esm) and mean square error comes out to be :0.00264115

 

Please let us know how the first predicted value is being calculated in the output table.

 

 

3 REPLIES 3
Reeza
Super User

Please include your code and log.

 

Can you post your reference that states the restriction that the first estimate is the lagged value? 

 

 

srishti
Calcite | Level 5

CODE:

proc esm data=solver out=p outest=u outstat=h outfor=k lead=1 print=all printdetails; /*solver- name of dataset as given in excel sheet*/

id date interval=year; /*date is date column in dataset*/

forecast ft; /* ft is column in dataset for which we are forecasting values (values same as in excel-sheet)*/

run;

 

There are no errors or warnings  in the log.

 

In the attached pdf it is given to start the algorithm first predicted value is taken as first actual value but after running the code it is not so.

 

udo_sas
SAS Employee

Hello -

Check out "Smoothing State Initialization" here: http://support.sas.com/documentation/cdl/en/etsug/68148/HTML/default/viewer.htm#etsug_tffordet_sect0...

As you already noticed ESM does not go for the approach you described.

Thanks,

Udo

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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
  • 1839 views
  • 0 likes
  • 3 in conversation