FLXMCvMF | R Documentation |
This driver for flexmix
implements
estimation of mixtures of von Mises-Fisher distributions where the
data can be stored in a dense or a simple triplet
matrix (package slam) format.
FLXMCvMF(formula = . ~ ., kappa = NULL)
formula |
a formula which is interpreted relative to the formula
specified in the call to |
kappa |
see the |
.
An object of class "FLXMCvMF"
.
Bettina Grün
if (requireNamespace("flexmix", quietly = TRUE)) { ## Generate and fit a "small-mix" data set a la Banerjee et al. mu <- rbind(c(-0.251, -0.968), c(0.399, 0.917)) kappa <- c(4, 4) theta <- kappa * mu theta alpha <- c(0.48, 0.52) ## Generate a sample of size n = 50 from the von Mises-Fisher mixture ## with the above parameters. set.seed(123) x <- rmovMF(50, theta, alpha) ## Fit a von Mises-Fisher mixture with the "right" number of components, ## using 10 EM runs. set.seed(123) y2 <- flexmix::stepFlexmix(x ~ 1, k = 2, model = FLXMCvMF(), verbose = FALSE) ## Inspect the fitted parameters: y2 ## Compare the fitted classes to the true ones: table(True = attr(x, "z"), Fitted = flexmix::clusters(y2)) ## To use a common kappa: y2cv <- flexmix::stepFlexmix(x ~ 1, k = 2, model = FLXMCvMF(kappa = list(common = TRUE)), verbose = FALSE) ## To use a common kappa fixed to the true value of 4: y2cf <- flexmix::stepFlexmix(x ~ 1, k = 2, model = FLXMCvMF(kappa = 4), verbose = FALSE) ## Comparing solutions via BIC: sapply(list(y2, y2cf, y2cv), BIC) ## Use a different kappa solver: set.seed(123) y2a <- flexmix::stepFlexmix(x ~ 1, k = 2, model = FLXMCvMF(kappa = "uniroot"), verbose = FALSE) y2a ## Using a sparse matrix: x <- slam::as.simple_triplet_matrix(x) y2 <- flexmix::stepFlexmix(x ~ 1, k = 2, model = FLXMCvMF(), verbose = FALSE) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.