R: Bootstrap Estimates of Prediction Error

bootpred {bootstrap} | R Documentation

## Bootstrap Estimates of Prediction Error

### Description

See Efron and Tibshirani (1993) for details on this function.

### Usage

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

### Arguments

`x` | a matrix containing the predictor (regressor) values. 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 predictors 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`

### Value

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.
`call` | The deparsed call

### References

Efron, B. (1983). Estimating the error rate of a prediction 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.

### Examples

    # 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

[Package bootstrap version 2019.6 Index]