In searching for the best solution, I think it's good to have a review of different smoothing techniques.
Simple moving average
st=1kk−1∑n=0xt−n=xt+xt−1+...+xt−k+1k=st−1+xt−xt−kk
- Disadvantage: cannot be used on the first k-1 terms.
Weighted moving average
Give more weight to the recent terms in the time series.
- Disadvantage: same as the simple moving average method, it cannot be used on the first k-1 terms. It also requires more complicated calculation at each step as it cannot be written as a inductive formula.
Exponential moving average
s1=x0
st=αxt−1+(1−α)st−1
Exponential smoothing and moving average smoothing are similar in that they both assume a stationary, not trending, time series, therefore lagging behind the trend if one exists. Exponential smoothing also take into account all past data, whereas moving average only takes into account k past data points.
Exponential smoothing and moving average smoothing are similar in that they both assume a stationary, not trending, time series, therefore lagging behind the trend if one exists. Exponential smoothing also take into account all past data, whereas moving average only takes into account k past data points.
Double exponential smoothing
Double exponential smoothing can be used when there is a trend in the data.
Let {xt} be the raw data sequence, {st} be the smoothed value for time t, and {bt} be the best estimate of the trend at time t. The output of the algorithm is now written as Ft+m. The formulae are:
And for t>1
s1=x0
b1=x1−x0
And for t>1
st=αxt+(1−α)(st−1+bt−1)
bt=β(st−st−1)+(1−β)bt−1
where α is the smoothing factor, 0<α<1, and β is the trend smoothing factor, 0<β<1.
No comments :
Post a Comment