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

View source: R/SimulateMixture.R

SimulateMixtureR Documentation

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 \times P, where K is the number of clusters and P is the dimension, containing the K mean vectors.

sigma

An array of dimension K \times P \times 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 \times P.

Author(s)

Raphael Gottardo <raph@stat.ubc.ca>, Kenneth Lo <c.lo@stat.ubc.ca>

See Also

flowClust

Examples

### 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)

RGLab/flowStats documentation built on July 20, 2023, 1:33 a.m.