Learn R Programming

LassoNet (version 0.8.3)

beta.update.net: Updates \(\beta\) coefficients.

Description

This function updates \(\beta\) for given penalty parameters.

Usage

beta.update.net(x,y,beta,lambda1,lambda2,M1,n.iter,iscpp,tol)

Arguments

x

input data matrix of size \(n \times p\); n - number of observations; p - number of covariates

y

response vector or size \(n \times 1\)

beta

initial value for \(\beta\); default - zero vector of size \(n \times 1\)

lambda1

lasso penalty parameter

lambda2

network penalty parameter

M1

penalty matrix

n.iter

maximum number of iterations for \(\beta\) step; default - 1e5

iscpp

binary choice for using cpp function in coordinate updates; 1 - use C++ (default), 0 - use R

tol

convergence tolerance level; default - 1e-6

Value

beta

updated \(\beta\) vector

convergence

binary variable; 1 - yes

steps

number of steps until convergence

Details

Updates the coefficient vector \(\beta\) given the data and penalty parameters \(\lambda\)1 and \(\lambda\)2. Convergence criterion is defined as \(\sum_{i=1}^p |\beta_{i,j} - \beta_{i,j-1}| \leq\) to.

References

Weber, M., Striaukas, J., Schumacher, M., Binder, H. "Network-Constrained Covariate Coefficient and Connection Sign Estimation" (2018) <doi:10.2139/ssrn.3211163>

Examples

Run this code
# NOT RUN {
p<-200
n<-100
beta.0=array(1,c(p,1))
x<-matrix(rnorm(n*p),n,p)
y<-rnorm(n,mean=0,sd=1)
lambda1<-1
lambda2<-1
M1<-diag(p)
updates<-beta.update.net(x, y, beta.0, lambda1, lambda2, M1)
# }

Run the code above in your browser using DataLab