compute the PMLE or MLE of the parameters under a mixture of normals with unequal variance

Description

Compute the PMLE or MLE of the parameters under a mixture of normals with unequal variance.

Usage

1
2
pmle.norm(x, m0 = 1, lambda = 0, 
	  inival=NULL, len = 10, niter = 50, tol = 1e-06, rformat = FALSE)

Arguments

x

data, can be either a vector or a matrix with the 1st column being the observed data values and the 2nd column being the corresponding frequencies.

m0

order of the finite mixture model, default value: m0 = 1.

lambda

level of penalty for mixing proportions, default value: lambda = 0.

inival

initial values for the EM-algorithm, a 3m0-dimension vector including m0 mixing proportions, m0 component means and m0 component variances, or a matrix with 3m0 columns, default value: inival = NULL. (if not provided, random initial values are used.)

len

number of random initial values for the EM-algorithm, default value: len = 10.

niter

number of iterations for all initial values in the EM-algorithm. The algorithm runs EM-iteration niter times from each initial value. The iteration will restart from the parameter value with the highest likelihood value at the point and run until convergence. default value: niter = 50.

tol

tolerance level for the convergence of the EM-algorithm, default value: tol = 1e-6.

rformat

form of the digital output: default of R package is used when rformat = T; If rformat = T, the digital output is rounded to the 3rd dicimal place if it is larger than 0.001, keeps 3 significant digits otherwise. The default value of rformat is F.

Value

Return the PMLE or MLE of the parameters with order = m0 (mixing proportions, mixing means and mixing variances), log-likelihood value at the PMLE or MLE and the penalized log-likelihood value at the PMLE.

Author(s)

Shaoting Li, Jiahua Chen and Pengfei Li

See Also

emtest.norm, plotmix.norm, rmix.norm

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#load the pearson's crab data,
#fit the 2 and 3 component normal mixture models,
#plot the histgorams of the observations and the fitted densities.
data(pearson)
out1 <- pmle.norm(pearson,2,1)
plotmix.norm(pearson,out1)

## Not run: 
out2 <- pmle.norm(pearson,3,1)
plotmix.norm(pearson,out2)
par(mfrow=c(1,1))

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.