Bootstrap tilting confidence limits

DESCRIPTION:

Calculate bootstrap tilting confidence limits

USAGE:

limits.tilt(boot.obj, probs = c(25, 50, 950, 975)/1000, 
            L = resampGetL(boot.obj), 
            t.adjustment = F, 
            subset.statistic = 1:p,  
            subjectDivide = F,  
            modifiedStatistic = NULL,  
            initial, tol = 1e-6, tol.tau = tol, maxiter = 20, 
            indices, group, treatment, weights, frame.eval) 

REQUIRED ARGUMENTS:

boot.obj
object of class .

OPTIONAL ARGUMENTS:

probs
probabilities for one-sided confidence limits; e.g. c(.025, .975) gives a two-sided 95% confidence interval. Note that values are undefined at 0 and 1.
L
matrix containing empirical influence values or other values to use in creating a linear approximation to the statistic being bootstrapped, with one column for each dimension (parameter) of the statistic. The number of rows should be the same as the size of the bootstrap data.
t.adjustment
logical; if TRUE then intervals are slightly wider, using an adjustment for uncertainty in standard error estimates (like using t-quantiles rather than normal-quantiles in the usual confidence intervals for a mean).
subset.statistic
subscript expression; if the statistic that was bootstrapped has length greater than 1, use this to request intervals for only some elements (parameters) of the statistic.
subjectDivide
logical flag, meaningful only if the sampling in boot.obj was by subject. Internal calculations involve assigning weights to subjects; if TRUE then the weight for each subject is divided among observations for that subject before calculating the statistic; if FALSE the subject weight is replicated to observations for that subject.
modifiedStatistic
if the bootstrap statistic is an expression that calls a function with a "hidden" weights argument, then pass this to indicate how to call your function. See "DETAILS", below.
initial
matrix of initial values, one column for each parameter in the statistic and one row for each value in probs, containing initial values used in iteratively solving for tilting parameters tau.
tol
Find tau values such that one-sided coverage probabilities are within tol of the specified values.
tol.tau
tolerance for solving for tau on the scale of tau.
maxiter
maximum number of iterations allowed for finding values of tau which bracket the solution for each p (after the root is bracketed additional iterations may be performed).
indices
matrix of resampling indices, by default extracted from boot.obj.
group
vector indicating multiple samples or sampling by group, by default extracted from boot.obj.
treatment
vector indicating a two-sample application created by , by default extracted from boot.obj.
weights
vector of importance sampling weights, by default extracted from boot.obj.
frame.eval
frame where the statistic and other objects used when creating boot.obj can be found. You need to specify this if objects can't be found by their original names, or have changed; see .

VALUE:

matrix of overall confidence limits with one column for each element of probs and one row per parameter. The matrix has class limits.tilt, and attributes:
exp.limits
matrix like the overall limits, giving exponential tilting limits.
ml.limits
matrix like the overall limits, but giving ML tilting limits
exp.tau
matrix like the overall limits, giving exponential tilting parameters
ml.tau
matrix like the overall limits', giving ML tilting parameters

The overall limits are the most conservative of the exponential and maximum likelihood limits.

There is a print method, that prints just the overlal confidence limits; to print all attributes use print(unclass(x)).

DETAILS:

This function recalculates the bootstrap statistic by adding tilting weights.

For purposes of adding weights, the name "Splus.resamp.weights" is reserved for internal use. To avoid naming conflicts, that name can not be used as a variable name in the data argument to boot.obj, if data is a data frame.

When the bootstrap statistic is an expression, for example mean(x), a modified expression mean(x, weights = Splus.resamp.weights) is created. Only calls to functions that have an argument named weights are modified; e.g. sum(x)/length(x) would fail because sum does not have a weights argument. If the expression calls a function with a "hidden" weights argument, e.g. you may pass weights as part of the ... list, then use the modifiedStatistic argument to specify that, e.g. modifiedStatistic = myFun(x, weights = Splus.resamp.weights). (You must use the name Splus.resamp.weights in modifiedStatistic.) An expression such as mean(y[a==1]) is converted to mean(y[a==1], weights = Splus.resamp.weights) which will fail because the weights vector was not subscripted along with y. In cases such as these pass a function that performs the desired calculations, or use
modifiedStatistic = mean(y[a==1], weights = Splus.resamp.weights[a==1]).

An error occurs if the bootstrap statistic can not be successfully modified to accomodate weights and modifiedStatistic is not provided.

The derivation of the intervals assumes that the bootstrap statistic is "functional", depending only on the empirical proportions, not the sample size. For example, var(x) is not functional, because it uses a divisor of n-1 rather than n; var(c(x,x)) gives a different answer; var(x, unbiased=F) is the functional version. However, in practice the interval is forgiving, provided that any non-functionality affects the bootstrap observed value and replicates the same, and the statistic uses the functional form when weights are supplied. In particular, intervals for var and stdev are the same whether you specify unbiased=FALSE or not when creating the bootstrap object.

NOTE:

Bootstrap tilting limits are an area of active research, and the function may be revised accordingly.

REFERENCES:

DiCiccio, T. J. and J. P. Romano (1990), "Nonparametric Confidence Limits by Resampling Methods and Least Favorable Families," International Statistical Review, 58, 59-76.

Efron, B. (1981), "Nonparametric Standard Errors and Confidence Intervals," Canadian Journal of Statistics, 9, 139-172.

Hesterberg, T.C. (1999), "Bootstrap Tilting Confidence Intervals and Hypothesis Tests", Computing Science and Statistics, 31, 389-393, Interface Foundation of North America, Fairfax Station, VA.

Hesterberg, T.C. (1999), "Bootstrap Tilting Confidence Intervals", Technical Report No. 84, http://www.insightful.com/Hesterberg

SEE ALSO:

, , , .

EXAMPLES:

temp <- bootstrap(stack.loss, mean, B=200) 
limits.tilt(temp)