Learn R Programming

fabMix (version 5.1)

Overfitting Bayesian Mixtures of Factor Analyzers with Parsimonious Covariance and Unknown Number of Components

Description

Model-based clustering of multivariate continuous data using Bayesian mixtures of factor analyzers (Papastamoulis (2019) (2018) ). The number of clusters is estimated using overfitting mixture models (Rousseau and Mengersen (2011) ): suitable prior assumptions ensure that asymptotically the extra components will have zero posterior weight, therefore, the inference is based on the ``alive'' components. A Gibbs sampler is implemented in order to (approximately) sample from the posterior distribution of the overfitting mixture. A prior parallel tempering scheme is also available, which allows to run multiple parallel chains with different prior distributions on the mixture weights. These chains run in parallel and can swap states using a Metropolis-Hastings move. Eight different parameterizations give rise to parsimonious representations of the covariance per cluster (following Mc Nicholas and Murphy (2008) ). The model parameterization and number of factors is selected according to the Bayesian Information Criterion. Identifiability issues related to label switching are dealt by post-processing the simulated output with the Equivalence Classes Representatives algorithm (Papastamoulis and Iliopoulos (2010) , Papastamoulis (2016) ).

Copy Link

Version

Install

install.packages('fabMix')

Monthly Downloads

269

Version

5.1

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Panagiotis Papastamoulis

Last Published

February 12th, 2024

Functions in fabMix (5.1)

compute_sufficient_statistics_given_mu

Compute sufficient statistics given mu
compute_sufficient_statistics_q0

Compute sufficient statistics for \(q = 0\)
update_OmegaINV

Gibbs sampling for \(\Omega^{-1}\)
fabMix

Main function
update_SigmaINV_faster

Gibbs sampling for \(\Sigma^{-1}\)
fabMix-package

tools:::Rd_package_title("fabMix")
log_dirichlet_pdf

Log-density function of the Dirichlet distribution
update_z_q0_sameSigma

Gibbs sampling for \(z\) for \(q=0\)
overfittingMFA_CCU

Basic MCMC sampler for the CCU model
summary.fabMix.object

Summary method
update_OmegaINV_Cxx

Gibbs sampling for \(\Omega^{-1}\) for Cxx model
getStuffForDIC

Compute information criteria
overfittingMFA_CCC

Basic MCMC sampler for the CCC model
overfittingMFA_missing_values

Basic MCMC sampler for the case of missing data
waveDataset1500

Wave dataset
compute_A_B_G_D_and_simulate_mu_Lambda_q0

Computation and simulations for \(q = 0\).
dealWithLabelSwitching

Apply label switching algorithms
fabMix_missing_values

Function to estimate the UUU or UCU models in case of missing values
observed.log.likelihood0_Sj

Log-likelihood of the mixture model
update_z_b_Sj

Gibbs sampling for \(z\)
observed.log.likelihood0_Sj_q0

Log-likelihood of the mixture model for \(q=0\)
overfittingMFA

Basic MCMC sampler for the UCU model
update_all_y

Gibbs sampling for \(y\) in xCx model
update_SigmaINV_xUC

Gibbs sampling for \(\Sigma^{-1}\) per component for xUC models
simData

Synthetic data generator
update_z_q0

Gibbs sampling for \(z\) for \(q=0\)
observed.log.likelihood0_q0_sameSigma

Log-likelihood of the mixture model for \(q=0\) and same variance of errors
simData2

Synthetic data generator 2
overfitting_q0

MCMC sampler for \(q=0\)
update_SigmaINV_faster_q0_sameSigma

Gibbs sampling for \(\Sigma^{-1}\) per component for \(q=0\)
fabMix_parallelModels

Function for model-level parallelization
update_SigmaINV_xCC

Gibbs sampling for \(\Sigma^{-1}\) for xCC models
fabMix_UxC

Function to estimate the UUC and UCC models
update_z2_Sj

Collapsed Gibbs for \(z\) using matrix inversion lemma
overfittingMFA_Sj_missing_values

Basic MCMC sampler for the case of missing data and different error variance
overfitting_q0_sameSigma

MCMC sampler for \(q=0\) and same error variance parameterization
overfittingMFA_Sj

Basic MCMC sampler for the UUU model
plot.fabMix.object

Plot function
compute_A_B_G_D_and_simulate_mu_Lambda_q0_sameSigma

Computation and simulations for \(q = 0\).
update_z4

Collapsed Gibbs for \(z\)
overfittingMFA_CUU

Basic MCMC sampler for the CUU model
overfittingMFA_CUC

Basic MCMC sampler for the CUC model
update_SigmaINV_faster_Sj

Gibbs sampling for \(\Sigma^{-1}\) per component
fabMix_UxU

Function to estimate the UUU and UCU model
update_SigmaINV_faster_q0

Gibbs sampling for \(\Sigma^{-1}\) per component for \(q=0\)
update_z4_Sj

Collapsed Gibbs for \(z\)
update_z_b

Gibbs sampling for \(z\)
myDirichlet

Simulate from the Dirichlet distribution
observed.log.likelihood0

Log-likelihood of the mixture model
overfittingMFA_UCC

Basic MCMC sampler for the UCC model
update_all_y_Sj

Gibbs sampling for \(y\) in xUx model
overfittingMFA_UUC

Basic MCMC sampler for the UUC model
print.fabMix.object

Print function
readLambdaValues

Read Lambda values.
update_z2

Collapsed Gibbs for \(z\) using matrix inversion lemma
compute_A_B_G_D_and_simulate_mu_Lambda

Computation and simulations
CovMat_mcmc_summary

Compute quantiles for the covariance matrix.
complete.log.likelihood_Sj

Complete log-likelihood function for xUx models.
complete.log.likelihood_q0_sameSigma

Complete log-likelihood function for xCx models and \(q=0\)
compute_A_B_G_D_and_simulate_mu_Lambda_CUU

Computation and simulations for CUU
complete.log.likelihood_q0

Complete log-likelihood function for xUx models and \(q=0\)
compute_A_B_G_D_and_simulate_mu_Lambda_Sj

Computation and simulations
compute_A_B_G_D_and_simulate_mu_Lambda_CCU

Computation and simulations for CCU
complete.log.likelihood

Complete log-likelihood function for xCx models.
CorMat_mcmc_summary

Compute quantiles for the correlation matrix.
fabMix_CxU

Function to estimate the CCU and CUU models
compute_sufficient_statistics

Compute sufficient statistics
fabMix_CxC

Function to estimate the CUC and CCC models