[ top | up ]
Bootstrap Estimates of Prediction Error
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.
|
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