Hello;
Since I do not have ETS package licensed, I am trying to use data step in sas to calculate EWMA (Exponential Weighted Moving Average).
Let me give you an example of what I need to calculate EWMA. Assume I have the following dataset:
I want to add two columns named "smoothed" and "forecasted". the first element of the forcasted column is average of the "ILI_Percent", so we have:
the smoothed value of each row is going to be : 0.5 * ILI_Percent [i] + 0.5 * forecasted[i]
and the next value of the forecasted column is equal to the prevouis value of smoothed column: smoothed[i]=forecasted[i+1]
so we are going to have:
I am trying to do the same thing in data step, but I am not sure how can I reach to previous element of a column in data step. I would be appriciate if someone help me with this.
If it's something you calculate, use a retain statement to hold the value in a variable. If it is a value that is already in the dataset, use the lag function.
Art, CEO, AnalystFinder.com
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.