Fast Backward Variable Selection
fastbw.RdPerforms a slightly inefficient but numerically stable version of fast
backward elimination on factors, using a method based on Lawless and Singhal
(1978).
This method uses the fitted complete model and computes approximate Wald
statistics by computing conditional (restricted) maximum likelihood estimates
assuming multivariate normality of estimates.
fastbw deletes factors, not columns of the design matrix. Factors requiring multiple d.f. will be retained or dropped as a group.
The function prints the deletion statistics for each variable in
turn, and prints approximate parameter estimates for the model after
deleting variables. The approximation is better when the number of
factors deleted is not large. For ols, the approximation is exact for
regression coefficients, and standard errors are only off by a factor
equal to the ratio of the mean squared error estimate for the reduced
model to the original mean squared error estimate for the full model.
If the fit was from ols, fastbw will compute the usual \(R^2\)
statistic for each model.
Arguments
- fit
fit object with
Varcov(fit)defined (e.g., fromols,lrm,cph,psm,glmD)- rule
Stopping rule. Defaults to
"aic"for Akaike's information criterion. Userule="p"to use \(P\)-values- type
Type of statistic on which to base the stopping rule. Default is
"residual"for the pooled residual chi-square. Usetype="individual"to use Wald chi-square of individual factors.- sls
Significance level for staying in a model if
rule="p". Default is .05.- aics
For
rule="aic", variables are deleted until the chi-square -k.aictimes d.f. would rise aboveaics. Defaultaicsis zero to use the ordinary AIC. Setaicsto say 10000 to see all variables deleted in order of descending importance.- eps
Singularity criterion, default is
1E-14.- k.aic
multiplier to compute AIC, default is 2. To use BIC, set
k.aicequal to \(\log(n)\), where \(n\) is the effective sample size (number of events for survival models).- force
a vector of integers specifying parameters forced to be in the model, not counting intercept(s)
- x
result of
fastbw- digits
number of significant digits to print
- estimates
set to
FALSEto suppress printing table of approximate coefficients, SEs, etc., after variable deletions- ...
ignored
Value
a list with an attribute kept if bw=TRUE, and the
following components:
- result
matrix of statistics with rows in order of deletion.
- names.kept
names of factors kept in final model.
- factors.kept
the subscripts of factors kept in the final model
- factors.deleted
opposite of
factors.kept.- parms.kept
column numbers in design matrix corresponding to parameters kept in the final model.
- parms.deleted
opposite of
parms.kept.- coefficients
vector of approximate coefficients of reduced model.
- var
approximate covariance matrix for reduced model.
- Coefficients
matrix of coefficients of all models. Rows correspond to the successive models examined and columns correspond to the coefficients in the full model. For variables not in a particular sub-model (row), the coefficients are zero.
References
Lawless, J. F. and Singhal, K. (1978): Efficient screening of nonnormal regression models. Biometrics 34:318–327.
Examples
if (FALSE) { # \dontrun{
fastbw(fit, optional.arguments) # print results
z <- fastbw(fit, optional.args) # typically used in simulations
lm.fit(X[,z$parms.kept], Y) # least squares fit of reduced model
} # }