Last chance! 50% off unlimited learning
Sale ends in
Estimates the parameters of a nested reduced-rank autoregressive model for multiple time series.
rrar(Ranks = 1, coefstart = NULL)
Vector of integers: the ranks of the model.
Each value must be at least one and no more than M
,
where M
is the number of response variables in the time series.
The length of Ranks
is the lag, which is often denoted by
the symbol L in the literature.
Optional numerical vector of initial values for the coefficients. By default, the family function chooses these automatically.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.
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.
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.
# 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")
}
# }
Run the code above in your browser using DataLab