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>
# NOT RUN {p<-200n<-100beta.0=array(1,c(p,1))
x<-matrix(rnorm(n*p),n,p)
y<-rnorm(n,mean=0,sd=1)
lambda1<-1lambda2<-1M1<-diag(p)
updates<-beta.update.net(x, y, beta.0, lambda1, lambda2, M1)
# }