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

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