Bootstrap input dataset and rerun the model to get confidence bounds and aggregated parameters
Usage
bootstrapFit(
fit,
nboot = 200,
nSampIndiv,
stratVar,
stdErrType = c("perc", "sd", "se"),
ci = 0.95,
pvalues = NULL,
restart = FALSE,
plotHist = FALSE,
fitName = as.character(substitute(fit))
)
Arguments
- fit
the nlmixr2 fit object
- nboot
an integer giving the number of bootstrapped models to be fit; default value is 200
- nSampIndiv
an integer specifying the number of samples in each bootstrapped sample; default is the number of unique subjects in the original dataset
- stratVar
Variable in the original dataset to stratify on; This is useful to distinguish between sparse and full sampling and other features you may wish to keep distinct in your bootstrap
- stdErrType
This gives the standard error type for the updated standard errors; The current possibilities are:
"perc"
which gives the standard errors by percentiles (default),"sd"
which gives the standard errors by the using the normal approximation of the mean with standard devaition, or"se"
which uses the normal approximation with standard errors calculated withnSampIndiv
- ci
Confidence interval level to calculate. Default is 0.95 for a 95 percent confidence interval
- pvalues
a vector of pvalues indicating the probability of each subject to get selected; default value is
NULL
implying that probability of each subject is the same- restart
A boolean to try to restart an interrupted or incomplete boostrap. By default this is
FALSE
- plotHist
A boolean indicating if a histogram plot to assess how well the bootstrap is doing. By default this is turned off (
FALSE
)- fitName
is the fit name that is used for the name of the boostrap files. By default it is the fit provided though it could be something else.
Value
Nothing, called for the side effects; The original fit is updated with the bootstrap confidence bands
Examples
if (FALSE) { # \dontrun{
one.cmt <- function() {
ini({
tka <- 0.45; label("Ka")
tcl <- 1; label("Cl")
tv <- 3.45; label("V")
eta.ka ~ 0.6
eta.cl ~ 0.3
eta.v ~ 0.1
add.sd <- 0.7
})
model({
ka <- exp(tka + eta.ka)
cl <- exp(tcl + eta.cl)
v <- exp(tv + eta.v)
linCmt() ~ add(add.sd)
})
}
fit <- nlmixr2(one.cmt, nlmixr2data::theo_sd, est = "saem", control = list(print = 0))
withr::with_tempdir({ # Run example in temp dir
bootstrapFit(fit, nboot = 5, restart = TRUE) # overwrites any of the existing data or model files
bootstrapFit(fit, nboot = 7) # resumes fitting using the stored data and model files
# Note this resumes because the total number of bootstrap samples is not 10
bootstrapFit(fit, nboot=10)
# Note the boostrap standard error and variance/covariance matrix is retained.
# If you wish to switch back you can change the covariance matrix by
nlmixr2est::setCov(fit, "linFim")
# And change it back again
nlmixr2est::setCov(fit, "boot10")
# This change will affect any simulations with uncertainty in their parameters
# You may also do a chi-square diagnostic plot check for the bootstrap with
bootplot(fit)
})
} # }