Learn R Programming

flowClust (version 3.10.1)

SimulateMixture: Random Generation from a t Mixture Model with Box-Cox Transformation

Description

This function can be used to generate a sample from a multivariate $t$ mixture model with Box-Cox transformation.

Usage

SimulateMixture(N, w, mu, sigma, nu=4, lambda)

Arguments

N
The number of observations.
w
A vector of length $K$, containing the $K$ cluster proportions.
mu
A matrix of size $K x P$, where $K$ is the number of clusters and $P$ is the dimension, containing the $K$ mean vectors.
sigma
An array of dimension $K x P x P$, containing the $K$ covariance matrices.
nu
The degrees of freedom used for the $t$ distribution.
lambda
The Box-Cox transformation parameter. If missing, the conventional $t$ distribution without transformation will be used.

Value

A matrix of size $N x P$.

See Also

flowClust

Examples

Run this code

### Number of components
K <- 5
### Dimension
p <- 2
### Number of observations
n <- 200
Mu <- matrix(runif(K*p, 0, 20), K, p)
Sigma <- array(0, c(K, p, p))

for (k in 1:K)
{
    Sigma[k,,][outer(1:p, 1:p, ">")] <- runif(p*(p-1)/2,-.1,.1)
    diag(Sigma[k,,]) <- runif(p,0,1)
    ### Make sigma positive definite
    Sigma[k,,] <- Sigma[k,,] %*% t(Sigma[k,,])
}

### Generate the weights
w <- rgamma(K,10,1)
w <- w/sum(w)

y <- SimulateMixture(n, w, Mu, Sigma, nu=4)

Run the code above in your browser using DataLab