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.
Please include your code and log.
Can you post your reference that states the restriction that the first estimate is the lagged value?
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.
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
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!
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.