# cvedgenet-methods: Find the optimal shrinkage parameters for edgenet In netReg: Network-Regularized Regression Models

## Description

Finds the optimal regulariztion parameters using cross-validation for edgenet. We use the BOBYQA algorithm to find the optimial regularization parameters in a cross-validation framework.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52``` ```cv.edgenet( X, Y, G.X = NULL, G.Y = NULL, lambda = NA_real_, psigx = NA_real_, psigy = NA_real_, thresh = 1e-05, maxit = 1e+05, learning.rate = 0.01, family = gaussian, optim.maxit = 100, optim.thresh = 0.01, nfolds = 10 ) ## S4 method for signature 'matrix,numeric' cv.edgenet( X, Y, G.X = NULL, G.Y = NULL, lambda = NA_real_, psigx = NA_real_, psigy = NA_real_, thresh = 1e-05, maxit = 1e+05, learning.rate = 0.01, family = gaussian, optim.maxit = 100, optim.thresh = 0.01, nfolds = 10 ) ## S4 method for signature 'matrix,matrix' cv.edgenet( X, Y, G.X = NULL, G.Y = NULL, lambda = NA_real_, psigx = NA_real_, psigy = NA_real_, thresh = 1e-05, maxit = 1e+05, learning.rate = 0.01, family = gaussian, optim.maxit = 100, optim.thresh = 0.01, nfolds = 10 ) ```

## 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. Providing a graph `G.X` will optimize the regularization parameter `psi.gx`. If this is not desired just set `G.X` to `NULL`. `G.Y` non-negativ affinity matrix for `Y`, of dimensions (`q` x `q`) where `q` is the number of responses `Y`. Providing a graph `G.Y` will optimize the regularization parameter `psi.gy`. If this is not desired just set `G.Y` to `NULL`. `lambda` `numerical` shrinkage parameter for LASSO. Per default this parameter is set to `NA_real_` which means that `lambda` is going to be estimated using cross-validation. If any `numerical` value for `lambda` is set, estimation of the optimal parameter will not be conducted. `psigx` `numerical` shrinkage parameter for graph-regularization of `G.X`. Per default this parameter is set to `NA_real_` which means that `psigx` is going to be estimated in the cross-validation. If any `numerical` value for `psigx` is set, estimation of the optimal parameter will not be conducted. `psigy` `numerical` shrinkage parameter for graph-regularization of `G.Y`. Per default this parameter is set to `NA_real_` which means that `psigy` is going to be estimated in the cross-validation. If any `numerical` value for `psigy` is set, estimation of the optimal parameter will not be conducted. `thresh` `numerical` threshold for the optimizer `maxit` maximum number of iterations for the optimizer (`integer`) `learning.rate` step size for Adam optimizer (`numerical`) `family` family of response, e.g. gaussian or binomial `optim.maxit` the maximum number of iterations for the optimization (`integer`). Usually 1e4 is a good choice. `optim.thresh` `numerical` threshold criterion for the optimization to stop. Usually 1e-3 is a good choice. `nfolds` the number of folds to be used - default is 10

## Value

An object of class `cv.edgenet`

 `parameters ` the estimated, optimal regularization parameters `lambda ` optimal estimated value for regularization parameter lambda (or, if provided as argument, the value of the parameter) `psigx ` optimal estimated value for regularization parameter psigx (or, if provided as argument, the value of the parameter) `psigy ` optimal estimated value for regularization parameter psigy (or, if provided as argument, the value of the parameter) `estimated.parameters ` names of parameters that were estimated `family ` family used for estimated `fit ` an `edgenet` object fitted with the optimal, estimated paramters `call ` the call that produced the object

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39``` ```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 and estimate lambda fit <- cv.edgenet( X = X, Y = Y, family = gaussian, maxit = 1, optim.maxit = 1 ) ## only provide one matrix and estimate lambda fit <- cv.edgenet( X = X, Y = Y, G.X = G.X, psigx = 1, family = gaussian, maxit = 1, optim.maxit = 1 ) ## estimate only lambda with two matrices fit <- cv.edgenet( X = X, Y = Y, G.X = G.X, G.Y, psigx = 1, psigy = 1, family = gaussian, maxit = 1, optim.maxit = 1 ) ## estimate only psigx fit <- cv.edgenet( X = X, Y = Y, G.X = G.X, G.Y, lambda = 1, psigy = 1, family = gaussian, maxit = 1, optim.maxit = 1 ) ## estimate all parameters fit <- cv.edgenet( X = X, Y = Y, G.X = G.X, G.Y, family = gaussian, maxit = 1, optim.maxit = 1 ) ## if Y is vectorial, we cannot use an affinity matrix for Y fit <- cv.edgenet( X = X, Y = Y[, 1], G.X = G.X, family = gaussian, maxit = 1, optim.maxit = 1 ) ```

netReg documentation built on Nov. 8, 2020, 5:17 p.m.