The theta method of Assimakopoulos and Nikolopoulos (2000) is equivalent to simple exponential smoothing with drift. This is demonstrated in Hyndman and Billah (2003).
THETA(formula, ...)
A model specification.
The series is tested for seasonality using the test outlined in A&N. If deemed seasonal, the series is seasonally adjusted using a classical multiplicative decomposition before applying the theta method. The resulting forecasts are then reseasonalized.
More general theta methods are available in the forecTheta package.
The season
special is used to specify the parameters of the seasonal adjustment via classical decomposition.
season(period = NULL, method = c("multiplicative", "additive"))
period | The periodic nature of the seasonality. This can be either a number indicating the number of observations in each seasonal period, or text to indicate the duration of the seasonal window (for example, annual seasonality would be "1 year"). |
method | The type of classical decomposition to apply. The original Theta method always used multiplicative seasonal decomposition, and so this is the default. |
Assimakopoulos, V. and Nikolopoulos, K. (2000). The theta model: a decomposition approach to forecasting. International Journal of Forecasting 16, 521-530.
Hyndman, R.J., and Billah, B. (2003) Unmasking the Theta method. International J. Forecasting, 19, 287-290.
# Theta method with transform
deaths <- as_tsibble(USAccDeaths)
deaths %>%
model(theta = THETA(log(value))) %>%
forecast(h = "4 years") %>%
autoplot(deaths)
# Compare seasonal specifications
library(tsibbledata)
library(dplyr)
aus_retail %>%
filter(Industry == "Clothing retailing") %>%
model(theta_multiplicative = THETA(Turnover ~ season(method = "multiplicative")),
theta_additive = THETA(Turnover ~ season(method = "additive"))) %>%
accuracy()
#> # A tibble: 16 × 12
#> State Industry .model .type ME RMSE MAE MPE MAPE MASE RMSSE
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 Austral… Clothin… theta… Trai… 0.0732 0.889 0.646 0.288 5.80 0.511 0.508
#> 2 Austral… Clothin… theta… Trai… 0.168 1.52 1.03 1.76 10.4 0.812 0.871
#> 3 New Sou… Clothin… theta… Trai… 2.49 14.1 10.3 0.688 4.16 0.551 0.576
#> 4 New Sou… Clothin… theta… Trai… 4.74 28.0 17.5 2.13 7.38 0.932 1.15
#> 5 Norther… Clothin… theta… Trai… 0.0266 0.422 0.320 0.225 5.67 0.417 0.418
#> 6 Norther… Clothin… theta… Trai… 0.0324 0.506 0.393 0.415 7.60 0.512 0.501
#> 7 Queensl… Clothin… theta… Trai… 1.12 9.01 6.13 0.612 4.75 0.497 0.539
#> 8 Queensl… Clothin… theta… Trai… 1.70 16.3 10.8 2.09 10.9 0.874 0.978
#> 9 South A… Clothin… theta… Trai… 0.167 2.95 2.01 0.0804 5.27 0.400 0.406
#> 10 South A… Clothin… theta… Trai… 0.245 4.51 2.96 0.590 7.89 0.591 0.621
#> 11 Tasmania Clothin… theta… Trai… 0.0485 1.28 0.861 -0.0436 6.18 0.505 0.470
#> 12 Tasmania Clothin… theta… Trai… 0.0780 1.77 1.06 0.561 7.36 0.620 0.649
#> 13 Victoria Clothin… theta… Trai… 1.48 10.5 7.75 0.465 4.22 0.476 0.473
#> 14 Victoria Clothin… theta… Trai… 2.89 20.9 13.8 1.54 7.37 0.845 0.939
#> 15 Western… Clothin… theta… Trai… 0.323 3.82 2.78 0.362 4.49 0.455 0.481
#> 16 Western… Clothin… theta… Trai… 0.559 6.44 4.56 1.28 8.13 0.746 0.812
#> # ℹ 1 more variable: ACF1 <dbl>