s_semiarma {deseats}R Documentation

Fitting of a Seasonal Semiparametric ARMA Model

Description

Fit a seasonal semiparametric autoregressive moving-average (S-Semi-ARMA) model to a univariate time series. The estimation is in two steps: firstly, the series is detrended and seasonally adjusted using the function deseats. Then an ARMA model is fitted to the residuals using arima.

Usage

s_semiarma(
  yt,
  smoothing_options = set_options(),
  arma_options = list(ar_order = NULL, ma_order = NULL),
  bwidth_start = 0.2,
  inflation_rate = c("optimal", "naive"),
  correction_factor = FALSE,
  drop = NULL,
  error_model = c("free", "ARMA"),
  nar_lim = c(0, 3),
  nma_lim = c(0, 3),
  arma_mean = FALSE
)

Arguments

yt

a numerical vector or a time series object of class ts or that can be transformed with as.ts to an object of class ts; for these observations, trend and seasonality will be obtained.

smoothing_options

an S4 object of class smoothing_options, which is returned by the function set_options; it includes details about the options to consider in the locally weighted regression, such as the order of polynomial and the bandwidth for smoothing among others, for the nonparametric part of the model; the nonparametric model is fitted using deseats.

arma_options

a list with the two elements ar_order and ma_order that indicates the AR and MA orders to consider for the parametric part of the model.

bwidth_start

a single numeric value that is only relevant if the slot bwidth in smoothing_options is set to NA; as the bandwidth will then be selected automatically, bwidth_start sets the initial bandwidth for the algorithm.

inflation_rate

a character vector of length one that indicates, which inflation rate to use in the bandwidth selection; for a local linear trend, we have inflation_rate = "optimal" as the default, for a local cubic trend it is inflation_rate = "naive", which correspond to inflation rates of 5/7 and 9/13, respectively.

correction_factor

A logical vector of length one; theoretically, a larger bandwidth to estimate the sum of autocovariances from residuals of pilot trend and seasonality estimates is advisable than for estimating trend and seasonality; for correction_factor = TRUE, this is implemented; for error_model = "ARMA", correction_factor = FALSE is enforced; the default is correction_factor = FALSE, because it was found that setting this argument to TRUE often overestimates the bandwidth.

drop

a numeric vector of length one that indicates the proportion of the observations to not include at each boundary in the bandwidth estimation process, if a bandwidth is selected automatically; the default is drop = 0.1.

error_model

a character vector of length one that indicates whether for autocor = TRUE the sum of autocovariances of the errors is obtained purely nonparametrically ("free") or whether an autoregressive moving-average (ARMA) model is assumed "ARMA"; the default is error_model = "free".

nar_lim

only valid for error_model = "ARMA"; set the minimum and maximum AR order to check via the BIC in each iteration of the algorithm via a two-element vector.

nma_lim

only valid for error_model = "ARMA"; set the minimum and maximum MA order to check via the BIC in each iteration of the algorithm via a two-element vector.

arma_mean

only valid for error_model = "ARMA"; decide whether to include an estimate of the mean in the ARMA fitting for the detrended series.

Details

For information on the nonparametric regression step, see deseats. After the trend and the seasonality have been removed from the data, an autoregressive moving-average (ARMA) model is fitted to the residuals either with orders selected by the Bayesian information criterion (BIC) or with manually selected orders. The ARMA model is fitted using arima.

All function arguments except for arma_options are identical to those in deseats. If all elements in arma_options are set to NULL, the ARMA model orders are selected for p, q from nar_lim[[1]] and nma_lim[[1]] up until nar_lim[[2]] and nma_lim[[2]] according to the BIC.

Value

The function returns and S4 object with the following elements (access them via @):

decomp

an object of class "mts" that includes the observed time series and its estimated components.

nonpar_model

an object of class "deseats"; this is the result of applying deseats.

par_model

an object of class "Arima"; the result of applying arima to the residuals of the nonparametric estimation step.

Author(s)

Examples


Xt <- log(EXPENDITURES)
est <- s_semiarma(Xt)
est



[Package deseats version 1.1.0 Index]