MBC Procedure
PROC MBC Statement
PROC MBC <options>;
The PROC MBC statement invokes the procedure. Table 1 summarizes the available options in the PROC MBC statement by function. They are then described fully in alphabetical order.
Table 1: PROC MBC Statement Options
| Option | Description |
|---|---|
| Basic Options | |
| DATA= | Specifies the input data table |
| Options Related to Model Fitting | |
| CONVTEST= | Specifies the convergence test to use for model fitting |
| COVSTRUCT= | Specifies the covariance structure |
| CRITERION= | Specifies the fit statistic to use for model selection |
| EMCRITERION= | Tunes the expectation-maximization (EM) convergence criterion |
| FACTORDETAILS | Includes factor loadings and unique error variances in the ParameterEstimates table |
| INIT= | Specifies the initialization method |
| ITHIST= | Displays the iteration history |
| MAXITER= | Specifies the maximum number of EM iterations |
| NCLUSTERS= | Specifies the number of Gaussian components |
| NFACTORS= | Specifies the number of latent factors |
| NOISE= | Specifies the presence of noise |
| SEED= | Specifies the pseudorandom number seed |
| SINGPARM= | Tunes the parameter singularity criterion |
| SINGULAR= | Tunes the singularity criterion |
| TECHNIQUE= | Specifies the EM technique |
| TOPMODELS= | Specifies the number of models to display in summary |
The following options are available in the PROC MBC statement:
- CONVTEST=AITKEN | LOGL
-
specifies the convergence test to use. You can specify the following values:
By default, CONVTEST=LOGL. If the convergence test value is less than or equal to the value specified in the EMCRITERION= option, the process is considered to have converged.
- COVSTRUCT=name | (name <name …name>) | ALLGMIX | ALLPGMIX | ALL
-
specifies the covariance structure for the Gaussian components. The value of name can be one of the covariance structures for Gaussian mixture modeling or parsimonious Gaussian mixture modeling.
Nine covariance structures are available for fitting Gaussian mixture models (GMMs): COVSTRUCT=EEE | EEI | EEV | EII | EVI | EVV | VII | VVI | VVV.
Eight covariance structures are available for fitting parsimonious Gaussian mixture models (PGMMs): COVSTRUCT=CCC | CCU | CUC | CUU | UCC | UCU | UUC | UUU.
By default, COVSTRUCT=VVV.
The GMM structures impose one or more constraints on the covariance matrices in the separate Gaussian components, whereas the PGMM structures constrain the factor loading matrices and the unique error variance matrices. For a complete discussion of the different covariance structures, see the section Covariance Structures.
If you specify a list of covariance structures, PROC MBC fits a separate model for each value in the list and for each value of the NCLUSTERS= and NOISE= options. For any covariance structure that belongs to the set of PGMM covariance structures, the procedure also fits a separate model for each value of the NFACTORS= option.
If you specify the ALLGMIX value, the procedure fits models by using each Gaussian mixture covariance structure. If you specify the ALLPGMIX value, the procedure fits models by using each parsimonious Gaussian mixture covariance structure. Specifying the ALL value is equivalent to specifying both ALLGMIX and ALLPGMIX.
If you specify one of the parsimonious Gaussian mixture covariance structures, the ALLPGMIX value, or the ALL value, you can also specify the number of latent factors by using the NFACTORS= option. The procedure identifies the model that has the best fit, where the fit is computed according to the value of the CRITERION= option.
- CRITERION=AIC | AICC | BIC | LOGL
-
specifies the model fit criterion to use in model selection. You can specify the following values:
- AIC
specifies Akaike’s information criterion.
- AICC
specifies Akaike’s information criterion (corrected).
- BIC
specifies the Bayesian information criterion.
- LOGL
specifies the log likelihood.
By default, CRITERION=BIC. Each criterion is defined so that a model with a smaller value for the criterion is judged to have a better fit than a model with a larger value for the same criterion.
- DATA=libref.data-table
-
names the input data table for PROC MBC to use. The default is the most recently created data table. libref.data-table is a two-level name, where
- libref
refers to a collection of information that is defined in the LIBNAME statement and includes the
library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. For more information about libref, see the section Using CAS Sessions and CAS Engine Librefs.- data-table
specifies the name of the input data table.
- EMCRITERION=number
specifies the convergence criterion for the expectation-maximization (EM) technique. The EM process terminates when the value of the test that you specify in the CONVTEST= option is less than or equal to number. The value of number must be greater than or equal to 0. The default value depends on the value of the CONVTEST= option. If you specify CONVTEST=LOGL or do not specify a value for CONVTEST, then by default EMCRITERION=1E–5. If you specify CONVTEST=AITKEN, then by default EMCRITERION=1E–3.
- FACTORDETAILS
includes the factor loadings and the unique error variances in the "Parameter Estimates" table. These estimates provide a fuller picture of the model. In general, the estimated factor loadings are subject to rotational indeterminacy, and thus they are not indicative of the associations between the factors and the observed variables. This option has no effect on models that do not use one of the parsimonious Gaussian mixture model covariance structures. For a complete description of the different types of covariance structures, see the COVSTRUCT= option.
- INIT=KMEANS | RANDOM
-
specifies which method to use to initialize cluster membership. This option is ignored if you specify initial weights in the INIT statement. You can specify one of the following values:
- KMEANS
uses k-means clustering to generate starting values. BY-group processing is not available when you specify this method.
- RANDOM
specifies the random weight method.
By default, INIT=RANDOM.
If you use the INIT statement to specify initialization variables, the procedure uses those variables for initialization and ignores any INIT= option.
- ITHIST <=DETAILS | NONE | SUMMARY>
-
produces the "Iteration History" table. You can specify one of the following levels:
- DETAILS
produces a table that contains expanded information about each iteration.
- NONE
suppresses the production of the table.
- SUMMARY
produces a table that contains basic information about each iteration.
If you specify the ITHIST option but do not specify one of the levels, the procedure uses the SUMMARY level.
- MAXITER=number
specifies the maximum number of expectation-maximization (EM) iterations before termination. The EM process terminates after the specified number of iterations, even if the process has not converged. By default, MAXITER=500.
- NCLUSTERS=number | (number <number …number>) | (number to number <by number>)
-
specifies the number of Gaussian components in the model. If you specify a list of numbers or a range of numbers, PROC MBC fits a separate model for each value in the list or range and for all values of the NOISE= and COVSTRUCT= options. For any covariance structure that belongs to the set of PGMM covariance structures, the procedure also fits a separate model for each value of the NFACTORS= option. The procedure identifies the model that has the best fit, where the fit is computed according to the value of the CRITERION= option. By default, NCLUSTERS=2.
If you use the (smallest to largest by increment) syntax, the list contains the values (smallest, smallest+increment, smallest+2*increment,
, smallest+p*increment), where each value in the list is less than or equal to largest. If the resulting list contains any noninteger values or values less than 1, the procedure terminates with a syntax error.
- NFACTORS=number | (number <number …number>) | (number to number <by number>)
-
specifies the number of latent factors to use with PGMM covariance structures. All specified values must be less than or equal to the number of variables that you specify in the VAR statement. If you specify a list of numbers or a range of numbers, PROC MBC fits a separate model for each value in the list or range, for all values of the NOISE= option, for all values of the NCLUSTERS= option, and for values of the COVSTRUCT= option that belong to the set of PGMM covariance structures. The procedure identifies the model that has the best fit, where the fit is computed according to the value of the CRITERION= option. By default, NFACTORS=1.
If you use the (smallest to largest by increment) syntax, the list contains the values (smallest, smallest+increment, smallest+2*increment,
, smallest+p*increment), where each value in the list is less than or equal to largest. If the resulting list contains any noninteger values or values less than 1, the procedure terminates with a syntax error.
- NOISE=YES | NO | (value <value …value>)
specifies whether to include a noise component. If you specify a list of values, PROC MBC fits a separate model for each distinct value in the list and for all values of the COVSTRUCT= and NCLUSTERS= options. For any covariance structure that belongs to the set of PGMM covariance structures, the procedure also fits a separate model for each value of the NFACTORS= option. The procedure identifies the model that has the best fit, where the fit is computed according to the value of the CRITERION= option. By default, NOISE=NO.
- SEED=integer
specifies the pseudorandom number seed for generating random starting weights. Random starting weights are used only when you do not specify starting weight variables in the INIT statement and when you do not specify INIT=RANDOM. If you do not specify a seed, then the seed is derived from the default random number generator on the controller.
- SINGPARM=number
specifies the parameter singularity criterion. If the mixing estimate for a model component is less than or equal to number, it is considered to be zero. In models that have noise components, if the computed noise volume is less than or equal to number, the procedure will not fit the model. The value of number must be greater than zero. By default, SINGPARM=1E–8.
- SINGULAR=number
specifies the general singularity criterion to use in matrix operations. The value of number must be greater than or equal to zero. By default, SINGULAR=1E–8.
- TECHNIQUE=EM | CEM
-
specifies the expectation-maximization (EM) technique to use. You can specify the following values:
- EM
specifies the traditional EM technique.
- CEM
specifies the classification EM technique.
By default, TECHNIQUE=EM.
- TOPMODELS=number
specifies the maximum number of models to include in the FitSummary table. The value of number must be an integer greater than or equal to 1. This option is applicable only when at least one of the NCLUSTERS=, NOISE=, or COVSTRUCT= options has multiple values. The FitSummary table displays summary information for number of models or for as many models as were fit, whichever is smaller. By default, TOPMODELS=10.