

bootpred(bootstrap)                          R Documentation

_B_o_o_t_s_t_r_a_p _E_s_t_i_m_a_t_e_s _o_f _P_r_e_d_i_c_t_i_o_n _E_r_r_o_r

_U_s_a_g_e_:

     bootpred(x,y,nboot,theta.fit,theta.predict,err.meas,...)

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

       x: a matrix containing the predictor (regressor) val-
          ues. Each row corresponds to an observation.

       y: a vector containing the response values

   nboot: the number of bootstrap replications

theta.fit: function to be cross-validated. Takes `x' and `y'
          as an argument. See example below.

theta.predict: function producing predicted values for
          `theta.fit'. Arguments are a matrix `x' of predic-
          tors and fit object produced by `theta.fit'. See
          example below.

err.meas: function specifying error measure for a single
          response `y' and prediction `yhat'. See examples
          below

     ...: any additional arguments to be passed to
          `theta.fit'

_V_a_l_u_e_:

     list with the following components

 app.err: the apparent error rate - that is, the mean value
          of `err.meas' when `theta.fit' is applied to `x'
          and `y', and then used to predict `y'.

   optim: the bootstrap estimate of optimism in `app.err'. A
          useful estimate of prediction error is
          `app.err+optim'

 err.632: the ".632" bootstrap estimate of prediction error.

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

     Efron, B. (1983). Estimating the error rate of a pre-
     diction rule: improvements on cross-validation. J.
     Amer. Stat. Assoc, vol 78. pages 316-31.

     Efron, B. and Tibshirani, R. (1993) An Introduction to
     the Bootstrap.  Chapman and Hall, New York, London.

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

     # bootstrap prediction error estimation in least squares
     #  regression
     x <- rnorm(85)
     y <- 2*x +.5*rnorm(85)
     theta.fit <- function(x,y){lsfit(x,y)}
     theta.predict <- function(fit,x){
                    cbind(1,x)%*%fit$coef
                    }
     sq.err_function(y,yhat) { (y-yhat)^2}
     results <- bootpred(x,y,20,theta.fit,theta.predict,
          err.meas=sq.err)

     # for a classification problem, a standard choice
     # for err.meas would simply count up the
     #  classification errors:
     miss.clas <- function(y,yhat){ 1*(yhat!=y)}
     # with this specification,  bootpred estimates
     #  misclassification rate

