bmixture-package {bmixture}R Documentation

Bayesian Estimation for Finite Mixture of Distributions


The R package bmixture provides statistical tools for Bayesian estimation in finite mixture of distributions. The package implemented the improvements in the Bayesian literature, including Mohammadi and Salehi-Rad (2012) and Mohammadi et al. (2013). Besides, the package contains several functions for simulation and visualization, as well as a real dataset taken from the literature.

How to cite this package

Whenever using this package, please cite as Mohammadi R. (2019). bmixture: Bayesian Estimation for Finite Mixture of Distributions, R package version 1.5,


Reza Mohammadi <>


Mohammadi, A., Salehi-Rad, M. R., and Wit, E. C. (2013) Using mixture of Gamma distributions for Bayesian analysis in an M/G/1 queue with optional second service. Computational Statistics, 28(2):683-700, doi: 10.1007/s00180-012-0323-3

Mohammadi, A., and Salehi-Rad, M. R. (2012) Bayesian inference and prediction in an M/G/1 with optional second service. Communications in Statistics-Simulation and Computation, 41(3):419-435, doi: 10.1080/03610918.2011.588358

Stephens, M. (2000) Bayesian analysis of mixture models with an unknown number of components-an alternative to reversible jump methods. Annals of statistics, 28(1):40-74, doi: 10.1214/aos/1016120364

Richardson, S. and Green, P. J. (1997) On Bayesian analysis of mixtures with an unknown number of components. Journal of the Royal Statistical Society: series B, 59(4):731-792, doi: 10.1111/1467-9868.00095

Green, P. J. (1995) Reversible jump Markov chain Monte Carlo computation and Bayesian model determination. Biometrika, 82(4):711-732, doi: 10.1093/biomet/82.4.711

Cappe, O., Christian P. R., and Tobias, R. (2003) Reversible jump, birth and death and more general continuous time Markov chain Monte Carlo samplers. Journal of the Royal Statistical Society: Series B, 65(3):679-700

Wade, S. and Ghahramani, Z. (2018) Bayesian Cluster Analysis: Point Estimation and Credible Balls (with Discussion). Bayesian Analysis, 13(2):559-626, doi: 10.1214/17-BA1073


## Not run: 

require( bmixture )

data( galaxy )

# Runing bdmcmc algorithm for the galaxy dataset      
mcmc_sample = bmixnorm( data = galaxy )

summary( mcmc_sample ) 
plot( mcmc_sample )
print( mcmc_sample)

# simulating data from mixture of Normal with 3 components
n      = 500
mean   = c( 0  , 10 , 3   )
sd     = c( 1  , 1  , 1   )
weight = c( 0.3, 0.5, 0.2 )
data = rmixnorm( n = n, weight = weight, mean = mean, sd = sd )
# plot for simulation data      
hist( data, prob = TRUE, nclass = 30, col = "gray" )
x           = seq( -20, 20, 0.05 )
densmixnorm = dmixnorm( x, weight, mean, sd )
lines( x, densmixnorm, lwd = 2 )  
# Runing bdmcmc algorithm for the above simulation data set      
bmixnorm.obj = bmixnorm( data, k = 3, iter = 1000 )
summary( bmixnorm.obj ) 

## End(Not run)

[Package bmixture version 1.7 Index]