dantzig.delta {GDSARM}R Documentation

Dantzig selector with an option to make profile plot

Description

The Dantzig selector (DS) finds a solution for the model parameters of a linear model, beta using linear programming. For a given delta, DS minimizes the L_1-norm (sum of absolute values) of beta subject to the constraint that max(|t(X)(y-X * beta)|) <= delta.

Usage

dantzig.delta(X, y, delta, plot = FALSE)

Arguments

X

a design matrix.

y

a vector of responses.

delta

a vector with the values of delta for which the DS optimization needs to be solved.

plot

a boolean value of either TRUE or FALSE with TRUE indicating that the profile plot should be drawn.

Value

A matrix of the estimated values of beta with each row corresponding to a particular value of delta.

Source

Cand\'es, E. and Tao, T. (2007). The Dantzig selector: Statistical estimation when p is much larger than n. Annals of Statistics 35 (6), 2313–2351.

Phoa, F. K., Pan, Y. H. and Xu, H. (2009). Analysis of supersaturated designs via the Dantzig selector. Journal of Statistical Planning and Inference 139 (7), 2362–2372.

See Also

GDS_givencols, GDSARM

Examples

data(dataHamadaWu)
X = dataHamadaWu[,-8]
Y = dataHamadaWu[,8]
#scale and center X and y
scaleX = base::scale(X, center= TRUE, scale = TRUE)
scaleY = base::scale(Y, center= TRUE, scale = FALSE)
maxDelta = max(abs(t(scaleX)%*%matrix(scaleY, ncol=1)))
# Dantzig Selector on 4 equally spaced delta values between 0 and maxDelta
dantzig.delta(scaleX, scaleY, delta = seq(0,maxDelta,length.out=4)) 


[Package GDSARM version 0.1.1 Index]