Description Usage Arguments Details Value Author(s) References See Also Examples
Greedy Coordinate Descent for L1 regression with p predictors and n cases
1 | l1.reg(X, Y, lambda = 1)
|
X |
|
Y |
Outcome of length |
lambda |
Penalization Parameter. To find optimal |
l1.reg
performs a new algorithm for estimating regression coefficients with a lasso penalty. The algorithm is based on greedy coordinate descent and Edgeworth's algorithm for ordinary L1 regression. This L1 algorithm is faster than the cyclic coordinate descent in L2 regression (l2.reg).
X |
The design matrix. |
Y |
The outcome variable for cases. |
cases |
The number of cases |
predictors |
The number of predictors |
lambda |
The value of penalization parameter |
objective |
The value of the objective function |
residual |
A vector of length |
L1 |
The sum of the residuals |
estimate |
The estimate of the coefficients |
nonzeros |
The name of "selected" variables included in the model. |
selected |
The name of the "selected" variables included in the model. |
Edward Grant, Kenneth Lange, Tong Tong Wu
Maintainer: Edward Grant edward.m.grant@gmail.com
Wu, T.T. and Lange, K. (2008). Coordinate Descent Algorithms for Lasso Penalized Regression. Annals of Applied Statistics, Volume 2, No 1, 224-244.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | set.seed(100)
n=500
p=2000
nz = c(1:5)
true.beta<-rep(0,p)
true.beta[nz] = c(1,1,1,1,1)
x=matrix(rnorm(n*p),p,n)
y = t(x) %*% true.beta
rownames(x)<-1:nrow(x)
colnames(x)<-1:ncol(x)
#Lasso penalized L1 regression
out<-l1.reg(x,y,lambda=50)
#Re-estimate parameters without penalization
out2<-l1.reg(x[out$selected,],y,lambda=0)
out2
|
Call:
l1.reg.default(x[out$selected, ], y, lambda = 0)
# of cases= 500
# of predictors= 5
Lambda used: 0
Intercept:
[1] 0
Selected Coefficient Estimates:
Predictor Estimate
[1,] "1" "1.00000000489118"
[2,] "2" "1.00000000020971"
[3,] "3" "0.999999996731973"
[4,] "4" "0.99999999756147"
[5,] "5" "0.999999999034168"
Number of Active Variables:
[1] 5
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.