rrvglm.control {VGAM} | R Documentation |
Algorithmic constants and parameters for running rrvglm
are set
using this function.
rrvglm.control(Rank = 1, Algorithm = c("alternating", "derivative"), Corner = TRUE, Uncor = FALSE, Wmat = NULL, Svd.arg = FALSE, Index.corner = if (length(Structural.zero)) ((1:1000)[-Structural.zero])[1:Rank] else 1:Rank, Alpha = 0.5, Bestof = 1, Cinit = NULL, Etamat.colmax = 10, SD.Cinit = 0.02, Structural.zero = NULL, Norrr = ~1, trace = FALSE, Use.Init.Poisson.QO = FALSE, checkwz = TRUE, wzepsilon = .Machine$double.eps^0.75, ...)
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.
The variables making up x1 are given by the terms in
Norrr argument, and the rest of the terms comprise x2.
|
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 constraints,
i.e., they hold an order-R identity matrix.
|
Uncor |
Logical indicating whether uncorrelated
latent variables are to be used. This is another normalization that
forces the variance-covariance matrix of the latent variables to be
diag(Rank) , i.e., unit variance and uncorrelated. This constraint
does not lead to a unique solution because it can be rotated.
|
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 %*% t(V) then the
first and second parts are
U %*% D^Alpha
and
D^(1-Alpha) %*% t(V) respectively.
A value of 0.5 is `symmetrical'.
This argument is used only when Svd.arg=TRUE .
|
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 initial value
for C,
i.e., when C is not passed in as initial values.
|
Cinit |
Initial C matrix which may speed up convergence. It 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, the better the initial value.
Used only if Use.Init.Poisson.QO=TRUE .
|
Structural.zero |
Integer vector specifying which rows of the constraint matrices are to be all zeros. |
SD.Cinit |
Standard deviation of the initial values for the elements
of 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. These variables constitute the B1
matrix in the Yee and Hastie paper. Those variables which
are subject to the reduced-rank regression correspond to the
B2 matrix.
|
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 (CQO). This option is less
realistic for RR-VGLMs compared to QRR-VGLMs.
|
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 replaced with this value.
|
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 .
|
In the above, R is the Rank
and
M is the number of linear predictors.
VGAM supports three normalizations to ensure a unique
solution. Of these, only corner constraints will work with
summary
of RR-VGLM objects.
A list with components matching the input names. Some error checking is done, but not much.
The arguments in this function begin with an upper case letter to help
avoid interference with those of vglm.control
.
In the example below a rank-1 stereotype model (Anderson, 1984) is fitted.
Thomas W. Yee
Yee, T. W. and Hastie, T. J. (2003) Reduced-rank vector generalized linear models. Statistical Modelling, 3, 15–41.
rrvglm
,
rrvglm.optim.control
,
rrvglm-class
,
vglm
,
vglm.control
,
cqo
.
data(pneumo) set.seed(111) pneumo = transform(pneumo, let=log(exposure.time), x1 = runif(nrow(pneumo))) # x1 is some unrelated covariate fit = rrvglm(cbind(normal, mild, severe) ~ let + x1, multinomial, pneumo, Rank=1, Index.corner=2) constraints(fit) vcov(fit) summary(fit)