| rrar {VGAM} | R Documentation |
Nested Reduced-rank Autoregressive Models for Multiple Time Series
Description
Estimates the parameters of a nested reduced-rank autoregressive model for multiple time series.
Usage
rrar(Ranks = 1, coefstart = NULL)
Arguments
Ranks |
Vector of integers: the ranks of the model.
Each value must be at least one and no more than |
coefstart |
Optional numerical vector of initial values for the coefficients. By default, the family function chooses these automatically. |
Details
Full details are given in Ahn and Reinsel (1988).
Convergence may be very slow, so setting maxits = 50,
say, may help. If convergence is not obtained, you might like
to try inputting different initial values.
Setting trace = TRUE in vglm is useful
for monitoring the progress at each iteration.
Value
An object of class "vglmff" (see
vglmff-class). The object is used by modelling
functions such as vglm and vgam.
Note
This family function should be used within vglm
and not with rrvglm because it does not fit into
the RR-VGLM framework exactly. Instead, the reduced-rank model
is formulated as a VGLM!
A methods function Coef.rrar, say, has yet to be written.
It would return the quantities
Ak1,
C,
D,
omegahat,
Phi,
etc. as slots, and then show.Coef.rrar would also need
to be written.
Author(s)
T. W. Yee
References
Ahn, S. and Reinsel, G. C. (1988). Nested reduced-rank autoregressive models for multiple time series. Journal of the American Statistical Association, 83, 849–856.
See Also
Examples
## Not run:
year <- seq(1961 + 1/12, 1972 + 10/12, by = 1/12)
par(mar = c(4, 4, 2, 2) + 0.1, mfrow = c(2, 2))
for (ii in 1:4) {
plot(year, grain.us[, ii], main = names(grain.us)[ii], las = 1,
type = "l", xlab = "", ylab = "", col = "blue")
points(year, grain.us[, ii], pch = "*", col = "blue")
}
apply(grain.us, 2, mean) # mu vector
cgrain <- scale(grain.us, scale = FALSE) # Center the time series only
fit <- vglm(cgrain ~ 1, rrar(Ranks = c(4, 1)), trace = TRUE)
summary(fit)
print(fit@misc$Ak1, digits = 2)
print(fit@misc$Cmatrices, digits = 3)
print(fit@misc$Dmatrices, digits = 3)
print(fit@misc$omegahat, digits = 3)
print(fit@misc$Phimatrices, digits = 2)
par(mar = c(4, 4, 2, 2) + 0.1, mfrow = c(4, 1))
for (ii in 1:4) {
plot(year, fit@misc$Z[, ii], main = paste("Z", ii, sep = ""),
type = "l", xlab = "", ylab = "", las = 1, col = "blue")
points(year, fit@misc$Z[, ii], pch = "*", col = "blue")
}
## End(Not run)