Fits GARMA models to time series data.
garma(link = "identitylink", p.ar.lag = 1, q.ma.lag = 0,
coefstart = NULL, step = 1)
Link function applied to the mean response.
The default is suitable for continuous responses.
The link loglink
should be chosen if the data are counts.
The link reciprocal
can be chosen if the data are counts
and the variance assumed for this is logitlink
, probitlink
,
clogloglink
, and
cauchitlink
are supported and suitable for binary responses.
Note that when the log or logit link is chosen:
for log and logit,
zero values can be replaced by bvalue
.
See loglink
and logitlink
etc. for specific
information about each link function.
A positive integer,
the lag for the autoregressive component.
Called
A non-negative integer,
the lag for the moving-average component.
Called
Starting values for the coefficients.
Assigning this argument is highly recommended.
For technical reasons, the
argument coefstart
in vglm
cannot be used.
Numeric. Step length, e.g., 0.5
means half-stepsizing.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
.
This VGAM family function is 'non-standard' in that the model does need some coercing to get it into the VGLM framework. Special code is required to get it running. A consequence is that some methods functions may give wrong results when applied to the fitted object.
This function draws heavily on Benjamin et al. (1998).
See also Benjamin et al. (2003).
GARMA models extend the ARMA time series model to generalized
responses in the exponential family, e.g., Poisson counts,
binary responses. Currently, this function is rudimentary and
can handle only certain continuous, count and binary responses only.
The user must choose an appropriate link for the link
argument.
The GARMA(
Benjamin, M. A., Rigby, R. A. and Stasinopoulos, M. D. (1998). Fitting Non-Gaussian Time Series Models. Pages 191--196 in: Proceedings in Computational Statistics COMPSTAT 1998 by Payne, R. and P. J. Green. Physica-Verlag.
Benjamin, M. A., Rigby, R. A. and Stasinopoulos, M. D. (2003). Generalized Autoregressive Moving Average Models. Journal of the American Statistical Association, 98: 214--223.
Zeger, S. L. and Qaqish, B. (1988). Markov regression models for time series: a quasi-likelihood approach. Biometrics, 44: 1019--1031.
# NOT RUN {
gdata <- data.frame(interspike = c(68, 41, 82, 66, 101, 66, 57, 41, 27, 78,
59, 73, 6, 44, 72, 66, 59, 60, 39, 52,
50, 29, 30, 56, 76, 55, 73, 104, 104, 52,
25, 33, 20, 60, 47, 6, 47, 22, 35, 30,
29, 58, 24, 34, 36, 34, 6, 19, 28, 16,
36, 33, 12, 26, 36, 39, 24, 14, 28, 13,
2, 30, 18, 17, 28, 9, 28, 20, 17, 12,
19, 18, 14, 23, 18, 22, 18, 19, 26, 27,
23, 24, 35, 22, 29, 28, 17, 30, 34, 17,
20, 49, 29, 35, 49, 25, 55, 42, 29, 16)) # See Zeger and Qaqish (1988)
gdata <- transform(gdata, spikenum = seq(interspike))
bvalue <- 0.1 # .Machine$double.xmin # Boundary value
fit <- vglm(interspike ~ 1, trace = TRUE, data = gdata,
garma(loglink(bvalue = bvalue),
p = 2, coefstart = c(4, 0.3, 0.4)))
summary(fit)
coef(fit, matrix = TRUE)
Coef(fit) # A bug here
# }
# NOT RUN {
with(gdata, plot(interspike, ylim = c(0, 120), las = 1,
xlab = "Spike Number", ylab = "Inter-Spike Time (ms)", col = "blue"))
with(gdata, lines(spikenum[-(1:fit@misc$plag)], fitted(fit), col = "orange"))
abline(h = mean(with(gdata, interspike)), lty = "dashed", col = "gray")
# }
Run the code above in your browser using DataLab