Holt: Holt's Two-parameter Exponential Smoothing

View source: R/Holt.R

HoltR Documentation

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)

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.

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).

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.

Note

Missing values are removed before analysis.

Author(s)

Debin Qiu

References

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

See Also

HoltWinters, expsmooth, Winters

Examples

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")

aTSA documentation built on May 29, 2024, 8:50 a.m.