
Last chance! 50% off unlimited learning
Sale ends in
Extractor function for the constraint matrices of objects in the VGAM package.
constraints(object, ...)
constraints.vlm(object, type = c("lm", "term"), all = TRUE, which,
matrix.out = FALSE, colnames.arg = TRUE,
rownames.arg = TRUE, ...)
Some VGAM object, for example, having
class vglmff-class
.
Character. Whether LM- or term-type constraints are to be returned.
The number of such matrices returned is equal to
nvar(object, type = "lm")
and
the number of terms, respectively.
If all = FALSE
then which
gives the integer index or a
vector of logicals specifying the selection.
Logical. If TRUE
then the constraint matrices
are cbind()ed
together.
The result is usually more compact because the default
is a list of constraint matrices.
Logical. If TRUE
then column and row names
are assigned corresponding to the variables.
Other possible arguments such as type
.
The extractor function
constraints()
returns a list comprising of
constraint matrices---usually one for each column of the
VLM model matrix, and in that order.
The list is labelled with the variable names.
Each constraint matrix has
For vglm
and vgam
objects,
feeding in type = "term"
constraint matrices back
into the same model should work and give an identical model.
The default are the "lm"
-type constraint matrices;
this is a list with one constraint matrix per column of
the LM matrix.
See the constraints
argument of vglm
,
and the example below.
Constraint matrices describe the relationship of coefficients/component functions of a particular explanatory variable between the linear/additive predictors in VGLM/VGAM models. For example, they may be all different (constraint matrix is the identity matrix) or all the same (constraint matrix has one column and has unit values).
VGLMs and VGAMs have constraint matrices which are known. The class of RR-VGLMs have constraint matrices which are unknown and are to be estimated.
Yee, T. W. and Wild, C. J. (1996) Vector generalized additive models. Journal of the Royal Statistical Society, Series B, Methodological, 58, 481--493.
Yee, T. W. and Hastie, T. J. (2003) Reduced-rank vector generalized linear models. Statistical Modelling, 3, 15--41.
is.parallel
,
is.zero
.
VGLMs are described in vglm-class
;
RR-VGLMs are described in rrvglm-class
.
Arguments such as zero
and parallel
found in many VGAM
family functions are a way of creating/modifying constraint
matrices conveniently, e.g., see zero
.
See CommonVGAMffArguments
for more information.
# NOT RUN {
# Fit the proportional odds model:
pneumo <- transform(pneumo, let = log(exposure.time))
(fit1 <- vglm(cbind(normal, mild, severe) ~ sm.bs(let, 3),
cumulative(parallel = TRUE, reverse = TRUE), data = pneumo))
coef(fit1, matrix = TRUE)
constraints(fit1) # Parallel assumption results in this
constraints(fit1, type = "term") # Same as the default ("vlm"-type)
is.parallel(fit1)
# An equivalent model to fit1 (needs the type "term" constraints):
clist.term <- constraints(fit1, type = "term") # "term"-type constraints
(fit2 <- vglm(cbind(normal, mild, severe) ~ sm.bs(let, 3), data = pneumo,
cumulative(reverse = TRUE), constraints = clist.term))
abs(max(coef(fit1, matrix = TRUE) -
coef(fit2, matrix = TRUE))) # Should be zero
# Fit a rank-1 stereotype (RR-multinomial logit) model:
fit <- rrvglm(Country ~ Width + Height + HP, multinomial, data = car.all)
constraints(fit) # All except the first are the estimated A matrix
# }
Run the code above in your browser using DataLab