jeek: A Fast and Scalable Joint Estimator for Integrating...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/jeek.R

Description

A Fast and Scalable Joint Estimator for Integrating Additional Knowledge in Learning Multiple Related Sparse Gaussian Graphical Models. Please run demo(jeek) to learn the basic functions provided by this package. For further details, please read the original paper: Beilun Wang, Arshdeep Sekhon, Yanjun Qi (2018).

Usage

1
jeek(X, lambda, W = NA, covType = "cov", parallel = FALSE)

Arguments

X

A List of input matrices. They can be data matrices or covariance/correlation matrices. If every matrix in the X is a symmetric matrix, the matrices are assumed to be covariance/correlation matrices. More details at <https://github.com/QData/JEEK>

lambda

A positive number. The hyperparameter controls the sparsity level of the matrices. The λ_n in the following section: Details.

W

A list of weight matrices. The hyperparameter intergrating the additional knowledge into the model. The W_{ij} is large means that node i and node j have less probability to connect with each other. The default value of each entry is 1, which means there is no additional knowledge in the formulation.

covType

A parameter to decide which Graphical model we choose to estimate from the input data.

If covType = "cov", it means that we estimate multiple sparse Gaussian Graphical models. This option assumes that we calculate (when input X represents data directly) or use (when X elements are symmetric representing covariance matrices) the sample covariance matrices as input to the JEEK algorithm.

If covType = "kendall", it means that we estimate multiple nonparanormal Graphical models. This option assumes that we calculate (when input X represents data directly) or use (when X elements are symmetric representing correlation matrices) the kendall's tau correlation matrices as input to the JEEK algorithm.

parallel

A boolean. This parameter decides if the package will use the multithreading architecture or not.

Details

The JEEK algorithm is a novel Joint Elementary Estimator incorporating additional Knowledge (JEEK) to infer multiple related sparse Gaussian Graphical models from large-scale heterogeneous data. It solves the following equation:

\min\limits_{Ω^{tot}_I, Ω^{tot}_S} ||W^{tot}_I \circ Ω^{tot}_I||_1 + ||W^{tot}_S\circ Ω^{tot}_S||

Subject to :

||W^{tot}_I \circ (Ω^{tot} - inv(T_v(\hat{Σ}^{tot}))) ||_{∞} ≤ λ_n

||W^{tot}_S \circ (Ω^{tot} - inv(T_v(\hat{Σ}^{tot}))) ||_{∞} ≤ λ_n

Ω^{tot} = Ω^{tot}_S + Ω^{tot}_I

Please also see the equation (3.7) in our paper. The λ_n is the hyperparameter controlling the sparsity level of the matrices and it is the lambda in our function. For further details, please see our paper: Beilun Wang, Arshdeep Sekhon, Yanjun Qi. A Fast and Scalable Joint Estimator for Integrating Additional Knowledge in Learning Multiple Related Sparse Gaussian Graphical Models. ICML 2018

Value

Graphs

A list of the estimated inverse covariance/correlation matrices.

Author(s)

Beilun Wang

References

Beilun Wang, Arshdeep Sekhon, Yanjun Qi. A Fast and Scalable Joint Estimator for Integrating Additional Knowledge in Learning Multiple Related Sparse Gaussian Graphical Models. <arXiv:1806.00548>

Examples

1
2
3
4
5
6
## Not run: 
data(exampleData)
result = jeek(X = exampleData, 0.3, covType = "cov", parallel = TRUE)
plot.jeek(results)

## End(Not run)

jeek documentation built on May 2, 2019, 12:52 a.m.