# pmle.norm: compute the PMLE or MLE of the parameters under a mixture of... In MixtureInf: Inference for Finite Mixture Models

## 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

 ``` 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) ```