# control {boot}

Control Variate Calculations
Package:
boot
Version:
1.3-18

### Description

This function will find control variate estimates from a bootstrap output object. It can either find the adjusted bias estimate using post-simulation balancing or it can estimate the bias, variance, third cumulant and quantiles, using the linear approximation as a control variate.

### Usage

```control(boot.out, L = NULL, distn = NULL, index = 1, t0 = NULL,
t = NULL, bias.adj = FALSE, alpha = NULL, ...)
```

### Arguments

boot.out
A bootstrap output object returned from `boot`. The bootstrap replicates must have been generated using the usual nonparametric bootstrap.
L
The empirical influence values for the statistic of interest. If `L` is not supplied then `empinf` is called to calculate them from `boot.out`.
distn
If present this must be the output from `smooth.spline` giving the distribution function of the linear approximation. This is used only if `bias.adj` is `FALSE`. Normally this would be found using a saddlepoint approximation. If it is not supplied in that case then it is calculated by `saddle.distn`.
index
The index of the variable of interest in the output of `boot.out\$statistic`.
t0
The observed value of the statistic of interest on the original data set `boot.out\$data`. This argument is used only if `bias.adj` is `FALSE`. The input value is ignored if `t` is not also supplied. The default value is is `boot.out\$t0[index]`.
t
The bootstrap replicate values of the statistic of interest. This argument is used only if `bias.adj` is `FALSE`. The input is ignored if `t0` is not supplied also. The default value is `boot.out\$t[,index]`.
A logical variable which if `TRUE` specifies that the adjusted bias estimate using post-simulation balance is all that is required. If `bias.adj` is `FALSE` (default) then the linear approximation to the statistic is calculated and used as a control variate in estimates of the bias, variance and third cumulant as well as quantiles.
alpha
The alpha levels for the required quantiles if `bias.adj` is `FALSE`.
...
Any additional arguments that `boot.out\$statistic` requires. These are passed unchanged every time `boot.out\$statistic` is called. `boot.out\$statistic` is called once if `bias.adj` is `TRUE`, otherwise it may be called by `empinf` for empirical influence calculations if `L` is not supplied.

### Details

If `bias.adj` is `FALSE` then the linear approximation to the statistic is found and evaluated at each bootstrap replicate. Then using the equation T* = Tl*+(T*-Tl*), moment estimates can be found. For quantile estimation the distribution of the linear approximation to `t` is approximated very accurately by saddlepoint methods, this is then combined with the bootstrap replicates to approximate the bootstrap distribution of `t` and hence to estimate the bootstrap quantiles of `t`.

### Values

If `bias.adj` is `TRUE` then the returned value is the adjusted bias estimate.

If `bias.adj` is `FALSE` then the returned value is a list with the following components

L
The empirical influence values used. These are the input values if supplied, and otherwise they are the values calculated by `empinf`.
tL
The linear approximations to the bootstrap replicates `t` of the statistic of interest.
bias
The control estimate of bias using the linear approximation to `t` as a control variate.
var
The control estimate of variance using the linear approximation to `t` as a control variate.
k3
The control estimate of the third cumulant using the linear approximation to `t` as a control variate.
quantiles
A matrix with two columns; the first column are the alpha levels used for the quantiles and the second column gives the corresponding control estimates of the quantiles using the linear approximation to `t` as a control variate.
distn
An output object from `smooth.spline` describing the saddlepoint approximation to the bootstrap distribution of the linear approximation to `t`. If `distn` was supplied on input then this is the same as the input otherwise it is calculated by a call to `saddle.distn`.

### References

Davison, A.C. and Hinkley, D.V. (1997) Bootstrap Methods and Their Application. Cambridge University Press. Davison, A.C., Hinkley, D.V. and Schechtman, E. (1986) Efficient bootstrap simulation. Biometrika, 73, 555--566.

Efron, B. (1990) More efficient bootstrap computations. Journal of the American Statistical Association, 55, 79--89.

`boot`, `empinf`, `k3.linear`, `linear.approx`, `saddle.distn`, `smooth.spline`, `var.linear`

### Examples

```# Use of control variates for the variance of the air-conditioning data
mean.fun <- function(d, i)
{    m <- mean(d\$hours[i])
n <- nrow(d)
v <- (n-1)*var(d\$hours[i])/n^2
c(m, v)
}
air.boot <- boot(aircondit, mean.fun, R = 999)
control(air.boot, index = 2, bias.adj = TRUE)
air.cont <- control(air.boot, index = 2)
# Now let us try the variance on the log scale.
air.cont1 <- control(air.boot, t0 = log(air.boot\$t0[2]),
t = log(air.boot\$t[, 2]))```

Documentation reproduced from package boot, version 1.3-18. License: Unlimited