02-05-2016 07:54 AM
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. :
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.
02-08-2016 04:40 AM
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)*/
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.
02-05-2016 08:45 AM
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.