Description Usage Arguments Details Value Author(s) See Also Examples
The regular expectation-maximization algorithm for general multivariate Gaussian mixture models.
1 2 | EMAlgorithm(x, theta, m, eps = 1e-06, max.ite = 1e+05,
trace.theta = FALSE, verbose = FALSE)
|
x |
A |
theta |
A list of parameters of class |
m |
|
eps |
The maximal required difference in successive likelihoods to establish convergence. |
max.ite |
The maximum number of iterations. |
trace.theta |
Logical. If |
verbose |
Set to |
Though not as versatile, the algorithm can be a faster alternative
to Mclust
in the mclust
-package. If theta
is not given,
a k-means clustering is used to determine the initial theta
.
A list of length 3 with elements:
theta |
A list of the estimated parameters as described in
|
loglik.tr |
A numeric vector of the log-likelihood trace. |
kappa |
A matrix where |
Anders Ellern Bilgrau <anders.ellern.bilgrau@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | set.seed(3)
true.theta <- rtheta(d = 2, m = 3, method = "old")
true.theta$sigma <- lapply(true.theta$sigma, cov2cor) # Scale
## Not run:
plot(true.theta, nlevels = 20, add.ellipses = TRUE)
## End(Not run)
data <- SimulateGMCMData(n = 1000, theta = true.theta)
start.theta <- rtheta(d = 2, m = 3)
start.theta$mu <- t(kmeans(data$z, 3)$centers) # More sensible location estimates
start.theta <- as.theta(start.theta) # Coerce the matrix to a list
res <- GMCM:::EMAlgorithm(data$z, theta = start.theta)
par(mfrow = c(1,2))
plot(data$z, cex = 0.5, pch = 16, main = "Simulated data",
col = rainbow(3)[data$K])
plot(data$z, cex = 0.5, pch = 16, main = "GMM clustering",
col = rainbow(3)[apply(res$kappa,1,which.max)])
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.