Learn R Programming

tsdecomp (version 0.2)

ARIMAdec: ARIMA-Model-Based Decomposition of Time Series

Description

This is the main function for the ARIMA-model-based decomposition of a time series.

Usage

ARIMAdec(x, mod, width = c(0.035, 0.035), min.modulus = 0.4, extend = 16, drift = FALSE, optim.tol = 1e-04, ...) "print"(x, units = c("radians", "degrees", "pi"), digits = 4, ...) "plot"(x, ...)

Arguments

x
for ARIMAdec, a univariate time series; for plot.ARIMAdec and print.ARIMAdec, an object of class ARIMAdec returned by ARIMAdec.
mod
an object of class Arima. See arima.
width
numeric of length two, width of the interval of frequencies allocated to the trend and the seasonal components (measured in radians). If a numeric of length one is passed as argument, the same width is used for both components. See roots.allocation.
min.modulus
numeric, minimum modulus of the roots assigned to the trend component. See roots.allocation.
extend
integer; if greater than zero, the series is extended by means of forecasts and backcasts based on the fitted model mod. See filtering.
drift
logical, if TRUE the intercept in the fitted model mod or an external regressor named "drift" is treated as a deterministic linear trend. See filtering.
optim.tol
numeric, the convergence tolerance to be used by optimize.
units
character, the units in which the argument of the roots are printed. units="pi" prints the argument in radians as multiples of $pi$.
digits
numeric, the number of significant digits to be used by print.
...
further arguments to be passed to poly2acgf or to plot.tsdecFilter and print methods.

Value

An object of class ARIMAdec containing the following: 1) ar: the output from {roots.allocation}, 2) spectrum: the output from {pseudo.spectrum}, 3) ma: the output from {canonical.decomposition}, 4) xextended: the series extended with backcasts and forecasts (if extend > 0), 5) filters: the filters returned by {filtering}, 6) components: the estimated components returned by {filtering}.

Details

This function is a wrapper to the sequence of calls to roots.allocation, pseudo.spectrum, canonical.decomposition and filtering.

References

Burman, J. P. (1980) ‘Seasonal Adjustment by Signal Extraction’. Journal of the Royal Statistical Society. Series A (General), 143(3), pp. 321-337. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("#1")}10.2307/2982132http://doi.org/10.2307/2982132doi:\ifelse{latex}{\out{~}}{ }latex~ 10.2307/2982132

Hillmer, S. C. and Tiao, G. C. (1982) ‘An ARIMA-Model-Based Approach to Seasonal Adjustment’. Journal of the American Statistical Association, 77(377), pp. 63-70. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("#1")}10.1080/01621459.1982.10477767http://doi.org/10.1080/01621459.1982.10477767doi:\ifelse{latex}{\out{~}}{ }latex~ 10.1080/01621459.1982.10477767

See Also

canonical.decomposition, filtering, pseudo.spectrum, roots.allocation.

Examples

Run this code
# Airlines model and monthly data
y <- log(AirPassengers)
fit <- arima(y, order=c(0,1,1), seasonal=list(order=c(0,1,1)))
dec <- ARIMAdec(y, fit, extend=72)
dec
plot(dec)

# JohnsonJohnson quarterly data
y <- log(JohnsonJohnson)
fit <- arima(y, order=c(0,1,1), seasonal=list(order=c(0,1,1)))
dec <- ARIMAdec(y, fit, extend=16)
dec
plot(dec)

# Nile annual data
# this series is better modelled as a level shift at 
# observation 29 and a mean (no ARMA structure),
# here the shift is ignored for illustration of the 
# decomposition of the fitted ARIMA(0,1,1) model
y <- Nile
fit <- arima(y, order=c(0,1,1))
dec <- ARIMAdec(y, fit, extend=72)
dec
plot(dec, overlap.trend=TRUE, args.trend=list(col="blue"))

Run the code above in your browser using DataLab