control
Control Variate Calculations
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.
- Keywords
- nonparametric
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 thenempinf
is called to calculate them fromboot.out
.- distn
If present this must be the output from
smooth.spline
giving the distribution function of the linear approximation. This is used only ifbias.adj
isFALSE
. Normally this would be found using a saddlepoint approximation. If it is not supplied in that case then it is calculated bysaddle.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 ifbias.adj
isFALSE
. The input value is ignored ift
is not also supplied. The default value is isboot.out$t0[index]
.- t
The bootstrap replicate values of the statistic of interest. This argument is used only if
bias.adj
isFALSE
. The input is ignored ift0
is not supplied also. The default value isboot.out$t[,index]
.- bias.adj
A logical variable which if
TRUE
specifies that the adjusted bias estimate using post-simulation balance is all that is required. Ifbias.adj
isFALSE
(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
isFALSE
.- …
Any additional arguments that
boot.out$statistic
requires. These are passed unchanged every timeboot.out$statistic
is called.boot.out$statistic
is called once ifbias.adj
isTRUE
, otherwise it may be called byempinf
for empirical influence calculations ifL
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
.
Value
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
The empirical influence values used. These are the input values if
supplied, and otherwise they are the values calculated by
empinf
.
The linear approximations to the bootstrap replicates t
of
the statistic of interest.
The control estimate of bias using the linear approximation to
t
as a control variate.
The control estimate of variance using the linear approximation to
t
as a control variate.
The control estimate of the third cumulant using the linear
approximation to t
as a control variate.
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.
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.
See Also
boot
, empinf
, k3.linear
, linear.approx
, saddle.distn
, smooth.spline
, var.linear
Examples
# NOT RUN {
# 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]))
# }