Add or Drop All Possible Single Terms to/from a Model
Compute all the single terms in the scope
argument that
can be
added to or
dropped from the model, fit those models and compute a
table of the changes in fit.
## S3 method for class 'vglm' add1(object, scope, test = c("none", "LRT"), k = 2, ...) ## S3 method for class 'vglm' drop1(object, scope, test = c("none", "LRT"), k = 2, ...)
test |
Same as |
... |
further arguments passed to or from other methods. |
These functions are a direct adaptation of
add1.glm
and
drop1.glm
for vglm-class
objects.
For drop1
methods, a missing scope
is taken to be all
terms in the model. The hierarchy is respected when considering terms
to be added or dropped: all main effects contained in a second-order
interaction must remain, and so on.
In a scope
formula .
means ‘what is already there’.
The default output table gives AIC, defined as minus twice log likelihood plus 2p where p is the rank of the model (the number of effective parameters). This is only defined up to an additive constant (like log-likelihoods).
An object of class "anova"
summarizing the differences in fit
between the models.
Care is needed to check that the constraint matrices of added
terms are correct.
Also, if object
is of the form
vglm(..., constraints = list(x1 = cm1, x2 = cm2))
then add1.vglm
may fail because the
constraints
argument needs to have the constaint
matrices for all terms.
Most VGAM family functions do not compute a deviance, but
instead the likelihood function is evaluated at the MLE.
Hence a column name "Deviance"
only appears for a few
models; and almost always there is a column labelled
"logLik"
.
data("backPain2", package = "VGAM") summary(backPain2) fit1 <- vglm(pain ~ x2 + x3 + x4, propodds, data = backPain2) coef(fit1) add1(fit1, scope = ~ x2 * x3 * x4, test = "LRT") drop1(fit1, test = "LRT") fit2 <- vglm(pain ~ x2 * x3 * x4, propodds, data = backPain2) drop1(fit2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.