X-13ARIMA-SEATS is a seasonal adjustment program developed and maintained by the U.S. Census Bureau.

- formula
Decomposition specification.

- ...
Other arguments passed to

`seasonal::seas()`

.- na.action
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.- defaults
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.
#> # … with 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 seaso…¹ irreg…² seaso…³
#> <chr> <qtr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 "X_13ARIMA_SEATS(Beer ~ transfor… 1956 Q1 284 272. 6.36 5.66 278.
#> 2 "X_13ARIMA_SEATS(Beer ~ transfor… 1956 Q2 213 255. -35.7 -6.71 249.
#> 3 "X_13ARIMA_SEATS(Beer ~ transfor… 1956 Q3 227 249. -23.7 1.62 251.
#> 4 "X_13ARIMA_SEATS(Beer ~ transfor… 1956 Q4 308 252. 53.0 2.56 255.
#> 5 "X_13ARIMA_SEATS(Beer ~ transfor… 1957 Q1 262 257. 6.69 -2.18 255.
#> 6 "X_13ARIMA_SEATS(Beer ~ transfor… 1957 Q2 228 261. -36.4 3.92 264.
#> 7 "X_13ARIMA_SEATS(Beer ~ transfor… 1957 Q3 236 263. -22.8 -4.00 259.
#> 8 "X_13ARIMA_SEATS(Beer ~ transfor… 1957 Q4 320 265. 52.3 2.25 268.
#> 9 "X_13ARIMA_SEATS(Beer ~ transfor… 1958 Q1 272 267. 7.11 -1.94 265.
#> 10 "X_13ARIMA_SEATS(Beer ~ transfor… 1958 Q2 233 266. -37.3 4.00 270.
#> # … with 208 more rows, and abbreviated variable names ¹seasonal, ²irregular,
#> # ³season_adjust
# }
```