R: EM Algorithm for Mixtures of Multinomials

multmixEM {mixtools} | R Documentation

## EM Algorithm for Mixtures of Multinomials

### Description

Return EM algorithm output for mixtures of multinomial distributions.

### Usage

    multmixEM(y, lambda = NULL, theta = NULL, k = 2,
              maxit = 10000, epsilon = 1e-08, verb = FALSE)

### Arguments

`y` | Either An nxp matrix of data (multinomial counts), where n is the sample size and p is the number of multinomial bins, or the output of the `makemultdata` function. It is not necessary that all of the rows contain the same number of multinomial trials (i.e., the row sums of `y` need not be identical).
`lambda` | Initial value of mixing proportions. Entries should sum to 1. This determines number of components. If NULL, then `lambda` is random from uniform Dirichlet and number of components is determined by `theta`.
`theta` | Initial value of `theta` parameters. Should be a kxp matrix, where p is the number of columns of y and k is number of components. Each row of `theta` should sum to 1. If NULL, then each row is random from uniform Dirichlet. If both `lambda` and `theta` are NULL, then number of components is determined by k.
`k` | Number of components. Ignored unless `lambda` and `theta` are NULL.
`epsilon` | The convergence criterion.
`maxit` | The maximum number of iterations.
`verb` | If TRUE, then various updates are printed during each iteration of the algorithm.

### Value

`multmixEM` returns a list of class `mixEM` with items:

`y` | The raw data.
`lambda` | The final mixing proportions.
`theta` | The final multinomial parameters.
`loglik` | The final log-likelihood.
`posterior` | An nxk matrix of posterior probabilities for observations.
`all.loglik` | A vector of each iteration's log-likelihood.
`restarts` | The number of times the algorithm restarted due to unacceptable choice of initial values.
`ft` | A character vector giving the name of the function.

### References

- McLachlan, G. J. and Peel, D. (2000) Finite Mixture Models, John Wiley \& Sons, Inc.

- Elmore, R. T., Hettmansperger, T. P. and Xuan, F. (2004) The Sign Statistic, One-Way Layouts and Mixture Models, Statistical Science 19(4), 579–587.

### See Also

`compCDF`, `makemultdata`, `multmixmodel.sel`

### Examples

    ## The sulfur content of the coal seams in Texas

    set.seed(100)
    A <- c(1.51, 1.92, 1.08, 2.04, 2.14, 1.76, 1.17)
    B <- c(1.69, 0.64, .9, 1.41, 1.01, .84, 1.28, 1.59)
    C <- c(1.56, 1.22, 1.32, 1.39, 1.33, 1.54, 1.04, 2.25, 1.49)
    D <- c(1.3, .75, 1.26, .69, .62, .9, 1.2, .32)
    E <- c(.73, .8, .9, 1.24, .82, .72, .57, 1.18, .54, 1.3)

    dis.coal <- makemultdata(A, B, C, D, E,
                             cuts = median(c(A, B, C, D, E)))
    em.out <- multmixEM(dis.coal)
    em.out[1:4]

[Package mixtools version 1.2.0 Index]