R: EM Algorithm for Mixtures of Normals with Repeated...

repnormmixEM {mixtools} | R Documentation

## EM Algorithm for Mixtures of Normals with Repeated Measurements

### Description

Returns EM algorithm output for mixtures of normals with repeated measurements and arbitrarily many components.

### Usage

    repnormmixEM(x, lambda = NULL, mu = NULL, sigma = NULL, k = 2,
                 arbmean = TRUE, arbvar = TRUE, epsilon = 1e-08,
                 maxit = 10000, verb = FALSE)

### Arguments

`x` | An mxn matrix of data. The columns correspond to the subjects and the rows correspond to the repeated measurements.
`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 `mu`.
`mu` | A k-vector of component means. If NULL, then `mu` is determined by a normal distribution according to a binning method done on the data. If both `lambda` and `mu` are NULL, then number of components is determined by `sigma`.
`sigma` | A vector of standard deviations. If NULL, then 1/\code{sigma}^2 has random standard exponential entries according to a binning method done on the data. If `lambda`, `mu`, and `sigma` are NULL, then number of components is determined by `k`.
`k` | Number of components. Ignored unless all of `lambda`, `mu`, and `sigma` are NULL.
`arbmean` | If TRUE, then the component densities are allowed to have different `mu`s. If FALSE, then a scale mixture will be fit.
`arbvar` | If TRUE, then the component densities are allowed to have different `sigma`s. If FALSE, then a location mixture will be fit.
`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

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

`x` | The raw data.
`lambda` | The final mixing proportions.
`mu` | The final mean parameters.
`sigma` | The final standard deviations. If `arbmean` = FALSE, then only the smallest standard deviation is returned. See `scale` below.
`scale` | If `arbmean` = FALSE, then the scale factor for the component standard deviations is returned. Otherwise, this is omitted from the output.
`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

Hettmansperger, T. P. and Thomas, H. (2000) Almost Nonparametric Inference for Repeated Measures in Mixture Models, Journal of the Royals Statistical Society, Series B 62(4) 811–825.

### See Also

`normalmixEM`

### Examples

    ## EM output for the water-level task data set.

    data(Waterdata)
    set.seed(100)
    water <- t(as.matrix(Waterdata[,3:10]))
    em.out <- repnormmixEM(water, k = 2, verb = TRUE, epsilon = 1e-03)
    em.out

[Package mixtools version 1.2.0 Index]