View source: R/ARMA.studentt.ff.R
| ARMA.studentt.ff | R Documentation |
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.
ARMA.studentt.ff(order = c(1, 0),
zero = c("scale", "df"),
cov.Reg = FALSE,
llocation = "identitylink",
lscale = "loglink",
ldf = "logloglink",
ilocation = NULL,
iscale = NULL,
idf = NULL)
order |
Two–entries vector, non–negative. The order $u$ and $v$ of the ARMA model. |
zero |
Same as |
cov.Reg |
Logical. If covariates are entered, Should these be
included in the ARMA model as a |
llocation, lscale, ldf, ilocation, iscale, idf |
Same as |
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.
An object of class "vglmff"
(see vglmff-class)
to be used by VGLM/VGAM modelling functions, e.g.,
vglm or vgam.
If order = 0, then AR.studentt.ff
fits a usual 3–parameter Student–t, as with
studentt3.
If covariates are incorporated in the analysis,
these are embedded in the location–parameter model.
Modify this through zero.
See CommonVGAMffArguments
for details on zero.
Victor Miranda
ARIMAXff,
studentt,
vglm.
### 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)
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.