The R package bmixture provides statistical tools for Bayesian estimation for the mixture of distributions. The package implemented the improvements in the Bayesian literature, including Mohammadi et al. (2013) and Mohammadi and Salehi-Rad (2012).
Besides, the package contains several functions for simulation and visualization, as well as a real dataset taken from the literature.
Installation
You can install the latest version from CRAN using:
install.packages( "bmixture" )require( "bmixture" )Example 1: Finite mixture of Normal distributions using real world data
Here is a simple example to see the performance of the package for the Finite mixture of Normal distributions for the galaxy dataset:
data( galaxy ) # Runing bdmcmc algorithm for the galaxy dataset mcmc_sample = bmixnorm( data = galaxy ) summary( mcmc_sample ) plot( mcmc_sample ) print( mcmc_sample )
Example 2: Finite mixture of Normal distributions using simulatoin data
Here is a simple example to see the performance of the package for the Finite mixture of Normal distributions using simulation data. First, we simulate data from the mixture of Normal with 3 components as follow:
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 )
Now, we run the 'bdmcmc' algorithm for the above simulation data set
bmixnorm.obj = bmixnorm( data, k = 3, iter = 1000 ) summary( bmixnorm.obj )