Bayesian Estimation for Finite Mixture of Distributions.
bmixture
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 )