Skip to content
/ GMCM Public

Unsupervised Clustering and Meta-analysis using Gaussian Mixture Copula Models

Notifications You must be signed in to change notification settings

AEBilgrau/GMCM

Repository files navigation

Project Status: Active - The project has reached a stable, usable state and is being actively developed. Build Status CRAN version CRAN RStudio mirror downloads Total CRAN downloads Coverage Status

GMCM

Fast estimation of Gaussian Mixture Copula Models

The GMCM package (Bilgrau et. al., 2016) offers R functions that very fast perform high-dimensional meta-analysis (Li et. al., 2011) and general unsupervised cluster analysis (Tewari et. al., 2011) using Gaussian Copula Mixture Models. Online documentation is available here.

Gaussian copula mixture models (GMCMs) are a very flexible alternative to regular Gaussian mixture models (GMMs) in unsupervised cluster analysis of continuous data where non-normal clusters are present. GMCMs models the ranks of the observed data and are thus invariant to monotone increasing transformations of the data, i.e. they are semi-parametric and only the ordering of the data is important providing needed flexibility. A special-case of GMCMs can be used for a novel meta-analysis approach in high-dimensional settings. In this context, the model tries to cluster results into two groups which agree and do not agree on statistical evidence. These two groups corresponds to a reproducible and irreproducible group.

The optimization of the complicated likelihood function is difficult, however. GMCM utilizes Rcpp and RcppArmadillo to evaluate the likelihood function quickly and arrive at a parameter estimate using either standard numerical optimization routines or an pseudo EM algorithm.

Additional information, documentation, help, and examples can be found by here or by running ?GMCM in R. The paper[1] is also found as a vignette by vignette("GMCM-JStatSoft") or the official website online.. The core user functions of GMCM are fit.full.GMCM and fit.meta.GMCM.

Installation

The released and tested version of GMCM is available at CRAN (Comprehensive R Archive Network). It can be installed from within R by running

install.packages("GMCM")

If you wish to install the latest version of GMCM directly from the master branch at GitHub, run

#install.packages("remotes")  # Install remotes if needed
remotes::install_github("AEBilgrau/GMCM")

Note, that this version is in development and is likely different from the version at CRAN. As such, it may be unstable. Be sure that you have the package development prerequisites if you wish to install the package from the source.

When installed, run GMCM::runGMCM() to launch a local instance of the GMCM shiny application also available online at shinyapps.io. Run news(package = "GMCM") to view the latest changes of GMCM or visit here.

For previous versions of GMCM, visit the old releases at GitHub or the archive at CRAN.

Usage

As noted above, the usage of GMCM comes in two different applications; one general and one special.

Special GMCMs

An example of using the package to fit special GMCMs for meta analysis of is described here vignette("usage-example-special-model"). This model is a specific special case of the general GMCMs.

General GMCMs

An example of unsupervised clustering using the package is found with vignette("usage-example-general-model") for general purposes.

Shiny

The package also provides a graphical user interface via Shiny for both its uses. See vignette("usage-shiny-graphical-interface").

References

  1. Anders Ellern Bilgrau, Poul Svante Eriksen, Jakob Gulddahl Rasmussen, Hans Erik Johnsen, Karen Dybkaer, Martin Boegsted (2016). GMCM: Unsupervised Clustering and Meta-Analysis Using Gaussian Mixture Copula Models. Journal of Statistical Software, 70(2), 1-23. doi:10.18637/jss.v070.i02