-
BYOP=PARALLEL | SEQUENTIAL
-
specifies the computational approach to take in BY-group processing. You can specify the following approaches:
- PARALLEL
performs the analysis for the BY groups in parallel on each thread. This approach can significantly improve performance when you have a lot of BY groups. But it requires a large amount of memory for a large number of BY groups.
- SEQUENTIAL
performs the analysis for the BY groups sequentially, one group at a time.
By default, BYOP=SEQUENTIAL.
-
DATA=libref.data-table
-
names the input data table for PROC LMIXED 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.
-
DMMETHOD=DENSE | SPARSE<(sparse-options)>
DMM=DENSE | SPARSE<(sparse-options)>
-
specifies the method for computing the likelihood, gradient, and Hessian. For more information, see the section Common Subject Effect. Also see Table 13 for information about the covariance types that these two computing methods support.
You can specify the following methods:
- DENSE
is more suitable for models that have a large number of levels for a common subject effect and a relatively small number of levels for fixed effects.
- SPARSE
is more memory-efficient and faster for models that have a large and sparse design matrix. However, this method works only when you specify METHOD=REML. In general, the solutions for fixed-effects parameters are not the same as the solutions when you specify DMM=DENSE. But you can specify the DENSESOL option in the MODEL statement to request the solutions for fixed-effects parameters to match the solutions when DMM=DENSE.
For more information about these two methods, see the section Computing Methodologies for REML in the Mixed Model.
If you omit this option, the default is set according to the following rules:
In fixed-effects models without CLASS variables, DMMETHOD=DENSE by default.
In fixed-effects models with CLASS variables, DMMETHOD=SPARSE by default.
In random-effects models without a common subject effect, DMMETHOD=SPARSE by default.
In random-effects models with a common subject effect, DMMETHOD=DENSE by default.
In models with a REPEATED statement, DMMETHOD=SPARSE by default.
In all other situations, DMMETHOD=SPARSE.
You can specify the following sparse-options for the DMMETHOD=SPARSE option in parentheses:
METHOD=BASIC | NDORDERING specifies the algorithm on which sparse matrix computing is based. You can specify the following algorithms:
- BASIC
is the algorithm with minimum memory consumption.
- NDORDERING
is the algorithm for permutation and inverse permutation. This algorithm achieves significant speed, but at the cost of memory.
By default, METHOD=BASIC unless the number of rows of the mixed model equations (MMEq) exceeds 2,000, in which case the default is METHOD=NDORDERING.
-
ITDETAILS
displays the parameter values at each iteration and enables the writing of notes to the SAS log that pertain to infinite likelihood and singularities during optimization iterations.
-
MAXCLPRINT=number
specifies the maximum number of levels of CLASS variables to print in the ODS table ClassLevels. MAXCLPRINT=0 enables you to print all levels of each CLASS variable. However, the NOCLPRINT option takes precedence over the MAXCLPRINT= option. By default, MAXCLPRINT=20.
-
METHOD=MIVQUE0 | ML | REML
-
specifies the estimation method for the covariance parameters.
- MIVQUE0
performs minimum variance quadratic unbiased estimation of the covariance parameters (Rao 1972; Giesbrecht 1989).
- ML
performs maximum likelihood estimation.
- REML
performs residual (restricted) maximum likelihood estimation.
By default, METHOD=REML.
-
MMEQ
-
displays the coefficients of the mixed model equations, which are
where
and
are estimates of
and
.
For more information about these equations, see the section "Linear Mixed Models Theory".
-
NOBOUND
-
removes boundary constraints on covariance
parameters. This option is supported only when METHOD=MIVQUE0.
For example, variance components have a default lower boundary constraint of 0, and the NOBOUND option allows their estimates to be negative.
-
NOBLUPVAR
-
suppresses computing the covariances of random-effects estimates, which are used in the computation required by the OUTPUT statement and by the SOLUTION option in the RANDOM statement. Computing the covariances of random-effects estimates usually consumes a large amount of memory resources. You can use this option to reduce the consumption of memory resources when you are not interested in the covariances of random-effects estimates.
This option is supported only when DMMETHOD=DENSE.
-
NOCLPRINT<=number>
suppresses the display of the "Class Level Information" table if you do not specify number. If you specify number, the values of the classification variables are displayed only for variables whose number of levels is less than number. Specifying a number helps reduce the size of the "Class Level Information" table if some classification variables have a large number of levels.
-
NOINFO
suppresses the display of the "Model Information," "Number of Observations," and "Dimensions" tables.
-
NOITPRINT
suppresses the display of the "Iteration History" table.
-
NOPRINT
suppresses the normal display of results. This option is useful when you want only to create one or more output data tables by using the OUTPUT statement.
-
NOPROFILE
-
includes the residual variance as one of the covariance parameters in the optimization iterations. (By default, this parameter is profiled out of the optimization iterations, except when you have specified the HOLD= option in the PARMS statement.)
The NOPROFILE option is supported only when DMMETHOD=SPARSE.
-
NTHREADS=number
-
specifies the maximum number of concurrently scheduled threads for analytic computations and overrides the SAS system option THREADS or NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined by the number of CPUs on the host on which the analytic computations run. PROC LMIXED creates one thread per CPU for the analytic computations.
By default, PROC LMIXED runs in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or by specifying NTHREADS=1. The largest number that you can specify is 1,024; however, the actual number of threads available depends on your system.
For more information about how PROC LMIXED uses threads, see the section Multithreading in Chapter 2, Shared Concepts.
Note: The SAS system option THREADS or NOTHREADS applies to the client machine on which the procedures that are based on CAS run. It does not apply to the compute nodes in a distributed environment.
-
RANKS
-
displays the rank of the design matrix
.
This option is supported only when DMMETHOD=SPARSE.
-
SEED=number
specifies an integer to be used to start the pseudorandom number generator. If you do not specify a seed, or if you specify a number less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.
-
SIMPLE
displays the mean, standard deviation, coefficient of variation, minimum, and maximum for each variable that is not a classification variable in the input DATA= table.
-
SINGCHOL=number
tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon, which is approximately 1E–12 on most computers.
-
SINGRES=number
sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon, which is approximately 1E–12 on most computers.
-
SINGULAR=number
tunes the general singularity criterion that the LMIXED procedure applies in sweeps and inversions. The default is
times the machine epsilon, which is approximately 1E–12 on most computers.
-
TIMING
displays the amount of time (in seconds) that PROC LMIXED took to perform each different task in the analysis and its percentage of the total time.