Learn R Programming

VGAM (version 0.9-6)

rrvglm.control: Control function for rrvglm

Description

Algorithmic constants and parameters for running rrvglm are set using this function.

Usage

rrvglm.control(Rank = 1, Algorithm = c("alternating", "derivative"),
    Corner = TRUE, Uncorrelated.latvar = FALSE,
    Wmat = NULL, Svd.arg = FALSE,
    Index.corner = if (length(str0)) 
    head((1:1000)[-str0], Rank) else 1:Rank,
    Ainit = NULL, Alpha = 0.5, Bestof = 1, Cinit = NULL,
    Etamat.colmax = 10,
    sd.Ainit = 0.02, sd.Cinit = 0.02, str0 = NULL,
    noRRR = ~1, Norrr = NA,
    noWarning = FALSE,
    trace = FALSE, Use.Init.Poisson.QO = FALSE, 
    checkwz = TRUE, Check.rank = TRUE, Check.cm.rank = TRUE,
    wzepsilon = .Machine$double.eps^0.75, ...)

Arguments

Rank
The numerical rank $R$ of the model. Must be an element from the set {1,2,...,min($M$,p2)}. Here, the vector of explanatory variables x is partitioned into (x1,x2), which is of dimension p1+p2.
Algorithm
Character string indicating what algorithm is to be used. The default is the first one.
Corner
Logical indicating whether corner constraints are to be used. This is one method for ensuring a unique solution. If TRUE, Index.corner specifies the $R$ rows of the constraint matrices that are use as the corner const
Uncorrelated.latvar
Logical indicating whether uncorrelated latent variables are to be used. This is normalization forces the variance-covariance matrix of the latent variables to be diag(Rank), i.e., unit variance and uncorrelated. This constraint does no
Wmat
Yet to be done.
Svd.arg
Logical indicating whether a singular value decomposition of the outer product is to computed. This is another normalization which ensures uniqueness. See the argument Alpha below.
Index.corner
Specifies the $R$ rows of the constraint matrices that are used for the corner constraints, i.e., they hold an order-$R$ identity matrix.
Alpha
The exponent in the singular value decomposition that is used in the first part: if the SVD is $U D V^T$ then the first and second parts are $U D^{\alpha}$ and $D^{1-\alpha} V^T$ respectively. A value of 0.5 is `symmetrical'
Bestof
Integer. The best of Bestof models fitted is returned. This argument helps guard against local solutions by (hopefully) finding the global solution from many fits. The argument works only when the function generates its own initia
Ainit, Cinit
Initial A and C matrices which may speed up convergence. They must be of the correct dimension.
Etamat.colmax
Positive integer, no smaller than Rank. Controls the amount of memory used by .Init.Poisson.QO(). It is the maximum number of columns allowed for the pseudo-response and its weights. In general, the larger the value
str0
Integer vector specifying which rows of the estimated constraint matrices (A) are to be all zeros. These are called structural zeros. Must not have any common value with Index.corner, and be a subset of the vector
sd.Ainit, sd.Cinit
Standard deviation of the initial values for the elements of A and C. These are normally distributed with mean zero. This argument is used only if Use.Init.Poisson.QO = FALSE.
noRRR
Formula giving terms that are not to be included in the reduced-rank regression. That is, noRRR specifes which explanatory variables are in the $x_1$ vector of rrvglm, a
Norrr
Defunct. Please use noRRR. Use of Norrr will become an error soon.
trace
Logical indicating if output should be produced for each iteration.
Use.Init.Poisson.QO
Logical indicating whether the .Init.Poisson.QO() should be used to obtain initial values for the C. The function uses a new method that can work well if the data are Poisson counts coming from an equal-tolerances QRR-VGLM
checkwz
logical indicating whether the diagonal elements of the working weight matrices should be checked whether they are sufficiently positive, i.e., greater than wzepsilon. If not, any values less than wzepsilon are replac
noWarning, Check.rank, Check.cm.rank
Same as vglm.control.
wzepsilon
Small positive number used to test whether the diagonals of the working weight matrices are sufficiently positive.
...
Variables in ...are passed into vglm.control. If the derivative algorithm is used then ...are also passed into rrvglm.optim.control

Value

  • A list with components matching the input names. Some error checking is done, but not much.

Details

VGAM supports three normalizations to ensure a unique solution. Of these, only corner constraints will work with summary of RR-VGLM objects.

References

Yee, T. W. and Hastie, T. J. (2003) Reduced-rank vector generalized linear models. Statistical Modelling, 3, 15--41.

See Also

rrvglm, rrvglm.optim.control, rrvglm-class, vglm, vglm.control, cqo.

Examples

Run this code
set.seed(111)
pneumo <- transform(pneumo, let = log(exposure.time),
                            x3 = runif(nrow(pneumo)))  # x3 is random noise
fit <- rrvglm(cbind(normal, mild, severe) ~ let + x3,
              multinomial, data = pneumo, Rank = 1, Index.corner = 2)
constraints(fit)
vcov(fit)
summary(fit)

Run the code above in your browser using DataLab