prediction
# S3 method for glmmTMB
predict(
object,
newdata = NULL,
newparams = NULL,
se.fit = FALSE,
cov.fit = FALSE,
re.form = NULL,
allow.new.levels = FALSE,
type = c("link", "response", "conditional", "zprob", "zlink", "disp"),
zitype = NULL,
na.action = na.pass,
fast = NULL,
debug = FALSE,
...
)
a glmmTMB
object
new data for prediction
new parameters for prediction
return the standard errors of the predicted values?
return the covariance matrix of the predicted values?
NULL
to specify individual-level predictions; ~0
or NA
to specify population-level predictions (i.e., setting all random effects to zero)
allow previously unobserved levels in random-effects variables? see details.
Denoting \(mu\) as the mean of the conditional distribution and
p
as the zero-inflation probability,
the possible choices are:
conditional mean on the scale of the link function, or equivalently the linear predictor of the conditional model
expected value; this is \(mu*(1-p)\) for zero-inflated models
and mu
otherwise
mean of the conditional response; mu
for all models
(i.e., synonymous with "response"
in the absence of zero-inflation
the probability of a structural zero (returns 0 for non-zero-inflated models)
predicted zero-inflation probability on the scale of
the logit link function (returns -Inf
for non-zero-inflated models)
dispersion parameter however it is defined for that particular family as described in sigma.glmmTMB
deprecated: formerly used to specify type of zero-inflation probability. Now synonymous with type
how to handle missing values in newdata
(see na.action
);
the default (na.pass
) is to predict NA
predict without expanding memory (default is TRUE if newdata
and newparams
are NULL and population-level prediction is not being done)
(logical) return the TMBStruc
object that will be
used internally for debugging?
unused - for method compatibility
To compute population-level predictions for a given grouping variable (i.e., setting all random effects for that grouping variable to zero), set the grouping variable values to NA
. Finer-scale control of conditioning (e.g. allowing variation among groups in intercepts but not slopes when predicting from a random-slopes model) is not currently possible.
Prediction of new random effect levels is possible as long as the model specification (fixed effects and parameters) is kept constant.
However, to ensure intentional usage, a warning is triggered if allow.new.levels=FALSE
(the default).
Prediction using "data-dependent bases" (variables whose scaling or transformation depends on the original data, e.g. poly
, ns
, or poly
) should work properly; however, users are advised to check results extra-carefully when using such variables. Models with different versions of the same data-dependent basis type in different components (e.g. formula= y ~ poly(x,3), dispformula= ~poly(x,2)
) will probably not produce correct predictions.
data(sleepstudy,package="lme4")
g0 <- glmmTMB(Reaction~Days+(Days|Subject),sleepstudy)
predict(g0, sleepstudy)
## Predict new Subject
nd <- sleepstudy[1,]
nd$Subject <- "new"
predict(g0, newdata=nd, allow.new.levels=TRUE)
## population-level prediction
nd_pop <- data.frame(Days=unique(sleepstudy$Days),
Subject=NA)
predict(g0, newdata=nd_pop)
Run the code above in your browser using DataLab