| Title: | Differential Network Estimation in R | 
| Version: | 1.0.1 | 
| Description: | An efficient and convenient set of functions to perform differential network estimation through the use of alternating direction method of multipliers optimization with a variety of loss functions. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.1.1 | 
| URL: | https://github.com/RicSalgado/dineR | 
| BugReports: | https://github.com/RicSalgado/dineR/issues | 
| Imports: | MASS, progress, Matrix | 
| Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2021-11-13 09:29:04 UTC; danie | 
| Author: | Ricardo Daniel Marques Salgado | 
| Maintainer: | Ricardo Daniel Marques Salgado <ricardodansalgado@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2021-11-15 09:20:12 UTC | 
Data Generator
Description
This functions generates two n by p size samples of multivariate normal
data. In doing this it also determines and provides the relevant covariance
matrices.
Usage
data_generator(n, p, Delta = NULL, case = "sparse", seed = NULL)
Arguments
| n | The number of observations generated. | 
| p | The number of dimensions for the generated samples. | 
| Delta | Optional parameter - Provides the differential network that will be used to obtain the sample covariance matrices. | 
| case | Optional parameter - Selects under which case the covariance matrices are determined. Possible cases are: "sparse" - Sparse Case or "asymsparse"- Asymptotically Sparse Case. Defaults to "sparse". | 
| seed | Optional parameter - Allows a seed to be set for reproducibility. | 
Value
A list of various outputs, namely:
- case - The case used. 
- seed_option - The seed provided. 
- X - The first multivariate normal sample. 
- Y - The second multivariate normal sample. 
- Sigma_X - The covariance matrix of X. 
- Sigma_Y - The covariance matrix of Y. 
- Omega_X - The precision matrix of X. 
- Omega_Y - The precision matrix of Y. 
- diff_Omega - The difference of precision matrices. 
- Delta - The target differential network. 
Examples
data <- data_generator(n = 100, p = 50, seed = 123)
data <- data_generator(n = 10, p = 50, case = "asymsparse")
Estimation
Description
This function performs alternating direction method of multipliers optimization for a variety of loss functions to estimate the differential network given two samples of multivariate normal data.
Usage
estimation(
  X,
  Y,
  lambdas = NULL,
  lambda_min_ratio = 0.3,
  nlambda = 10,
  a = NULL,
  loss = "lasso",
  tuning = "none",
  perturb = FALSE,
  stop_tol = 1e-05,
  max_iter = 500,
  correlation = FALSE,
  Delta_init = NULL,
  rho = NULL,
  gamma = NULL,
  verbose = FALSE
)
Arguments
| X | The first multivariate normal sample. | 
| Y | The second multivariate normal sample. | 
| lambdas | Optional parameter - A list of the regularization values to be used within the loss functions. | 
| lambda_min_ratio | Optional parameter - Defines the smallest regularization values as this proportion of the largest regularization value. Defaults to 0.3. | 
| nlambda | Optional parameter - The number of regularization values considered. Defaults to 10. | 
| a | Optional parameter - The thresholding parameter used in SCAD and MCP loss functions. Defaults to 3.7 with SCAD, and 3 with MCP respectively. | 
| loss | Optional parameter - The loss function of choice to implement. The function allows for four choices, namely "lasso", "scad", "mcp" and "d-trace". Defaults to "lasso". | 
| tuning | Optional parameter - The tuning method selected to determine the optimal value for the regularization parameter. Options are "none", "AIC", "BIC" and "EBIC". Defaults to "none". | 
| perturb | Optional parameter - When set to TRUE perturbation as done by the CLIME software to improve performance is implemented. Options are TRUE or FALSE, with the function defaulting to FALSE. | 
| stop_tol | Optional parameter - The stop tolerance to determine whether convergence has occurred. Defaults to 1e-5. | 
| max_iter | Optional parameter - The maximum number of iterations that can be perform for any one regularization value. Defaults to 100. | 
| correlation | Optional parameter - Determines whether the sample correlation matrices should be used in the place of the sample covariance matrices. Choices are TRUE and FALSE with the function defaulting to FALSE. | 
| Delta_init | Optional parameter - Allows for the algorithm to provided an initial estimate of the differential network to ease computation. | 
| rho | Optional parameter - Allows the user to adjust the ADMM step-size. Defaults to 1. | 
| gamma | Optional parameter - Allows the user to adjust the EBIC value when EBIC is the selected tuning method. Defaults to 0.5. | 
| verbose | Optional parameter - Allows the user to obtain a summary of the estimation results. Options are TRUE or FALSE, where FALSE indicates the summary is not provided. Defaults to FALSE. | 
Value
A list of various outputs, namely:
- n_X - The number of observations in X. 
- n_Y - The number of observations in Y. 
- Sigma_X - The covariance matrix of X. 
- Sigma_Y - The covariance matrix of Y. 
- loss - The loss function implemented. 
- tuning - The tuning method utilized. 
- lip - The value of the lipschitz constant. 
- iter - The iterations until convergence for each of the regularization values. 
- elapse - The total system time (in seconds) elapsed from initialization to completion of the optimization. 
- lambdas - The regularization parameter values used. 
- sparsity - The level of sparsity of the differential network for each regularization value. 
- path - The set of all differential networks for all regularization values considered. 
- ic - The output obtained from any possible tuning. 
- ic_index - The index at which the tuning is optimized. 
- ic_value - The tuning method optimal value. 
- chosen_lambda_ic - The regularization value that occurs at ic_index. 
- loss_index - The index at which the loss function is optimized. 
- loss_value - The loss function optimal value. 
- chosen_lambda_loss - The regularization value that occurs at loss_index. 
Examples
data <- data_generator(n = 100, p = 50, seed = 123)
X <- data$X
Y <- data$Y
result <- estimation(X,Y)
NPN - Non paranormal Transformation
Description
This functions allows us to transform non-normal multivariate data to that of non paranormal data.
Usage
npn(x, npn_func = "shrinkage", npn_thresh = NULL, verbose = TRUE)
Arguments
| x | The multivariate non-normal data to be transformed. | 
| npn_func | Optional parameter - The method of transformation to be applied. Can either be "shrinkage" or "truncation" but defaults to "shrinkage". | 
| npn_thresh | Optional parameter - The truncation threshold that is used when making use of truncation. | 
| verbose | Optional parameter - Prints additional output of the selected approach. Can either be "TRUE" or "FALSE" and defaults to "TRUE". | 
Value
Returns the transformed data matrix.
Examples
data <- data_generator(n = 100, p = 50, seed = 123)
X <- data$X
X_transformed <- npn(X, npn_func = "truncation")