# edgenet-methods: Fit a graph-regularized linear regression model using... In cbg-ethz/pareg: Pathway enrichment using a regularized regression approach

 edgenet R Documentation

## Fit a graph-regularized linear regression model using edge-based regularization. Adapted from https://github.com/dirmeier/netReg.

### Description

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")`

### Usage

``````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 signature '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 signature '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 `pareg::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)
``````

cbg-ethz/pareg documentation built on July 20, 2023, 7:30 p.m.