seas {seasonal} | R Documentation |
Seasonal Adjustment with X-13ARIMA-SEATS
Description
Main function of the seasonal package. With the default options,
seas
calls the automatic procedures of X-13ARIMA-SEATS to perform a
seasonal adjustment that works well in most circumstances. Via the ...
argument, it is possible to invoke almost all options that are available in
X-13ARIMA-SEATS (see details). The default options of seas
are listed
as explicit arguments and are discussed in the arguments section. A
full-featured graphical user interface can be accessed by the
view()
function.
Usage
seas(
x = NULL,
xreg = NULL,
xtrans = NULL,
seats.noadmiss = "yes",
transform.function = "auto",
regression.aictest = c("td", "easter"),
outlier = "",
automdl = "",
composite = NULL,
na.action = na.omit,
out = FALSE,
dir = NULL,
multimode = c("x13", "R"),
...,
list = NULL
)
Arguments
x |
object of class |
xreg |
(optional) object of class |
xtrans |
(optional) object of class |
seats.noadmiss |
spec 'seats' with argument |
transform.function |
spec |
regression.aictest |
spec |
outlier |
spec |
automdl |
spec |
composite |
spec |
na.action |
a function which indicates what should happen when the data
contain NAs. |
out |
logical. Should the X-13ARIMA-SEATS standard output be saved in
the |
dir |
character string with a user defined file path. If specified, the X-13ARIMA-SEATS output files are copied to this folder. Useful for debugging. |
multimode |
one of |
... |
additional spec-arguments options sent to X-13ARIMA-SEATS (see details). |
list |
a named list with additional spec-arguments options. This is an
alternative to the |
Details
It is possible to use the almost complete syntax of X-13ARIMA-SEAT via the
...
argument. The syntax of X-13ARIMA-SEATS uses specs and
arguments, and each spec optionally contains some arguments. In
seas
, an additional spec-argument can be added by separating spec and
argument by a dot (.
) (see examples). Alternatively, spec-argument
combinations can be supplied as a named list, which is useful for
programming.
Similarly, the series()
function can be used to read almost all
series from X-13ARIMA-SEATS. The udg()
function provides access
to a large number of diagnostical statistics.
For a more extensive description, consider vignette("seas")
or the wiki page,
which contains replications of almost all examples from the official
X-13ARIMA-SEATS manual.
Value
returns an object of class "seas"
, essentially a list with the
following components:
series |
a list containing the output tables of X-13. To be accessed
by the |
data |
seasonally adjusted data, the raw data, the trend component, the irregular component and the seasonal component (deprecated). |
err |
warning messages from X-13ARIMA-SEATS |
udg |
content of the |
est |
content of the |
model |
list with the model specification,
similar to |
fivebestmdl |
Best Five ARIMA Models (unparsed) |
x |
input series |
spc |
object of class |
call |
function call |
wdir |
temporary directory in which X-13ARIMA-SEATS has been run |
The final
function returns the final adjusted series, the
plot
method shows a plot with the unadjusted and the adjusted
series. summary
gives an overview of the regARIMA model. The
udg()
function returns diagnostical statistics.
References
Sax C, Eddelbuettel D (2018). "Seasonal Adjustment by X-13ARIMA-SEATS in R." Journal of Statistical Software, 87(11), 1-17. doi: 10.18637/jss.v087.i11.
On-Line Interface to seasonal http://www.seasonal.website
Comprehensive list of R examples from the X-13ARIMA-SEATS manual: http://www.seasonal.website/examples.html
Official X-13ARIMA-SEATS manual: https://www2.census.gov/software/x-13arima-seats/x13as/windows/documentation/docx13as.pdf
See Also
view()
, for accessing the graphical user interface.
update.seas()
, to update an existing "seas"
model.
static()
, to return the 'static' call, with automated
procedures substituted by their choices.
series()
, for universal X-13 table series import.
out()
, to view the full X-13 diagnostical output.
Examples
# Basic call
m <- seas(AirPassengers)
summary(m)
# Graphical user interface
## Not run:
view(m)
## End(Not run)
# invoke X-13ARIMA-SEATS options as 'spec.argument' through the ... argument
# (consult the X-13ARIMA-SEATS manual for many more options and the list of
# R examples for more examples)
seas(AirPassengers, regression.aictest = c("td")) # no easter testing
seas(AirPassengers, force.type = "denton") # force equality of annual values
seas(AirPassengers, x11 = "") # use x11, overrides the 'seats' spec
# 'spec.argument' combinations can also be supplied as a named list, which is
# useful for programming
seas(AirPassengers, list = list(regression.aictest = c("td"), outlier = NULL))
# constructing the list step by step
ll <- list()
ll[["x"]] <- AirPassengers
ll[["regression.aictest"]] <- "td"
ll["outlier"] <- list(NULL) # assigning NULL to a list using single brackets
seas(list = ll)
# options can be entered as vectors
seas(AirPassengers, regression.variables = c("td1coef", "easter[1]"))
seas(AirPassengers, arima.model = c(0, 1, 1, 0, 1, 1))
seas(AirPassengers, arima.model = "(0 1 1)(0 1 1)") # equivalent
# turn off the automatic procedures
seas(AirPassengers, regression.variables = c("td1coef", "easter[1]",
"ao1951.May"), arima.model = "(0 1 1)(0 1 1)", regression.aictest = NULL,
outlier = NULL, transform.function = "log")
# static replication of 'm <- seas(AirPassengers)'
static(m) # this also tests the equivalence of the static call
static(m, test = FALSE) # no testing (much faster)
static(m, coef = TRUE) # also fixes the coefficients
# updating an existing model
update(m, x11 = "")
# specific extractor functions
final(m)
predict(m) # equivalent
original(m)
resid(m)
coef(m)
fivebestmdl(m)
spc(m) # the .spc input file to X-13 (for debugging)
# universal extractor function for any X-13ARIMA-SEATS output (see ?series)
series(m, "forecast.forecasts")
# user defined regressors (see ?genhol for more examples)
# a temporary level shift in R base
tls <- ts(0, start = 1949, end = 1965, freq = 12)
window(tls, start = c(1955, 1), end = c(1957, 12)) <- 1
seas(AirPassengers, xreg = tls, outlier = NULL)
# identical to a X-13ARIMA-SEATS specification of the the level shift
seas(AirPassengers, regression.variables = c("tl1955.01-1957.12"),
outlier = NULL)
# forecasting an annual series without seasonal adjustment
m <- seas(airmiles, seats = NULL, regression.aictest = NULL)
series(m, "forecast.forecasts")
# NA handling
AirPassengersNA <- window(AirPassengers, end = 1962, extend = TRUE)
final(seas(AirPassengersNA, na.action = na.omit)) # no NA in final series
final(seas(AirPassengersNA, na.action = na.exclude)) # NA in final series
# final(seas(AirPassengersNA, na.action = na.fail)) # fails
# NA handling by X-13 (works with internal NAs)
AirPassengersNA[20] <- NA
final(seas(AirPassengersNA, na.action = na.x13))
## performing 'composite' adjustment
seas(
cbind(mdeaths, fdeaths),
composite = list(),
series.comptype = "add"
)