CRAN_Status_Badge rstudio mirror downloads rstudio mirror downloads

MoEClust R Package

Finite Gaussian Mixtures of Experts -

Parsimonious Model-Based Clustering

with Gating and Expert Network Covariates

Written by Keefe Murphy

Fits MoEClust models introduced by Murphy and Murphy (2017) <arXiv:1711.05632>, i.e. fits finite Gaussian mixture of experts models with gating and expert network covariates using parsimonious covariance parameterisations from mclust via the EM algorithm. Also visualises mixture of experts models with parsimonious covariance structures using generalised pairs plots.

The most important function in the MoEClust package is: MoE_clust, for fitting the model via EM with gating and/or expert network covariates, supplied via formula interfaces. Other functions also exist, e.g. MoE_control, MoE_crit, MoE_dens, MoE_estep, and MoE_aitken, which are all used within MoE_clust but are nonetheless made available for standalone use. MoE_compare is provided for conducting model selection between different results from MoE_clust using different covariate combinations &/or initialisation strategies, etc.

A dedicated plotting function exists for visualising the results using generalised pairs plots, for examining the gating network &/or log-likelihood, and/or graphing model selection criteria values. The generalised pairs plots (MoE_gpairs) visualise all pairwise relationships between clustered response variables and associated gating &/or expert network continuous &/or categorical variables, coloured according to the MAP classification, and also give the marginal distributions of each variable along the diagonal.

An as.Mclust method is provided to coerce the output of class "MoEClust" from MoE_clust to the "Mclust" class, to facilitate use of plotting and other functions for the "Mclust" class within the mclust package. As per mclust, MoEClust also facilitates modelling with an additional noise component.

The package also contains two data sets: ais and CO2data.

To install the development version of the package type:

# If required install devtools:  
# install.packages('devtools')  
devtools::install_github('Keefe-Murphy/MoEClust')

You can then explore the package with:

library(MoEClust)  
help(MoE_clust) # Help on the main modelling function