Learn R Programming

aTSA (version 3.1.2.1)

Holt: Holt's Two-parameter Exponential Smoothing

Description

Performs Holt's two-parameter exponential smoothing for linear trend or damped trend.

Usage

Holt(x, type = c("additive", "multiplicative"), alpha = 0.2,
  beta = 0.1057, lead = 0, damped = FALSE, phi = 0.98, plot = TRUE)

Value

A list with class "Holt" containing the following components:

estimate

the estimate values.

alpha

the smoothing parameter used for level.

beta

the smoothing parameter used for trend.

phi

the smoothing parameter used for damped trend.

pred

the predicted values, only available for lead > 0.

accurate

the accurate measurements.

Arguments

x

a numeric vector or univariate time series.

type

the type of interaction between the level and the linear trend. See details.

alpha

the parameter for the level smoothing. The default is 0.2.

beta

the parameter for the trend smoothing. The default is 0.1057.

lead

the number of steps ahead for which prediction is required. The default is 0.

damped

a logical value indicating a damped trend. See details. The default is FALSE.

phi

a smoothing parameter for damped trend. The default is 0.98, only valid for damped = TRUE.

plot

a logical value indicating to print the plot of original data v.s smoothed data. The default is TRUE.

Author

Debin Qiu

Details

Holt's two parameter is used to forecast a time series with trend, but wihtout seasonal pattern. For the additive model (type = "additive"), the \(h\)-step-ahead forecast is given by \(hat{x}[t+h|t] = level[t] + h*b[t]\), where $$level[t] = \alpha *x[t] + (1-\alpha)*(b[t-1] + level[t-1]),$$ $$b[t] = \beta*(level[t] - level[t-1]) + (1-\beta)*b[t-1],$$ in which \(b[t]\) is the trend component. For the multiplicative (type = "multiplicative") model, the \(h\)-step-ahead forecast is given by \(hat{x}[t+h|t] = level[t] + h*b[t]\), where $$level[t] = \alpha *x[t] + (1-\alpha)*(b[t-1] * level[t-1]),$$ $$b[t] = \beta*(level[t] / level[t-1]) + (1-\beta)*b[t-1].$$

Compared with the Holt's linear trend that displays a constant increasing or decreasing, the damped trend generated by exponential smoothing method shows a exponential growth or decline, which is a situation between simple exponential smoothing (with 0 increasing or decreasing rate) and Holt's two-parameter smoothing. If damped = TRUE, the additive model becomes $$hat{x}[t+h|t] = level[t] + (\phi + \phi^{2} + ... + \phi^{h})*b[t],$$ $$level[t] = \alpha *x[t] + (1-\alpha)*(\phi*b[t-1] + level[t-1]),$$ $$b[t] = \beta*(level[t] - level[t-1]) + (1-\beta)*\phi*b[t-1].$$ The multiplicative model becomes $$hat{x}[t+h|t] = level[t] *b[t]^(\phi + \phi^{2} + ... + \phi^{h}),$$ $$level[t] = \alpha *x[t] + (1-\alpha)*(b[t-1]^{\phi} * level[t-1]),$$ $$b[t] = \beta*(level[t] / level[t-1]) + (1-\beta)*b[t-1]^{\phi}.$$ See Chapter 7.4 for more details in R. J. Hyndman and G. Athanasopoulos (2013).

References

R. J. Hyndman and G. Athanasopoulos, "Forecasting: principles and practice," 2013. [Online]. Available: http://otexts.org/fpp/.

See Also

HoltWinters, expsmooth, Winters

Examples

Run this code
x <- (1:100)/100
y <- 2 + 1.2*x + rnorm(100)

ho0 <- Holt(y) # with additive interaction
ho1 <- Holt(y,damped = TRUE) # with damped trend

# multiplicative model for AirPassengers data,
# although seasonal pattern exists.
ho2 <- Holt(AirPassengers,type = "multiplicative")

Run the code above in your browser using DataLab