Learn R Programming

VGAMextra (version 0.0-1)

ARMA.studentt.ff: VGLTSMs Family Functions: Generalized autoregressive moving average model with Student-t errors

Description

For an ARMA model, estimates a 3--parameter Student-\(t\) distribution characterizing the errors plus the ARMA coefficients by MLE usign Fisher scoring. Central Student--t handled currently.

Usage

ARMA.studentt.ff(order = c(1, 0),
                             zero = c("scale", "df"),
                             cov.Reg = FALSE,
                             llocation = "identitylink",
                             lscale    = "loge",
                             ldf       = "loglog",
                             ilocation = NULL,
                             iscale = NULL,
                             idf = NULL)

Arguments

order

Two--entries vector, non--negative. The order $u$ and $v$ of the ARMA model.

zero

Same as studentt3.

cov.Reg

Logical. If covariates are entered, Should these be included in the ARMA model as a Regressand? Default is FALSE, then only embedded in the linear predictors.

llocation, lscale, ldf, ilocation, iscale, idf

Same as studentt3.

Value

An object of class "vglmff" (see vglmff-class) to be used by VGLM/VGAM modelling functions, e.g., vglm or vgam.

Details

The normality assumption for time series analysis is relaxed to handle heavy--tailed data, giving place to the ARMA model with shift-scaled Student-\(t\) errors, another subclass of VGLTSMs.

For a univariate time series, say \(y_t\), the model described by this VGLTSM family function is $$ \theta(B)y_t = \phi(B) \varepsilon_t, $$

where \(\varepsilon_t\) are distributed as a shift-scaled Student--\(t\) with \(\nu\) degrees of freedom, i.e., \(\varepsilon_t \sim t(\nu_t, \mu_t, \sigma_t)\). This family functions estimates the location (\(\mu_t\)), scale (\(\sigma_t\)) and degrees of freedom (\(\nu_t\)) parameters, plus the ARMA coefficients by MLE.

Currently only centered Student--t distributions are handled. Hence, the non--centrality parameter is set to zero.

The linear/additive predictors are \(\boldsymbol{\eta} = (\mu, \log \sigma, \log \log \nu)^T,\) where \(\log \sigma\) and \(\nu\) are intercept--only by default.

See Also

ARIMAXff, studentt, vglm.

Examples

Run this code
# NOT RUN {
### Estimate the parameters of the errors distribution for an
## AR(1) model. Sample size = 50

set.seed(20180218)
nn <- 250
y  <- numeric(nn)
ncp   <- 0           # Non--centrality parameter
nu    <- 3.5         # Degrees of freedom.
theta <- 0.45        # AR coefficient
res <- numeric(250)  # Vector of residuals.

y[1] <- rt(1, df = nu, ncp = ncp)
for (ii in 2:nn) {
  res[ii] <- rt(1, df = nu, ncp = ncp)
  y[ii] <- theta * y[ii - 1] + res[ii]
}
# Remove warm up values.
y <- y[-c(1:200)]
res <- res[-c(1:200)]

### Fitting an ARMA(1, 0) with Student-t errors.
AR.stut.er.fit <- vglm(y ~ 1, ARMA.studentt.ff(order = c(1, 0)),
                       data = data.frame(y = y), trace = TRUE)

summary(AR.stut.er.fit)
Coef(AR.stut.er.fit)

# }
# NOT RUN {
plot(ts(y), col = "red", lty = 1, ylim = c(-6, 6), main = "Plot of series Y with Student-t errors")
lines(ts(fitted.values(AR.stut.er.fit)), col = "blue", lty = 2)
abline( h = 0, lty = 2)
# }
# NOT RUN {


# }

Run the code above in your browser using DataLab