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 |
mu |
A k-vector of component means. If NULL, then |
sigma |
A vector of standard deviations. If NULL, then |
k |
Number of components. Ignored unless all of |
arbmean |
If TRUE, then the component densities are allowed to have different |
arbvar |
If TRUE, then the component densities are allowed to have different |
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 |
scale |
If |
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
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