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 validate.ols
can also be used when a model for a
continuous response is going to be applied to a binary response. A
Somers' y
. This can be used to obtain an ordinary receiver
operating characteristic curve area using the formula 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.
# 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, ...)
matrix with rows corresponding to R-square, MSE, g, intercept, slope, and
optionally
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
.
see
validate
and predab.resample
and
fastbw
If specifed, y
is also dichotomized at the cutoff u
for
the purpose of getting a bias-corrected estimate of
relationship for dichotomizing predicted y
. Defaults to
">"
to use y>u
. rel
can also be "<"
,
">="
, and "<="
.
tolerance for singularity; passed to lm.fit.qr
.
other arguments to pass to predab.resample
, such as group
, cluster
, and subset
prints a summary, and optionally statistics for each re-fit
Frank Harrell
Department of Biostatistics, Vanderbilt University
fh@fharrell.com
ols
, predab.resample
, fastbw
,
rms
, rms.trans
, calibrate
,
gIndex
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