Seasonal Adjustment with X-13ARIMA-SEATS
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.
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
)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 |
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.
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.
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.
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://www.census.gov/ts/x13as/docX13ASHTML.pdf
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.
# 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)
out(m) # the X-13 .out file (see ?out, for details)
# universal extractor function for any X-13ARIMA-SEATS output (see ?series)
series(m, "forecast.forecasts")
# copying the output of X-13 to a user defined directory
seas(AirPassengers, dir = "~/mydir")
# 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"
)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.