Calculate confidence intervals
# S3 method for glmmTMB
confint(
object,
parm = NULL,
level = 0.95,
method = c("wald", "Wald", "profile", "uniroot"),
component = c("all", "cond", "zi", "other"),
estimate = TRUE,
include_nonest = FALSE,
parallel = c("no", "multicore", "snow"),
ncpus = getOption("profile.ncpus", 1L),
cl = NULL,
full = FALSE,
...
)
glmmTMB
fitted object.
which parameters to profile, specified
by index (position) [after component selection for confint
, if any]
by name (matching the row/column names of vcov(object,full=TRUE)
)
as "theta_"
(random-effects variance-covariance parameters), "beta_"
(conditional and zero-inflation parameters), or "disp_"
or "sigma"
(dispersion parameters)
Parameter indexing by number may give unusual results when
some parameters have been fixed using the map
argument:
please report surprises to the package maintainers.
Confidence level.
'wald', 'profile', or 'uniroot': see Details function)
Which of the three components 'cond', 'zi' or 'other' to select. Default is to select 'all'.
(logical) add a third column with estimate ?
include dummy rows for non-estimated (mapped, rank-deficient) parameters?
method (if any) for parallel computation
number of CPUs/cores to use for parallel computation
cluster to use for parallel computation
CIs for all parameters (including dispersion) ?
arguments may be passed to profile.glmmTMB
(and possibly from there to tmbprofile
) or
tmbroot
Available methods are
These intervals are based on the standard errors calculated for parameters on the scale of their internal parameterization depending on the family. Derived quantities such as standard deviation parameters and dispersion parameters are back-transformed. It follows that confidence intervals for these derived quantities are typically asymmetric.
This method computes a likelihood profile
for the specified parameter(s) using profile.glmmTMB
;
fits a spline function to each half of the profile; and
inverts the function to find the specified confidence interval.
This method uses the uniroot
function to find critical values of one-dimensional profile
functions for each specified parameter.
At present, "wald" returns confidence intervals for variance parameters on the standard deviation/correlation scale, while "profile" and "uniroot" report them on the underlying ("theta") scale: for each random effect, the first set of parameter values are standard deviations on the log scale, while remaining parameters represent correlations on the scaled Cholesky scale. For a random effects model with two elements (such as a random-slopes model, or a random effect of factor with two levels), there is a single correlation parameter \(\theta\); the correlation is equal to \(\rho = \theta/\sqrt{1+\theta^2}\). For random-effects terms with more than two elements, the mapping is more complicated: see https://github.com/glmmTMB/glmmTMB/blob/master/misc/glmmTMB_corcalcs.ipynb
data(sleepstudy, package="lme4")
model <- glmmTMB(Reaction ~ Days + (1|Subject), sleepstudy)
model2 <- glmmTMB(Reaction ~ Days + (1|Subject), sleepstudy,
dispformula= ~I(Days>8))
confint(model) ## Wald/delta-method CIs
#> 2.5 % 97.5 % Estimate
#> (Intercept) 232.773351 270.03687 251.40511
#> Days 8.895919 12.03866 10.46729
#> Std.Dev.(Intercept)|Subject 25.357090 51.14415 36.01204
confint(model,parm="theta_") ## Wald/delta-method CIs
#> 2.5 % 97.5 % Estimate
#> Std.Dev.(Intercept)|Subject 25.35709 51.14415 36.01204
confint(model,parm=1,method="profile")
#> 2.5 % 97.5 %
#> (Intercept) 231.9922 270.8178