validate.ols | R Documentation |
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.
# 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, ...)
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 |
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.
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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.