Learn R Programming

dr (version 3.0.10)

drop1.dr: Sequential fitting of coordinate tests using a dr object

Description

This function implements backward elimination using a dr object for which a dr.coordinate.test is defined, currently for SIR SAVE, IRE and PIRE.

Usage

dr.step(object,scope=NULL,d=NULL,minsize=2,stop=0,trace=1,...)
"drop1"(object, scope = NULL, update=TRUE, test="general",trace=1,...)

Arguments

object
A dr object for which dr.coordinate.test is defined, for method equal to one of sir, save or ire.
scope
A one sided formula specifying predictors that will never be removed.
d
To use conditional coordinate tests, specify the dimension of the central (mean) subspace. The default is NULL, meaning no conditioning. This is currently available only for methods sir, save without categorical predictors, or for ire with or without categorical predictors.
minsize
Minimum subset size, must be greater than or equal to 2.
stop
Set stopping criterion: continue removing variables until the p-value for the next variable to be removed is less than stop. The default is stop = 0.
update
If true, the update method is used to return a dr object obtained from object by updating the formula to drop the variable with the largest p.value. This can significantly slow the computations for IRE but has little effect on SAVE and SIR.
test
Type of test to be used for selecting the next predictor to remove for method="save" only. "normal" assumes normal predictors, "general" assumes elliptically contoured predictors. For other methods, this argument is ignored.
trace
If positive, print informative output at each step, the default. If trace is 0 or false, suppress all printing.
...
Additional arguments passed to dr.coordinate.test.

Value

As a side effect, a data frame of labels, tests, df, and p.values is printed. If update=TRUE, a dr object is returned with the predictor with the largest p.value removed.

Details

Suppose a dr object has $p=a+b$ predictors, with $a$ predictors specified in the scope statement. drop1 will compute either marginal coordinate tests (if d=NULL) or conditional marginal coordinate tests (if d is positive) for dropping each of the b predictors not in the scope, and return p.values. The result is an object created from the original object with the predictor with the largest p.value removed.

dr.step will call drop1.dr repeatedly until $\max(a,d+1)$ predictors remain.

References

Cook, R. D. (2004). Testing predictor contributions in sufficient dimension reduction. Annals of Statistics, 32, 1062-1092.

Shao, Y., Cook, R. D. and Weisberg (2007). Marginal tests with sliced average variance estimation. Biometrika.

See Also

dr.coordinate.test

Examples

Run this code
data(ais)
# To make this idential to ARC, need to modify slices to match by
# using slice.info=dr.slices.arc() rather than nslices=8
summary(s1 <- dr(LBM~log(SSF)+log(Wt)+log(Hg)+log(Ht)+log(WCC)+log(RCC)+
                 log(Hc)+log(Ferr), data=ais,method="sir",
                 slice.method=dr.slices.arc,nslices=8)) 
# The following will almost duplicate information in Table 5 of Cook (2004).
# Slight differences occur because a different approximation for the
# sum of independent chi-square(1) random variables is used:
ans1 <- drop1(s1)
ans2 <- drop1(s1,d=2)
ans3 <- drop1(s1,d=3)
# remove predictors stepwise until we run out of variables to drop.
dr.step(s1,scope=~log(Wt)+log(Ht))

Run the code above in your browser using DataLab