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 `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.
`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 `print.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.

Documentation accompanying the VGAM package at http://www.stat.auckland.ac.nz/~yee contains further information and examples.

### See Also

`vglm`, `usagrain`.

### 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, usagrain[,ii], main=names(usagrain)[ii],
             type="l", xlab="", ylab="")
        points(year, usagrain[,ii], pch="*")
    }
    apply(usagrain, 2, mean)     # mu vector
    cgrain = scale(usagrain, 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)

[Package VGAM version 0.7-9 Index]