This documentation is for a version of the software that is not covered by Standard Support. Select a different version from the version selector in the banner, or access the latest documentation.
The PARMS statement specifies initial values for the covariance parameters, or it requests a grid search over several values of these parameters. You must specify the values in the order in which they appear in the "Covariance Parameter Estimates" table.
The value-list specification can take any of several forms:
m
a single value
several values
m to n
a sequence in which m equals the starting value, n equals the ending value, and the increment equals 1
m to n by i
a sequence in which m equals the starting value, n equals the ending value, and the increment equals i
to
mixed values and sequences
Suppose that a model has three covariance parameters that have known values of 2, 1, and 3. You can fix the variance components at these values by using the following statement:
parms (2)(1)(3)/hold;
The NOPROFILE option in the PROC LMIXED statement suppresses profiling of the residual variance parameter during its calculations, thereby enabling its value to be held at 3 as specified in the PARMS statement.
You can use the PARMS statement to input known parameters.
If you specify more than one set of initial values, the LMIXED procedure performs a grid search of the likelihood surface and uses the best point on the grid for subsequent analysis. Specifying a large number of grid points can result in long computing times.
The results from the PARMS statement are the values of the parameters on the specified grid (denoted by CovP1 through CovPn), the residual variance (possibly estimated) for models that have a residual variance parameter, and various functions of the likelihood.
If you specifies multiple PARMS statements, the LMIXED procedure uses the first one and ignores the rest.
You can specify the following options in the PARMS statement after a slash (/):
holds the values of the covariance parameters whose order is specified in the order-list to the initial values that are specified in the value-list in the RANDOM statement.
For example, the following statement constrains the first and third covariance parameters to equal 5 and 2, respectively:
parms (5)(3)(2)(3)/ hold=1,3;
If you specify ALL or you do not specify order-list, then all covariance parameters are held to their initial values. When not all parameters are held to their initial values, this is referred to as partial holding.
Specifying the HOLD= option implies the specification of NOPROFILE option in the PROC LMIXED statement.
The partial holding cannot retain the values exactly for the TYPE=UN covariance structure. This is because the underlining structure is TYPE=CHOL in the optimization for covariance parameter estimation.
LOWERB=value-list
specifies the lower boundary constraints on the covariance parameters, where value-list is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that the LMIXED procedure uses for the covariance parameters, and each number corresponds to a lower boundary constraint. A missing value instructs the LMIXED procedure to use its default constraint. If you do not specify numbers for all the covariance parameters, the LMIXED procedure assumes that the remaining ones are missing.
This option is useful when you want to constrain the matrix to be positive definite in order to avoid the more computationally intensive algorithms that would be required when becomes singular. The corresponding statements for a random coefficients model are as follows:
proc lmixed;class person;
model y = time;
random int time / type=fa0(2) sub=person;
parms / lowerb=1e-4,.,1e-4;run;
The TYPE=FA0(2) structure specifies a Cholesky root parameterization for the unstructured blocks in . This parameterization ensures that the matrix is nonnegative definite, and the PARMS statement then ensures that it is positive definite by constraining the two diagonal terms to be greater than or equal to 1E–4.
NOITER
requests that no optimization iterations be performed and that the LMIXED procedure use the best value from the grid search to perform inferences.
reads in covariance parameter values from a data table. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table. For more information about this two-level name, see the DATA= option and the section Using CAS Sessions and CAS Engine Librefs.
The data table should contain either the numerical variables Estimate and RowId or the numerical variables Covp1–Covpq, where q denotes the number of covariance parameters.
If the data table contains the numerical variables Covp1–Covpq and it contains multiple sets of values for covariance parameters, then the LMIXED procedure evaluates the initial objective function for each set of values and commences the optimization step by using the set that has the lowest functional value as the starting values. For example, the following statements request that the objective function be evaluated for three sets of initial values:
data mycas.data_covp;input covp1-covp4;datalines;
180 200 170 1000
170 190 160 900
160 180 150 800
;proc lmixed;class A B C rep;
model yield = A;
random rep B C;
parms / pdata=mycas.data_covp;run;
Another way of specifying the initial values for the covariance parameters is to use the numerical variables Estimate and RowId in the data table. The values in RowId variable indicate the order of the covariance parameters in the "Covariance Parameter Estimates" table.
A BY variable is not supported in the PARMSDATA= data table. The data table is processed in its entirety for every BY group and a message is written to the log. The same set of starting values is used by all BY groups.
data mycas.data_covp;input covp1-covp4;datalines;
180 200 170 1000
;proc lmixed;class A B C rep;
model yield = A;
random rep B C;
parms / pdata=mycas.data_covp;by year;run;
UPPERB=value-list
specifies upper boundary constraints on the covariance parameters, where the value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that the LMIXED procedure uses for the covariance parameters, and each number corresponds to the upper boundary constraint. A missing value instructs the LMIXED procedure to use its default constraint. If you do not specify numbers for all of the covariance parameters, the LMIXED procedure assumes that the remaining ones are missing.