Use boostrapping to generate confidence intervals, or confidence regions in the case of the zero-inflated model.
bootCI(x, ...)# S3 method for default
bootCI(
x,
level = 0.95,
B = 2000,
model = c("zeta", "ziz"),
returnBootValues = FALSE,
silent = FALSE,
plot = FALSE,
parallel = TRUE,
progressBar = FALSE,
pbopts = list(type = "txt"),
...
)
# S3 method for psData
bootCI(x, ...)
# S3 method for psFit
bootCI(x, ...)
If returnBootVals == TRUE then the results are returned in a
list with elements named ci and bootVals for the zeta model
and confRegion and bootVals for the zero-inflated zeta model.
The structure of ci and confregion is described below. If
model == "zeta", then either a vector or a data.frame
with elements/columns named "lower" and "upper" representing
the lower and upper bounds of the confidence interval(s). Multiple bounds
are returned in a data.frame when level has more than one
value. If model == "ziz
", then a list with length equal to the
length of level is returned. The name of each element in the list is
the level with
list has a single element named "95%". It is possible for there to
be multiple contours for the confidence region for a given level. If
there is only one contour for each value of level, then each element
of the list consists of a list with elements named pi and
shape which specify the coordinates of the contour(s) for that level.
There is a third element named level which gives the height of the
kernel density estimate at that contour. If there are multiple contours for
a given value of level then each list element is a list of lists with
the structure given above (level, pi, and shape). NOTE:
it is quite possible that there are multiple contours for a given height. If
you want a way of thinking about this consider a mountain range with two
mountains of equal height. If you draw the contours for (almost) any
elevation, then you would expect to capture a region from each mountain.
a object either of class psData---see readData for more
details---or of class psFit.
other arguments.
the confidence level required---restricted to [0.75, 1). This may be a vector, in which case multiple intervals, or confidence regions will be returned.
the number of bootstrap samples to take.
which model to fit to the data, either "zeta" or
"ziz". Maybe abbreviated to "z" and "zi". Default
is "zeta".
if TRUE then the vector (or
data.frame) of bootstrapped values is returned. This can be useful
for debugging or understanding the results. Default is FALSE.
if TRUE, then no output will be displayed whilst the
bootstrapping is being undertaken. plot if TRUE then the
contours for the confidence region will be plotted. This only works if
model = "ziz". It is ignored otherwise. parallel if
TRUE then the bootstrapping is performed in parallel.
if TRUE and model == "ziz", then a plot of the
bootstrapped values will be produced and confidence contour lines will be
drawn for each value in level.
if TRUE, then the package will attempt to use multiple
cores to speed up computation.
if TRUE, then progress bars will be displayed to
show progress on the bootstrapping.
a list of arguments for the pboptions
function that affect the progress bars. Ignored if progressBar =
FALSE.
bootCI(default): Bootstrap confidence intervals or regions
bootCI(psData): Bootstrap confidence intervals or regions
bootCI(psFit): Bootstrap confidence intervals or regions
This function uses bootstrapping to compute a confidence interval for
the shape parameter in the case of the zeta model and a confidence region in
the case of the zero-inflated zeta model. A smoothed bootstrap approach is
taken rather than a simple percentile method. The kernel density estimation
is performed by the ks package using a smoothed cross-validated
bandwidth selection procedure.
if (FALSE) {
data(Psurveys)
roux = Psurveys$roux
confRegion = bootCI(roux, model = "ziz", parallel = FALSE, plot = TRUE)
## This will not work unless you have the sp package installed
## Count how many of the points lie within the 95% confidence region
lapply(confRegion, function(cr){
table(sp::point.in.polygon(fit$pi,fit$shape, cr$pi, cr$shape))
. })
}
Run the code above in your browser using DataLab