The BCHOICE Procedure

RANDOM Statement

  • RANDOM random-effects </ options>;

The RANDOM statement defines the random effects in the choice model. You can use this statement to specify traditional variance component models and to specify random coefficients, which can be classification or continuous. You can specify only one RANDOM statement. Include the TYPE= option to define the covariance structure. PROC BCHOICE does not include the intercept in the RANDOM statement.

Table 27.4 summarizes the options available in the RANDOM statement. All options are subsequently discussed in alphabetical order.

Table 27.4: Summary of RANDOM Statement Options

Option

Description

COVPRIOR=

Specifies the prior distribution for the covariance of the random

 

effects

PRINTCOV=

requests to always output the summary, diagnostics statistics and

 

plots for the covariance of the random effects.

MONITOR

Displays the summary, diagnostics statistics and plots of individual

 

random effects

NOOUTPOST

Suppresses saving of the posterior samples of individual random

 

effects to the OUTPOST= data set

REMEAN

Models the prior mean of the random effects

SUBJECT=

Identifies the subjects in the model

TYPE=

Specifies the covariance structure


You can specify the following options in the RANDOM statement after a slash (/).

COVPRIOR=IWISHART <(options)>

specifies an inverse Wishart prior distribution, IWISHART(a,b), for the covariance matrix of the random effects.

You can specify the following options, enclosed in parentheses:

DF=a

specifies the degrees of freedom of the inverse Wishart distribution. The default is the dimension of the covariance matrix of the random effects plus 3.

SCALE=b

specifies for the scale parameter of the inverse Wishart distribution, where is the identity matrix. The default is the dimension of the covariance matrix of the random effects plus 3.

PRINTCOV

requests to always output the summary, diagnostics statistics and plots for the parameters in the covariance matrix of the random effects. By default, PROC BCHOICE produces the summary, diagnostics statistics and plots for the parameters in the covariance matrix of the random effects. However, if there are too many parameters, greater than 36, in the covariance matrix of random effects, then the summary, diagnostics statistics and plots are not displayed. You can use this option to have them printed if you would like to.

MONITOR
MONITOR=(numeric-list)
MONITOR=RANDOM (number)

displays results (summary, diagnostics statistics and plots ) for the individual-level random-effects parameters. By default, PROC BCHOICE does not print results for individual-level random-effects parameters to save time and space. In models that have a large number of individual random effects (for example, tens of thousands individuals), it may take a long time to display the summary, diagnostics statistics, and plots for all the individual-level parameters, so be cautious when using the MONITOR option.

You can monitor a subset of the random-effects parameters. You can provide a numeric list of the SUBJECT indexes, or PROC BCHOICE can randomly choose a subset of all subjects for you.

To monitor a list of random-effects parameters for certain subjects, you can provide their indexes as follows:

random x / subject=index monitor=(1 to 5 by 2 23 57);

PROC BCHOICE outputs results of random effects for subjects 1, 3, 5, 23, and 57. PROC BCHOICE can also randomly choose a subset of all the subjects to monitor, if you submit a statement such as the following:

random x / subject=index monitor=(random(12));

PROC BCHOICE outputs results of random effects for 12 randomly selected subjects. You control the sequence of the random indexes by specifying the SEED= option in the PROC BCHOICE statement.

When you specify the MONITOR option, it uses the specification of the STATISTICS= and PLOTS= options in the PROC BCHOICE statement.

NOOUTPOST

suppresses storing the posterior samples of individual random-effects parameters in the OUTPOST= data set. By default, PROC BCHOICE outputs the posterior samples of all random-effects parameters to the OUTPOST= data set. You can use the NOOUTPOST option to not save the random-effects parameters. In models that have a large number of individual random-effects (for example, tens of thousands individuals), PROC BCHOICE can run faster if it does not save the posterior samples of all the individual random-effects.

When you specify both the NOOUTPOST option and the MONITOR option, PROC BCHOICE outputs the list of variables that are monitored.

There is a limit on the maximum number of variables that can be saved to an OUTPOST= data set. If you run a large-scale random-effects model in which the number of parameters exceeds that limit, the NOOUTPOST option is invoked automatically and PROC BCHOICE does not save the individual random-effects draws to the output data set. You can use the MONITOR option to select a subset of the parameters to store in the OUTPOST= data set.

REMEAN

requests to estimate the mean of the individual random effects, so that the mean of the random effects, , is not assumed to be zero and is estimated. This option is recommended when there are no fixed effects specified in the MODEL statement.

You can also model the mean of the random effects as a function of individual characteristics, such as demographic variables. Rossi, McCulloch, and Allenby (1996) and Rossi, Allenby, and McCulloch (2005) propose adding another layer of flexibility to the random-effects-only model by allowing heterogeneity that is driven by observable (demographic) characteristics of the individuals. Effects specified in the REMEAN= option are not supposed to change within each SUBJECT= level in the RANDOM statement. PROC BCHOICE takes only the first value of all effects in the REMEAN= option within each SUBJECT= level.

The following REMEAN=(AGE GENDER) option in the RANDOM statement estimates the mean of the random effect, X, and models the mean as a function of Age and Gender:

random X / subject=Index remean=(Age Gender);
SUBJECT=effect
SUB=effect

identifies the subjects in the model for the random effects. A set of random effects will be estimated for each subject. PROC BCHOICE assumes complete independence across subjects; thus, for the RANDOM statement, the SUBJECT= option produces a block-diagonal structure that has identical blocks. Specifying a subject effect is equivalent to nesting all other effects in the RANDOM statement within the subject effect.

The effect in the RANDOM statement must be specified in the CLASS list. The effect can be continuous variables.

PROC BCHOICE does not sort by the values of the SUBJECT= variable; rather, it considers the data to be from a new subject or group whenever the value of the variable changes from the previous observation.

TYPE=UN | VC

specifies the covariance structure. Although a variety of structures are available, most applications call for either TYPE=VC or TYPE=UN. The TYPE=VC (variance components) option, which is the default structure, models a different variance component for each random effect. The TYPE=UN (unstructured) specifies a full structured covariance matrix for the random effects. The unstructured form accommodates any pattern of correlation between the random effects in addition to fitting a different variance component for each random effect.