These functions compute deletion influence diagnostics for linear
(fit by lmer) and generalized linear mixed-effects models
(fit by glmer). The main functions are methods for
the influence generic function. Other functions are
provided for computing dfbeta, dfbetas,
cooks.distance, and influence on variance-covariance
components based on the objects computed by influence.merMod
# S3 method for merMod
influence(model, groups, data, maxfun = 1000,
do.coef = TRUE, start = NULL,
parallel = c("no", "multicore", "snow", "future"),
ncpus = getOption("influence.ncpus", 1L), cl = NULL, ncores, ...)
# S3 method for influence.merMod
cooks.distance(model, ...)
# S3 method for influence.merMod
dfbeta(model, which = c("fixed", "var.cov"), ...)
# S3 method for influence.merMod
dfbetas(model, ...)influence.merMod returns objects of class
"influence.merMod", which contain the following elements:
"fixed.effects"the estimated fixed effects for the model.
"fixed.effects[-groups]"a matrix with columns corresponding to the fixed-effects coefficients and rows corresponding to groups, giving the estimated fixed effects with each group deleted in turn; groups is formed from the name(s) of the grouping factor(s).
"var.cov.comps"the estimated variance-covariance parameters for the model.
"var.cov.comps[-groups]"a matrix with the estimated covariance parameters (in columns) with each group deleted in turn.
"vcov"The estimated covariance matrix of the fixed-effects coefficients.
"vcov[-groups]"a list each of whose elements is the estimated covariance matrix of the fixed-effects coefficients with one group deleted.
"groups"a character vector giving the names of the grouping factors.
"deleted"the possibly composite grouping factor, each of whose elements is deleted in turn.
"converged"for influence.merMod, a logical vector indicating whether the computation converged for each group.
"function.evals"for influence.merMod, a vector of the number of function evaluations performed for each group.
For plotting "influence.merMod" objects, see infIndexPlot.
in the case of influence.merMod, a model of class "merMod";
in the case of cooks.distance, dfbeta, or dfbetas,
an object returned by influence.merMod
a character vector containing the name of a grouping factor or names of grouping factors; if more than one name is supplied, then groups are defined by all combinations of levels of the grouping factors that appear in the data. If omitted, then each individual row of the data matrix is treated as a "group" to be deleted in turn.
an optional data frame with the data to which model
was fit; influence.merMod can usually retrieve the data used to
fit the model, unless it can't be found in the current environment, so it's usually unnecessary to supply this argument.
The maximum number of function evaluations (for influence.merMod)
to perform after deleting each group; the defaults are large enough so that the iterations will typically continue to convergence.
Setting to maxfun=20 for an lmer model or 100 for a glmer model will typically produce a faster reasonable approximation.
An even smaller value can be used if interest is only in influence on the fixed effects.
if "fixed.effects" (the default), return influence
on the fixed effects; if "var.cov", return influence on the
variance-covariance components.
if FALSE, skip potentially time-consuming
computations, returning just a list containing hat values.
starting value for new fits (set to optimal values from original fit by default)
the type of parallel operation to be used, if any.
If "no", sequential processing is used. If "multicore"
and R is running on a Unix-alike operating system, mclapply
is used; if "snow", parLapply is used; if "future",
future.apply::future_lapply is used.
number of processes to be used in parallel operation when
parallel is either "multicore" or "snow".
If ncpus == 1, parallel = "multicore" and
parallel = "snow" are ignored and the same as
parallel = "no". The default value can be controlled by an
R option.
An optional parallel or snow cluster; if specified,
arguments parallel and ncpus are ignored.
If not supplied and parallel = "snow", a temporary cluster with
ncpus nodes is created for the duration of the call.
deprecated: equivalent to parallel = "snow" and
ncpus = ncores; please use parallel, ncpus, and
cl instead.
ignored.
J. Fox; parallel extensions by H. Bengtsson
influence.merMod start with the estimated variance-covariance components from model and then refit
the model omitting each group in turn, not necessarily iterating to completion. For example, maxfun=20 takes up to 20 function evaluations
step away from the ML or REML solution for the full data, which usually provides decent approximations to the fully iterated estimates.
The other functions are methods for the dfbeta, dfbetas, and cooks.distance generics, to be applied to the
"influence.merMod" object produced by the influence function; the dfbeta methods can also return
influence on the variance-covariance components.
fox2019rlme4
if (interactive()) {
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
inf_fm1 <- influence(fm1, "Subject")
if (require("car")) {
infIndexPlot(inf_fm1)
}
dfbeta(inf_fm1)
dfbetas(inf_fm1)
gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
data = cbpp, family = binomial)
inf_gm1 <- influence(gm1, "herd", maxfun=100)
gm1.11 <- update(gm1, subset = herd != 11) # check deleting herd 11
if (require("car")) {
infIndexPlot(inf_gm1)
compareCoefs(gm1, gm1.11)
}
if(packageVersion("car") >= "3.0.10") {
dfbeta(inf_gm1)
dfbetas(inf_gm1)
}
}
Run the code above in your browser using DataLab