control                 package:boot                 R Documentation

_C_o_n_t_r_o_l _V_a_r_i_a_t_e _C_a_l_c_u_l_a_t_i_o_n_s

_D_e_s_c_r_i_p_t_i_o_n:

     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.

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

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]'. 

bias.adj: 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. 

_D_e_t_a_i_l_s:

     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'.

_V_a_l_u_e:

     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'. 

_R_e_f_e_r_e_n_c_e_s:

     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.

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

     library(modreg) # for smooth.spline
     # 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)
     }
     data(aircondit)
     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]))

