Compute Exponential Weighted Moving Average.

ewmaSmooth(x, y, lambda = 0.2, start, ...)

Arguments

x

a vector of x-values.

y

a vector of y-values.

lambda

the smoothing parameter.

start

the starting value.

...

additional arguments (currently not used).

Details

EWMA function smooths a series of data based on a moving average with weights which decay exponentially.

For each \(y_t\) value the smoothed value is computed as $$z_t = \lambda y_t + (1-\lambda) z_{t-1}$$ where \(0 \le \lambda \le 1\) is the parameter which controls the weights applied.

Value

Returns a list with elements:

x

ordered x-values

y

smoothed y-values

lambda

the smoothing parameter

start

the starting value

References

Montgomery, D.C. (2013) Introduction to Statistical Quality Control, 7th ed. New York: John Wiley & Sons.

Wetherill, G.B. and Brown, D.W. (1991) Statistical Process Control. New York: Chapman & Hall.

Author

Luca Scrucca

See also

Examples

x <- 1:50
y <- rnorm(50, sin(x/5), 0.5)
plot(x,y)
lines(ewmaSmooth(x,y,lambda=0.1), col="red")