rrvglm
are set
using this function.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, ...)
noRRR
argument, and the rest of the terms comprise x2.
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.
diag(Rank)
, i.e., unit
variance and uncorrelated. This constraint does not lead to a unique
solution because it can be rotated.
Alpha
below.
Svd.arg=TRUE
.
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.
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
.
Index.corner
,
and be a subset of the vector 1:M
.
The default, str0 = NULL
, means no structural zero rows at all.
Use.Init.Poisson.QO = FALSE
.
noRRR
specifes which explanatory variables
are in the $x1$ vector of rrvglm
,
and the rest go into $x2$.
The $x1$ variables constitute
the $\bold{B}1$ matrix in Yee and Hastie (2003).
Those $x2$ variables which are subject to the reduced-rank
regression correspond to the $\bold{B}2$
matrix.
Set noRRR = NULL
for the reduced-rank regression to
be applied to every explanatory variable including the intercept.
noRRR
.
Use of Norrr
will become an error soon.
.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.
wzepsilon
. If not,
any values less than wzepsilon
are replaced with this value.
vglm.control
.
Ignored for VGAM 0.9-7 and higher.
vglm.control
.
If the derivative algorithm is used then ... are also passed
into rrvglm.optim.control
;
and
if the alternating algorithm is used then ... are also passed
into valt.control
.
VGAM supports three normalizations to ensure a unique
solution. Of these, only corner constraints will work with
summary
of RR-VGLM objects.
rrvglm
,
rrvglm.optim.control
,
rrvglm-class
,
vglm
,
vglm.control
,
cqo
.
## Not run:
# 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)
# ## End(Not run)
Run the code above in your browser using DataLab