rrar {VGAM} | R Documentation |
Estimates the parameters of a nested reduced-rank autoregressive model for multiple time series.
rrar(Ranks = 1, coefstart = NULL)
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. |
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.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.
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 print.Coef.rrar
would also need to be
written.
T. W. Yee
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, usgrain[, ii], main = names(usgrain)[ii], type = "l", xlab = "", ylab = "") points(year, usgrain[,ii], pch = "*") } apply(usgrain, 2, mean) # mu vector cgrain = scale(usgrain, scale = FALSE) # Center the time series only fit = vglm(cgrain ~ 1, rrar(Ranks = c(4, 1)), trace = TRUE) summary(fit) print(fit@misc$Ak1, dig = 2) print(fit@misc$Cmatrices, dig = 3) print(fit@misc$Dmatrices, dig = 3) print(fit@misc$omegahat, dig = 3) print(fit@misc$Phimatrices, dig = 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 = "") points(year, fit@misc$Z[,ii], pch = "*") } ## End(Not run)