Performs stepwise model selection on a robustly fitted linear model. Presently only the backward stepwise procedure is implemented.
step.lmRob(object, scope, scale,
direction = c("both", "backward", "forward"),
trace = TRUE, keep = NULL, steps = 1000, fast = FALSE, ...)
the model with the lowest Robust Final Prediction Error encountered during the stepwise procedure is returned. Additionally, an anova
element corresponding to the steps taken in the search is appended to the returned object. If a keep
function was provided then the kept values can be found in the keep
element of the returned object.
an lmRob
object.
either a formula or a list with elements lower
and upper
each of which is a formula. The terms in the right-hand-side of lower
are always included in the model and the additional terms in the right-hand-side of upper
are the candidates for inclusion/exclusion from the model. If a single formula is given, it is taken to be upper
and lower
is set to the empty model. The .
operator is interpreted in the context of the formula in object
.
a single numeric value containing a residual scale estimate. If missing, the scale estimate in object
is used.
a character value specifying the mode of stepwise search. The possibilities are "both", "backward", and "forward", with a default of "backward". Presently only "backward" stepwise searches are implemented.
a logical value. If TRUE
, information is printed during stepwise search.
a filter function whose input is a fitted model object and the associated AIC statistic, and whose output is arbitrary. Typically keep will select a subset of the components of the object and return them. The default is not to keep anything.
an integer value specifying the the maximum number of steps to be considered. The default is 1000 (essentially as many as required). It is typically used to stop the process early.
a logical value. If TRUE
the robust initial estimate (used when fitting each of the reduced models) is replaced by a weighted least squares estimate using the robust weights computed for the current fit. Note: the fast algorithm does not work in this version of the Robust Library.
additional arguments required by the generic step function.
Presently only backward stepwise selection is supported. During each step the Robust Final Prediction Error (as computed by the function lmRob.RFPE
) is calculated for the current model and for each sub-model achievable by deleting a single term. The function then either steps to the sub-model with the lowest Robust Final Prediction Error or, if the current model has the lowest Robust Final Prediction Error, terminates. The scale estimate from object
is used to compute the Robust Final Prediction Error throughout the procedure unless the scale
argument is provided in which case the user specified value is used.
lmRob
,
lmRob.RFPE
,
drop1.lmRob
.
data(stack.dat)
stack.rob <- lmRob(Loss ~ ., data = stack.dat)
## The default behavior is to try dropping all terms ##
step.lmRob(stack.rob)
## Keep Water.Temp in the model ##
my.scope <- list(lower = . ~ Water.Temp, upper = . ~ .)
step.lmRob(stack.rob, scope = my.scope)
Run the code above in your browser using DataLab