decompose {stats} | R Documentation |
Decompose a time series into seasonal, trend and irregular components using moving averages. Deals with additive or multiplicative seasonal component.
decompose(x, type = c("additive", "multiplicative"), filter = NULL)
x |
A time series. |
type |
The type of seasonal component. Can be abbreviated. |
filter |
A vector of filter coefficients in reverse time order (as for
AR or MA coefficients), used for filtering out the seasonal
component. If |
The additive model used is:
Y_t = T_t + S_t + e_t
The multiplicative model used is:
Y_t = T_t\,S_t\, e_t
The function first determines the trend component using a moving
average (if filter
is NULL
, a symmetric window with equal
weights is used), and removes it from the time series. Then,
the seasonal figure is computed by averaging, for each time unit,
over all periods. The seasonal figure is then centered.
Finally, the error component is determined by
removing trend and seasonal figure (recycled as needed) from the orginal
time series.
An object of class "decomposed.ts"
with following components:
seasonal |
The seasonal component (i.e., the repeated seasonal figure) |
figure |
The estimated seasonal figure only |
trend |
The trend component |
random |
The remainder part |
type |
The value of |
The function stl
provides a much more sophisticated
decomposition.
David Meyer David.Meyer@wu-wien.ac.at
M. Kendall and A. Stuart (1983) The Advanced Theory of Statistics, Vol.3, Griffin, 410–414.
stl
require(graphics)
m <- decompose(co2)
m$figure
plot(m)
## example taken from Kendall/Stuart
x <- c(-50, 175, 149, 214, 247, 237, 225, 329, 729, 809,
530, 489, 540, 457, 195, 176, 337, 239, 128, 102, 232, 429, 3,
98, 43, -141, -77, -13, 125, 361, -45, 184)
x <- ts(x, start = c(1951, 1), end = c(1958, 4), frequency = 4)
m <- decompose(x)
## seasonal figure: 6.25, 8.62, -8.84, -6.03
round(decompose(x)$figure / 10, 2)