Calculate confidence intervals
Usage
# S3 method for class '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,
...
)Arguments
- object
glmmTMBfitted object.- parm
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
mapargument: please report surprises to the package maintainers.- level
Confidence level.
- method
'wald', 'profile', or 'uniroot': see Details function)
- component
Which of the three components 'cond', 'zi' or 'other' to select. Default is to select 'all'.
- estimate
(logical) add a third column with estimate ?
- include_nonest
include dummy rows for non-estimated (mapped, rank-deficient) parameters?
- parallel
method (if any) for parallel computation
- ncpus
number of CPUs/cores to use for parallel computation
- cl
cluster to use for parallel computation
- full
CIs for all parameters (including dispersion) ?
- ...
arguments may be passed to
profile.glmmTMB(and possibly from there totmbprofile) ortmbroot
Details
Available methods are
- "wald"
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.
- "profile"
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.- "uniroot"
This method uses the
unirootfunction 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
Examples
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.773317 270.03687 251.40509
#> Days 8.895915 12.03866 10.46729
#> Std.Dev.(Intercept)|Subject 25.357109 51.14422 36.01207
confint(model,parm="theta_") ## Wald/delta-method CIs
#> 2.5 % 97.5 % Estimate
#> Std.Dev.(Intercept)|Subject 25.35711 51.14422 36.01207
confint(model,parm=1,method="profile")
#> 2.5 % 97.5 %
#> (Intercept) 231.9922 270.8178