I was wondering if there's a rule of thumb regarding the value of alpha used when performing exponential smoothing. I plan to use this technique to preprocess my data before feeding them into my machine learning algorithm.
Here is the answer given by Wikipedia:
The time constant of an exponential moving average is the amount of time for the smoothed response of a unit set function to reach ${\displaystyle 1-1/e\approx 63.2\,\%}$ of the original signal. The relationship between this time constant, ${\displaystyle \tau } $ , and the smoothing factor, ${\displaystyle > \alpha }$, is given by the formula:
${\displaystyle \alpha =1-e^{-\Delta T \over \tau }}$
Where ${\displaystyle \Delta T}$ is the sampling time interval of the discrete time implementation. If the sampling time is fast compared to the time constant then ${\displaystyle \alpha \ \approx {\frac{\Delta T}{\tau} }}$.
This canonical approach is fine, but I find it fairly inefficient because:
- taking the double and triple EMAs is redundant; it is essentially equal to using a lower alpha value;
- The weights of terms only converge to one; i.e., $\sum w \ne 1$; and
- Estimating initial parameters requires significant amount of recursion.
I therefore propose the following method: Is there a non-recursive way of calculating the exponential moving average?