Fit a graph-regularized linear regression model using edge-penalization. The coefficients are computed using graph-prior knowledge in the form of one/two affinity matrices. Graph-regularization is an extension to previously introduced regularization techniques, such as the LASSO. See the vignette for details on the objective function of the model: vignette("edgenet", package="netReg")

edgenet(
  X,
  Y,
  G.X = NULL,
  G.Y = NULL,
  lambda = 0,
  psigx = 0,
  psigy = 0,
  thresh = 1e-05,
  maxit = 1e+05,
  learning.rate = 0.01,
  family = gaussian
)

# S4 method for matrix,numeric
edgenet(
  X,
  Y,
  G.X = NULL,
  G.Y = NULL,
  lambda = 0,
  psigx = 0,
  psigy = 0,
  thresh = 1e-05,
  maxit = 1e+05,
  learning.rate = 0.01,
  family = gaussian
)

# S4 method for matrix,matrix
edgenet(
  X,
  Y,
  G.X = NULL,
  G.Y = NULL,
  lambda = 0,
  psigx = 0,
  psigy = 0,
  thresh = 1e-05,
  maxit = 1e+05,
  learning.rate = 0.01,
  family = gaussian
)

Arguments

X

input matrix, of dimension (n x p) where n is the number of observations and p is the number of covariables. Each row is an observation vector.

Y

output matrix, of dimension (n x q) where n is the number of observations and q is the number of response variables. Each row is an observation vector.

G.X

non-negativ affinity matrix for X, of dimensions (p x p) where p is the number of covariables

G.Y

non-negativ affinity matrix for Y, of dimensions (q x q) where q is the number of responses

lambda

numerical shrinkage parameter for LASSO.

psigx

numerical shrinkage parameter for graph-regularization of G.X

psigy

numerical shrinkage parameter for graph-regularization of G.Y

thresh

numerical threshold for optimizer

maxit

maximum number of iterations for optimizer (integer)

learning.rate

step size for Adam optimizer (numerical)

family

family of response, e.g. gaussian or binomial

Value

An object of class edgenet

beta

the estimated (p x q)-dimensional coefficient matrix B.hat

alpha

the estimated (q x 1)-dimensional vector of intercepts

parameters

regularization parameters

lambda

regularization parameter lambda)

psigx

regularization parameter psigx

psigy

regularization parameter psigy

family

a description of the error distribution and link function to be used. Can be a netReg::family function or a character string naming a family function, e.g. gaussian or "gaussian".

call

the call that produced the object

References

Cheng, Wei and Zhang, Xiang and Guo, Zhishan and Shi, Yu and Wang, Wei (2014), Graph-regularized dual Lasso for robust eQTL mapping.
Bioinformatics

Examples

X <- matrix(rnorm(100 * 10), 100, 10) b <- matrix(rnorm(100), 10) G.X <- abs(rWishart(1, 10, diag(10))[, , 1]) G.Y <- abs(rWishart(1, 10, diag(10))[, , 1]) diag(G.X) <- diag(G.Y) <- 0 # estimate the parameters of a Gaussian model Y <- X %*% b + matrix(rnorm(100 * 10), 100) ## dont use affinity matrices fit <- edgenet(X = X, Y = Y, family = gaussian, maxit = 10) ## only provide one matrix fit <- edgenet(X = X, Y = Y, G.X = G.X, psigx = 1, family = gaussian, maxit = 10) ## use two matrices fit <- edgenet(X = X, Y = Y, G.X = G.X, G.Y, family = gaussian, maxit = 10) ## if Y is vectorial, we cannot use an affinity matrix for Y fit <- edgenet(X = X, Y = Y[, 1], G.X = G.X, family = gaussian, maxit = 10)