bcajack {bcaboot} | R Documentation |
Nonparametric bias-corrected and accelerated bootstrap confidence limits
Description
This routine computes nonparametric confidence intervals for bootstrap estimates. For reproducibility, save or set the random number state before calling this routine.
Usage
bcajack(
x,
B,
func,
...,
m = nrow(x),
mr = 5,
K = 2,
J = 10,
alpha = c(0.025, 0.05, 0.1, 0.16),
verbose = TRUE
)
Arguments
x |
an |
B |
number of bootstrap replications. It can also be a vector
of |
func |
function |
... |
additional arguments for |
m |
an integer less than or equal to |
mr |
if |
K |
a non-negative integer. If |
J |
the number of groups into which the bootstrap replications are split |
alpha |
percentiles desired for the bca confidence limits. One
only needs to provide |
verbose |
logical for verbose progress messages |
Details
Bootstrap confidence intervals depend on three elements:
the cdf of the
B
bootstrap replicationst_i^*
,i=1\ldots B
the bias-correction number
z_0=\Phi(\sum_i^B I(t_i^* < t_0) / B )
wheret_0=f(x)
is the original estimatethe acceleration number
a
that measures the rate of change in\sigma_{t_0}
asx
, the data changes.
The first two of these depend only on the bootstrap distribution,
and not how it is generated: parametrically or
non-parametrically. Program bcajack can be used in a hybrid fashion
in which the vector tt
of B bootstrap replications is first
generated from a parametric model.
So, in the diabetes example below, we might first draw bootstrap
samples y^* \sim N(X\hat{\beta}, \hat{\sigma}^2 I)
where
\hat{\beta}
and \hat{\sigma}
were obtained from
lm(y~X)
; each y^*
would then provide a bootstrap
replication tstar = rfun(cbind(X, ystar))
. Then we could get bca
intervals from bcajack(Xy, tt, rfun ....)
with tt
,
the vector of B tstar
values. The only difference from a full
parametric bca analysis would lie in the nonparametric estimation
of a
, often a negligible error.
Value
a named list of several items
-
lims : first column shows the estimated bca confidence limits at the requested alpha percentiles. These can be compared with the standard limits
\hat{\theta} + \hat{\sigma}z_{\alpha}
, third column. The second columnjacksd
gives the internal standard errors for the bca limits, quite small in the example. Column 4,pct
, gives the percentiles of the ordered B bootstrap replications corresponding to the bca limits, eg the 897th largest replication equalling the .975 bca limit .557. -
stats : top line of stats shows 5 estimates: theta is
f(x)
, original point estimate of the parameter of interest;sdboot
is its bootstrap estimate of standard error;z0
is the bca bias correction value, in this case quite negative;a
is the acceleration, a component of the bca limits (nearly zero here);sdjack
is the jackknife estimate of standard error for theta. Bottom line gives the internal standard errors for the five quantities above. This is substantial forz0
above. -
B.mean : bootstrap sample size B, and the mean of the B bootstrap replications
\hat{\theta^*}
-
ustats : The bias-corrected estimator
2 * t0 - mean(tt)
, and an estimatesdu
of its sampling error -
seed : The random number state for reproducibility
References
DiCiccio T and Efron B (1996). Bootstrap confidence intervals. Statistical Science 11, 189-228
Efron B (1987). Better bootstrap confidence intervals. JASA 82 171-200
B. Efron and B. Narasimhan. Automatic Construction of Bootstrap Confidence Intervals, 2018.
Examples
data(diabetes, package = "bcaboot")
Xy <- cbind(diabetes$x, diabetes$y)
rfun <- function(Xy) {
y <- Xy[, 11]
X <- Xy[, 1:10]
summary(lm(y~X) )$adj.r.squared
}
set.seed(1234)
## n = 442 = 34 * 13
bcajack(x = Xy, B = 1000, func = rfun, m = 34, verbose = FALSE)