sim                  package:mclust                  R Documentation

_S_i_m_u_l_a_t_e _f_r_o_m _P_a_r_a_m_e_t_e_r_i_z_e_d _M_V_N _M_i_x_t_u_r_e _M_o_d_e_l_s

_D_e_s_c_r_i_p_t_i_o_n:

     Simulate data from parameterized MVN mixture models.

_U_s_a_g_e:

     sim(modelName, mu, ..., seed = 0)

_A_r_g_u_m_e_n_t_s:

modelName: A character string indicating the model. Possible models: 

           "E": equal variance  (one-dimensional) 
           "V": variable variance (one-dimensional) 

           "EII": spherical, equal volume 
           "VII": spherical, unequal volume 
           "EEI": diagonal, equal volume, equal shape 
           "VEI": diagonal, varying volume, equal shape 
           "EVI": diagonal, equal volume, varying shape 
           "VVI": diagonal, varying volume, varying shape 
           "EEE": ellipsoidal, equal volume, shape, and orientation 
           "EEV": ellipsoidal, equal volume and equal shape
           "VEV": ellipsoidal, equal shape 
           "VVV": ellipsoidal, varying volume, shape, and orientation  

      mu: The mean for each component. If there is more than one
          component, 'mu' is a matrix whose columns are the means of
          the components. 

     ...: Arguments for model-specific functions. Specifically:

             *  An argument describing the variance (depends on the
                model):

             _s_i_g_m_a_s_q for the one-dimensional models ("E", "V") and
                  spherical models ("EII", "VII"). This is either a
                  vector whose _k_th component is the variance for the
                  _k_th component in the mixture model ("V" and "VII"),
                  or a scalar giving the common variance for all
                  components in the mixture model ("E" and "EII"). 

             _d_e_c_o_m_p for the diagonal models ("EEI", "VEI", "EVI",
                  "VVI") and some ellipsoidal models ("EEV", "VEV").
                  This is a list described in 'cdens'. 

             _S_i_g_m_a for the equal variance model "EEE". A _d_ by _d_
                  matrix giving the common covariance for all
                  components of the mixture model.

             _s_i_g_m_a for the unconstrained variance model "VVV". A _d_ by
                  _d_ by _G_ matrix array whose '[,,k]'th entry is the
                  covariance matrix for the _k_th component of the
                  mixture model.

                  The form of the variance specification is the same as
                  for the output for the 'em', 'me', or 'mstep' methods
                  for the specified mixture model.

     _p_r_o Component mixing proportions. If missing, equal proportions
          are assumed. 

     _n An integer specifying the number of data points to be simulated.

    seed: A integer between 0 and 1000, inclusive, for specifying a
          seed for  random class assignment. The default value is 0. 

_D_e_t_a_i_l_s:

     This function can be used with an indirect or list call using
     'do.call', allowing the output of e.g. 'mstep', 'em', 'me', or
     'EMclust' to be passed directly without the need to specify
     individual parameters as arguments.

_V_a_l_u_e:

     A data set consisting of n points simulated from the specified 
     MVN mixture model.

_R_e_f_e_r_e_n_c_e_s:

     C. Fraley and A. E. Raftery (2002a). Model-based clustering,
     discriminant analysis, and density estimation. _Journal of the
     American Statistical Association 97:611-631_. See <URL:
     http://www.stat.washington.edu/mclust>. 

     C. Fraley and A. E. Raftery (2002b). MCLUST:Software for
     model-based clustering, density estimation and  discriminant
     analysis.  Technical Report, Department of Statistics, University
     of Washington. See <URL: http://www.stat.washington.edu/mclust>.

_S_e_e _A_l_s_o:

     'simE', ..., 'simVVV', 'EMclust', 'mstep', 'do.call'

_E_x_a_m_p_l_e_s:

     data(iris)
     irisMatrix <- as.matrix(iris[,1:4])

     irisBic <- EMclust(irisMatrix)
     irisSumry <- summary(irisBic,irisMatrix)
     names(irisSumry)
     irisSim <- sim(modelName = irisSumry$modelName, n = dim(irisMatrix)[1],
            mu = irisSumry$mu, decomp = irisSumry$decomp, pro = irisSumry$pro)
     ## Not run: 
     irisSim <- do.call("sim", irisSumry) ## alternative call
     ## End(Not run)

     par(pty = "s", mfrow = c(1,2))
     dimens <- c(1,2)
     xlim <- range(rbind(irisMatrix,irisSim)[,dimens][,1])
     ylim <- range(rbind(irisMatrix,irisSim)[,dimens][,2])

     cl <- irisSumry$classification
     coordProj(irisMatrix, par=irisSumry, classification=cl, dimens=dimens, 
               xlim=xlim, ylim=ylim)
     cl <- attr(irisSim,"classification")
     coordProj(irisSim, par=irisSumry, classification=cl, dimens=dimens, 
               xlim=xlim, ylim=ylim)

     irisSumry3 <- summary(irisBic,irisMatrix, G=3)
     irisSim3 <- do.call("sim", c(list(n = 500, seed = 1), irisSumry3))
     clPairs(irisSim3, cl = attr(irisSim3,"classification"))

