Influence Diagnostics for Mixed-Effects Models
influence.merMod.Rd
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
Usage
# S3 method for class 'merMod'
influence(model, groups, data, maxfun = 1000,
do.coef = TRUE, ncores = getOption("mc.cores",1), start, ...)
# S3 method for class 'influence.merMod'
cooks.distance(model, ...)
# S3 method for class 'influence.merMod'
dfbeta(model, which = c("fixed", "var.cov"), ...)
# S3 method for class 'influence.merMod'
dfbetas(model, ...)
Arguments
- model
in the case of
influence.merMod
, a model of class"merMod"
; in the case ofcooks.distance
,dfbeta
, ordfbetas
, an object returned byinfluence.merMod
- groups
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.
- data
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.- maxfun
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 tomaxfun=20
for anlmer
model or100
for aglmer
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.- which
if
"fixed.effects"
(the default), return influence on the fixed effects; if"var.cov"
, return influence on the variance-covariance components.- do.coef
if
FALSE
, skip potentially time-consuming computations, returning just a list containing hat values.- ncores
number of computational cores to use if run in parallel; directly passed to
makeCluster()
from R's parallel package.- start
starting value for new fits (set to optimal values from original fit by default)
- ...
ignored.
Details
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.
Value
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
.
References
Fox, J. and Weisberg, S. (2019) An R Companion to Applied Regression, Third Edition, Sage.
Author
J. Fox jfox@mcmaster.ca
Examples
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)
}
}