X-13ARIMA-SEATS is a seasonal adjustment program developed and maintained by the U.S. Census Bureau.
Decomposition specification.
Other arguments passed to seasonal::seas()
.
a function which indicates what should happen when the data
contain NAs. na.omit
(default), na.exclude
or na.fail
.
If na.action = na.x13
, NA handling is done by X-13, i.e. NA values
are substituted by -99999.
If defaults="seasonal", the default options of
seasonal::seas()
will be used, which should work well in most
circumstances. Setting defaults="none" gives an empty model specification,
which can be added to in the model formula.
The SEATS decomposition method stands for "Seasonal
Extraction in ARIMA Time Series", and is the default method for seasonally
adjusting the data. This decomposition method can extract seasonality from
data with seasonal periods of 2 (biannual), 4 (quarterly), 6 (bimonthly),
and 12 (monthly). This method is specified using the seats()
function in
the model formula.
Alternatively, the seasonal adjustment can be done using an enhanced X-11
decomposition method. The X-11 method uses weighted averages over a moving
window of the time series. This is used in combination with the RegARIMA
model to prepare the data for decomposition. To use the X-11 decomposition
method, the x11()
function can be used in the model formula.
The specials of the X-13ARIMA-SEATS model closely follow the individual specification options of the original function. Refer to Chapter 7 of the X-13ARIMA-SEATS Reference Manual for full details of the arguments.
The available specials for this model are:
#'
The arima
special is used to specify the ARIMA part of the regARIMA model.
This defines a pure ARIMA model if the regression()
special absent and if
no exogenous regressors are specified. The lags of the ARIMA model can be
specified in the model
argument, potentially along with ar
and ma
coefficients.
arima(...)
... | Arguments described in the reference manual linked below. |
The automdl
special is used to specify the ARIMA part of the regARIMA
model will be sought using an automatic model selection procedure
derived from the one used by TRAMO (see Gomez and Maravall (2001a)). The
maximum order of lags and differencing can be specified using maxorder
and
maxdiff
arguments. Models containing mixtures of AR and MA components can
be allowed or disallowed using the mixed
argument.
automdl(...)
... | Arguments described in the reference manual linked below. |
The check
special is used to produce statistics for diagnostic checking of
residuals from the estimated model. The computed statistics include ACF and
PACF of residuals, along with some statistical tests. These calculations are
included in the model object, but difficult to access. It is recommended that
these checks are done in R after estimating the model, and that this special
is not used.
check(...)
... | Arguments described in the reference manual linked below. |
The estimate
special is used to specify optimisation parameters and
estimation options for the regARIMA model specified by the regression()
and arima()
specials. Among other options, the tolerance can be set with
tol
, and maximum iterations can be set with maxiter
.
estimate(...)
... | Arguments described in the reference manual linked below. |
The force
is an optional special for invoking options that allow users to
force yearly totals of the seasonally adjusted series to equal those of the
original series for convenience.
force(...)
... | Arguments described in the reference manual linked below. |
The forecast
special is used to specify options for forecasting and/or
backcasting the time series using the estimated model. This process is used
to enhance the decomposition procedure, especially its performance at the
start and end of the series. The number of forecasts to produce is specified
in the maxlead
argument, and the number of backcasts in the maxback
argument.
forecast(...)
... | Arguments described in the reference manual linked below. |
The history
special is an optional special for requesting a sequence of
runs from a sequence of truncated versions of the time series. Using this
special can substantially slow down the program.
history(...)
... | Arguments described in the reference manual linked below. |
The metadata
special is used to insert metadata into the diagnostic summary
file. This is typically not needed when interacting with the program via R.
metadata(...)
... | Arguments described in the reference manual linked below. |
The identify
special is used to produce tables and line printer plots of
sample ACFs and PACFs for identifying the ARIMA part of a regARIMA model.
identify(...)
... | Arguments described in the reference manual linked below. |
The outlier
special is used to perform automatic detection of additive
(point) outliers, temporary change outliers, level shifts, or any combination
of the three using the specified model. The seasonal::seas()
defaults used
when defaults="seasonal"
will include the default automatic detection of
outliers.
outlier(...)
... | Arguments described in the reference manual linked below. |
The pickmdl
special is used to specify the ARIMA part of the regARIMA
model will be sought using an automatic model selectionprocedure
similar to the one used by X-11-ARIMA/88 (see Dagum 1988).
pickmdl(...)
... | Arguments described in the reference manual linked below. |
The regression
special is used to specify including regression variables
in a regARIMA model, or for specifying regression variables whose
effects are to be removed by the identify()
special to aid ARIMA model
identification. Any exogenous regressors specified in the model formula will
be passed into this specification via the user
and data
arguments. The
seasonal::seas()
defaults used when defaults="seasonal"
will set
aictest = c("td", "easter")
, indicating that trading days and Easter
effects will be included conditional on AIC-based selection methods.
regression(...)
... | Arguments described in the reference manual linked below. |
The seats
special is optionally used to invoke the production of model
based signal extraction using SEATS, a seasonal adjustment program developed
by Victor Gomez and Agustin Maravall at the Bank of Spain.
seats(...)
... | Arguments described in the reference manual linked below. |
The optional slidingspans
special is to provide sliding spans stability
analysis on the model. These compare different features of seasonal
adjustment output from overlapping subspans of the time series data.
slidingspans(...)
... | Arguments described in the reference manual linked below. |
The optional spectrum
special is used to provide a choice between two
spectrum diagnostics to detect seasonality or trading day effects in
monthly series.
spectrum(...)
... | Arguments described in the reference manual linked below. |
The transform
special is used to transform or adjust the series prior to
estimating a regARIMA model. This is comparable to transforming the response
on the formula's left hand side, but offers X-13ARIMA-SEATS specific
adjustment options.
transform(...)
... | Arguments described in the reference manual linked below. |
The optional x11
special is used to invoke seasonal adjustment by
an enhanced version of the methodology of the Census Bureau X-11 and X-11Q
programs. The user can control the type of seasonal adjustment decomposition
calculated (mode
), the seasonal and trend moving averages used
(seasonalma
and trendma
), and the type of extreme value adjustment
performed during seasonal adjustment (sigmalim
).
x11(...)
... | Arguments described in the reference manual linked below. |
The x11regression
special is used in conjunction with the x11()
special
for series without missing observations. This special estimates calendar
effects by regression modeling of the irregular component with predefined or
user-defined regressors. Any exogenous regressors specified in the model
formula will be passed into this specification via the user
and data
arguments.
x11regression(...)
... | Arguments described in the reference manual linked below. |
Gomez, Victor, and Agustin Maravall. "Automatic modeling methods for univariate series." A course in time series analysis (2001): 171-201.
Dagum, E.B. (1988), The X11 ARIMA/88 Seasonal Adjustment Method - Foundations And User’s Manual, Time Series Research and Analysis Division Statistics Canada, Ottawa.
Dagum, E. B., & Bianconcini, S. (2016) "Seasonal adjustment methods and real time trend-cycle estimation". Springer.
X-13ARIMA-SEATS Documentation from the seasonal package's website: http://www.seasonal.website/seasonal.html
Official X-13ARIMA-SEATS manual: https://www2.census.gov/software/x-13arima-seats/x13as/windows/documentation/docx13as.pdf
# \donttest{
fit <- tsibbledata::aus_production %>%
model(X_13ARIMA_SEATS(Beer))
#> Model used in SEATS is different: (0 1 1)(0 1 1)
report(fit)
#> Series: Beer
#> Model: X-13ARIMA-SEATS
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> MA-Nonseasonal-01 0.96503 0.06307 15.301 < 2e-16 ***
#> MA-Nonseasonal-02 -0.34105 0.06362 -5.361 8.28e-08 ***
#> MA-Seasonal-04 0.77186 0.04380 17.621 < 2e-16 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> SEATS adj. ARIMA: (0 1 2)(0 1 1) Obs.: 218 Transform: log
#> AICc: 1748, BIC: 1761 QS (no seasonality in final): 0
#> Box-Ljung (no autocorr.): 16.09 Shapiro (normality): 0.994
#> Messages generated by X-13:
#> Notes:
#> - Model used for SEATS decomposition is different from the model
#> estimated in the regARIMA modeling module of X-13ARIMA-SEATS.
#>
components(fit)
#> # A dable: 218 x 7 [1Q]
#> # Key: .model [1]
#> # : Beer = f(trend, seasonal, irregular)
#> .model Quarter Beer trend seasonal irregular season_adjust
#> <chr> <qtr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 X_13ARIMA_SEATS(Beer) 1956 Q1 284 255. 1.05 1.06 271.
#> 2 X_13ARIMA_SEATS(Beer) 1956 Q2 213 255. 0.860 0.970 248.
#> 3 X_13ARIMA_SEATS(Beer) 1956 Q3 227 256. 0.912 0.973 249.
#> 4 X_13ARIMA_SEATS(Beer) 1956 Q4 308 257. 1.19 1.01 258.
#> 5 X_13ARIMA_SEATS(Beer) 1957 Q1 262 258. 1.04 0.976 251.
#> 6 X_13ARIMA_SEATS(Beer) 1957 Q2 228 259. 0.863 1.02 264.
#> 7 X_13ARIMA_SEATS(Beer) 1957 Q3 236 260. 0.915 0.992 258.
#> 8 X_13ARIMA_SEATS(Beer) 1957 Q4 320 261. 1.19 1.03 268.
#> 9 X_13ARIMA_SEATS(Beer) 1958 Q1 272 262. 1.04 1.00 262.
#> 10 X_13ARIMA_SEATS(Beer) 1958 Q2 233 262. 0.864 1.03 270.
#> # ℹ 208 more rows
# Additive X-11 decomposition
fit <- tsibbledata::aus_production %>%
model(X_13ARIMA_SEATS(Beer ~ transform(`function` = "none") + x11(mode = "add")))
report(fit)
#> Series: Beer
#> Model: X-13ARIMA-SEATS
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> LS1983.1 -38.92679 8.45097 -4.606 4.10e-06 ***
#> MA-Nonseasonal-01 1.01617 0.06401 15.875 < 2e-16 ***
#> MA-Nonseasonal-02 -0.35354 0.06562 -5.388 7.13e-08 ***
#> MA-Seasonal-04 0.73083 0.04917 14.865 < 2e-16 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> X11 adj. ARIMA: (0 1 2)(0 1 1) Obs.: 218 Transform: none
#> AICc: 1764, BIC: 1780 QS (no seasonality in final): 0
#> Box-Ljung (no autocorr.): 13.26 Shapiro (normality): 0.9888 .
components(fit)
#> # A dable: 218 x 7 [1Q]
#> # Key: .model [1]
#> # : Beer = trend + seasonal + irregular
#> .model Quarter Beer trend seasonal irregular season_adjust
#> <chr> <qtr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 "X_13ARIMA_SEATS(Beer ~… 1956 Q1 284 272. 6.36 5.66 278.
#> 2 "X_13ARIMA_SEATS(Beer ~… 1956 Q2 213 255. -35.7 -6.71 249.
#> 3 "X_13ARIMA_SEATS(Beer ~… 1956 Q3 227 249. -23.7 1.62 251.
#> 4 "X_13ARIMA_SEATS(Beer ~… 1956 Q4 308 252. 53.0 2.56 255.
#> 5 "X_13ARIMA_SEATS(Beer ~… 1957 Q1 262 257. 6.69 -2.18 255.
#> 6 "X_13ARIMA_SEATS(Beer ~… 1957 Q2 228 261. -36.4 3.92 264.
#> 7 "X_13ARIMA_SEATS(Beer ~… 1957 Q3 236 263. -22.8 -4.00 259.
#> 8 "X_13ARIMA_SEATS(Beer ~… 1957 Q4 320 265. 52.3 2.25 268.
#> 9 "X_13ARIMA_SEATS(Beer ~… 1958 Q1 272 267. 7.11 -1.94 265.
#> 10 "X_13ARIMA_SEATS(Beer ~… 1958 Q2 233 266. -37.3 4.00 270.
#> # ℹ 208 more rows
# }