Decompose a time series into seasonal, trend and remainder components.
Seasonal components are estimated iteratively using STL. Multiple seasonal periods are
allowed. The trend component is computed for the last iteration of STL.
Non-seasonal time series are decomposed into trend and remainder only.
In this case, stats::supsmu() is used to estimate the trend.
Optionally, the time series may be Box-Cox transformed before decomposition.
Unlike stats::stl(), mstl is completely automated.
mstl(
x,
lambda = NULL,
biasadj = FALSE,
iterate = 2,
s.window = 7 + 4 * seq(6),
...
)Univariate time series of class msts or ts.
Box-Cox transformation parameter. If lambda = "auto",
then a transformation is automatically selected using BoxCox.lambda.
The transformation is ignored if NULL. Otherwise,
data transformed before model is estimated.
Use adjusted back-transformed mean for Box-Cox
transformations. If transformed data is used to produce forecasts and fitted
values, a regular back transformation will result in median forecasts. If
biasadj is TRUE, an adjustment will be made to produce mean forecasts
and fitted values.
Number of iterations to use to refine the seasonal component.
Seasonal windows to be used in the decompositions. If scalar, the same value is used for all seasonal components. Otherwise, it should be a vector of the same length as the number of seasonal components (or longer).
Other arguments are passed to stats::stl().
library(ggplot2)
mstl(taylor) |> autoplot()
mstl(AirPassengers, lambda = "auto") |> autoplot()
Run the code above in your browser using DataLab