validate.ols {rms} | R Documentation |
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 class '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 |
method , B , bw , rule , type , sls , aics , force , estimates , pr |
see
|
u |
If specifed, |
rel |
relationship for dichotomizing predicted |
tolerance |
tolerance for singularity; passed to |
... |
other arguments to pass to |
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
Author(s)
Frank Harrell
Department of Biostatistics, Vanderbilt University
fh@fharrell.com
See Also
ols
, predab.resample
, fastbw
,
rms
, rms.trans
, calibrate
,
gIndex
Examples
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")