rms (version 5.1-2)

# validate.ols: Validation of an Ordinary Linear Model

## Description

The validate function when used on an object created by ols does resampling validation of a multiple linear regression model, with or without backward step-down variable deletion. Uses resampling to estimate the optimism in various measures of predictive accuracy which include $$R^2$$, $$MSE$$ (mean squared error with a denominator of $$n$$), the $$g$$-index, and the intercept and slope of an overall calibration $$a + b\hat{y}$$. The "corrected" slope can be thought of as shrinkage factor that takes into account overfitting. validate.ols can also be used when a model for a continuous response is going to be applied to a binary response. A Somers' $$D_{xy}$$ for this case is computed for each resample by dichotomizing y. This can be used to obtain an ordinary receiver operating characteristic curve area using the formula $$0.5(D_{xy} + 1)$$. The Nagelkerke-Maddala $$R^2$$ index for the dichotomized y is also given. See predab.resample for the list of resampling methods.

The LaTeX needspace package must be in effect to use the latex method.

## Usage

# fit <- fitting.function(formula=response ~ terms, x=TRUE, y=TRUE)
# S3 method for ols
validate(fit, method="boot", B=40,
bw=FALSE, rule="aic", type="residual", sls=0.05, aics=0,
force=NULL, estimates=TRUE, pr=FALSE, u=NULL, rel=">",
tolerance=1e-7, …)

## Arguments

fit

a fit derived by ols. The options x=TRUE and y=TRUE must have been specified. See validate for a description of arguments method - pr.

method,B,bw,rule,type,sls,aics,force,estimates,pr

see validate and predab.resample and fastbw

u

If specifed, y is also dichotomized at the cutoff u for the purpose of getting a bias-corrected estimate of $$D_{xy}$$.

rel

relationship for dichotomizing predicted y. Defaults to ">" to use y>u. rel can also be "<", ">=", and "<=".

tolerance

tolerance for singularity; passed to lm.fit.qr.

other arguments to pass to predab.resample, such as group, cluster, and subset

## Value

matrix with rows corresponding to R-square, MSE, g, intercept, slope, and optionally $$D_{xy}$$ and $$R^2$$, and columns for the original index, resample estimates, indexes applied to whole or omitted sample using model derived from resample, average optimism, corrected index, and number of successful resamples.

## Side Effects

prints a summary, and optionally statistics for each re-fit

ols, predab.resample, fastbw, rms, rms.trans, calibrate, gIndex

## Examples

Run this code
# NOT RUN {
set.seed(1)
x1 <- runif(200)
x2 <- sample(0:3, 200, TRUE)
x3 <- rnorm(200)
distance <- (x1 + x2/3 + rnorm(200))^2

f <- ols(sqrt(distance) ~ rcs(x1,4) + scored(x2) + x3, x=TRUE, y=TRUE)

#Validate full model fit (from all observations) but for x1 < .75
validate(f, B=20, subset=x1 < .75)   # normally B=300

#Validate stepwise model with typical (not so good) stopping rule
validate(f, B=20, bw=TRUE, rule="p", sls=.1, type="individual")
# }


Run the code above in your browser using DataLab