View source: R/adaptive.weights.R
adaptive.weights | R Documentation |
Fast computation of weights needed for adaptive lasso based on Gaussian family data.
adaptive.weights(x, y, nu = 1, weight.method = c("multivariate", "univariate"))
x |
input matrix, of dimension nobs x nvars; each row is an observation vector. |
y |
response variable. |
nu |
non-negative tuning parameter |
weight.method |
Should the weights be computed for multivariate regression model (only possible when the number of observations is larger than the number of parameters) or by individual marginal/"univariate" regression coefficients. |
The weights returned are 1/abs(beta_hat)^nu where the beta-parameters are estimated from the corresponding linear model (either multivariate or univariate).
Returns a list with two elements:
weights |
the computed weights |
nu |
the value of nu used for the computations |
Claus Ekstrom claus@rprimer.dk
Xou, H (2006). The Adaptive Lasso and Its Oracle Properties. JASA, Vol. 101.
glmnet
set.seed(1)
x <- matrix(rnorm(50000), nrow=50)
y <- rnorm(50, mean=x[,1])
weights <- adaptive.weights(x, y)
if (requireNamespace("glmnet", quietly = TRUE)) {
res <- glmnet::glmnet(x, y, penalty.factor=weights$weights)
head(res)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.