# bootCI: Confidence interval calculation from bootstrap samples. In overlap: Estimates of Coefficient of Overlapping for Animal Activity Patterns

## Description

`bootCI` calculates five different confidence intervals from bootstrap samples: see details: `bootCIlogit` calculates corrections on the logit scale and back-transforms.

## Usage

 ```1 2``` ```bootCI(t0, bt, conf = 0.95) bootCIlogit(t0, bt, conf = 0.95) ```

## Arguments

 `t0` the statistic estimated from the original sample `bt` a vector of bootstrap statistics. `conf` a (single!) confidence interval to estimate.

## Details

Let t = true value of the statistic,
t0 = estimate of t based on the original sample,
bt = bootstrap estimates.

If bootstrap sampling introduces no bias, E[mean(bt)] = t0, otherwise BS bias = mean(bt) - t0.

Assuming that the original sampling causes the same bias as the bootstrap sampling, we write: mean(bt) - t0 = t0 - t, and hence calculate a bias-corrected estimate, t1 = 2 x t0 - mean(bt).

The percentiles CI, “perc”, gives quantiles of the bootstrap values, interpolated if necessary. However, in general, the bootstrap estimates are biased, so “perc” should be corrected.

“basic” is a bias-corrected version of “perc”, analogous to t1: 2 x t0 - `perc`.

“norm” gives tail cutoffs for a normal distribution with mean = t1 and sd = sd(bt).

These three are equivalent to the confidence intervals returned by `boot::boot.ci`. “basic” and “norm” are appropriate if you are using the bias-corrected estimator, t1. If you use the uncorrected estimator, t0, you should use “basic0” or “norm0”:

“basic0” is `perc` - mean(bt) + t0.

“norm0” gives tail cutoffs as before, but with mean = t0 instead of t1.

The "logit" versions perform the corrections on the logit scale and then back transform. This would be appropriate for probabilities or proportions.

## Value

A named matrix with 2 columns for lower and upper limits and a row for each type of estimate. Values will be NA if the bootstrap sample is too small (after removing NAs) for estimation: 40 is the minimum for a 95% confidence interval, 200 for 99% (though for stable estimates you need at least 999 bootstrap estimates, preferably 10,000).

## Author(s)

Mike Meredith

`boot.ci` in package `boot`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```# Generate some sample data: set.seed(123) dat <- runif(20) t0 <- sd(dat) # and 999 nonparametric bootstrap estimates: bootmat <- matrix(sample(dat, 20*999, replace=TRUE), 20, 999) bt <- apply(bootmat, 2, sd) mean(bt) mean(bt) - t0 # bootstrap bias bootCI(t0, bt) bootCIlogit(t0, bt) bootCI(t0, bt, conf=0.05) # Which of these 5% CIs include the point estimate, t0? bootCI(t0, bt, conf=0.05) < t0 # Should be "TRUE FALSE" ```