The BTL Procedure (Experimental)

PARMS Statement

PARMS (value-list) …</ options> ;

The PARMS statement specifies initial values for the covariance parameters, or it requests a grid search over the range of several values of these parameters.

The value-list specification can take any of several forms:

m

a single value

$m_1, m_2, \ldots , m_ n$

several values

m to n

a sequence where m equals the starting value, n equals the ending value, and the increment equals 1

m to n by i

a sequence where m equals the starting value, n equals the ending value, and the increment equals i

$m_1, m_2$ to $m_3$

mixed values and sequences

You can use the PARMS statement to input known parameters. You can also specify known parameters of $\bG $ by using the GDATA= option in the RANDOM statement.

If you specify more than one set of initial values, PROC BTL 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 grid search feature is also useful for exploring the likelihood surface.

The results from the PARMS statement are the values of the parameters on the specified grid (denoted by CovP1–CovPn ), the residual variance (possibly estimated) for models with a residual variance parameter, and various functions of the likelihood.

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

HOLD=value-list

EQCONS=value-list

specifies which parameter values PROC BTL should hold to equal the specified values. For example, the statement

   parms (5) (3) (2) (3) / hold=1,3;

constrains the first and third covariance parameters to equal 5 and 2, respectively.

LOWERB=value-list

enables you to specify lower boundary constraints on the covariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that PROC BTL uses for the covariance parameters, and each number corresponds to the lower boundary constraint. A missing value instructs PROC BTL to use its default constraint, and if you do not specify numbers for all of the covariance parameters, PROC BTL assumes that the remaining ones are missing.

An example for which this option is useful is when you want to constrain the $\bG $ matrix to be positive definite in order to avoid the more computationally intensive algorithms required when $\bG $ becomes singular. The corresponding code for a random coefficients model is as follows:

   proc btl;
      class person;
      model y = time;
      random int time / type=fa0(2) sub=person;
      parms / lowerb=1e-4,.,1e-4;
   run;

Here the FA0(2) structure is used in order to specify a Cholesky root parameterization for the $2 \times 2$ unstructured blocks in $\bG $. This parameterization ensures that the $\bG $ 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.

NOBOUND

requests the removal of boundary constraints on covariance parameters. For example, variance components have a default lower boundary constraint of 0, and the NOBOUND option allows their estimates to be negative.

NOITER

requests that no Newton-Raphson iterations be performed and that PROC BTL use the best value from the grid search to perform inferences. By default, iterations begin at the best value from the PARMS grid search.

NOPROFILE

specifies a different computational method for the residual variance during the grid search. By default, PROC BTL estimates this parameter by using the profile likelihood when appropriate. The NOPROFILE option suppresses the profiling and uses the actual value of the specified variance in the likelihood calculations.

OLS

requests starting values corresponding to the usual general linear model. Specifically, all variances and covariances are set to zero except for the residual variance, which is set equal to its ordinary least-squares (OLS) estimate. This option is useful when the default MIVQUE0 procedure produces poor starting values for the optimization process.

PARMSDATA=SAS-data-set
PDATA=SAS-data-set

reads in covariance parameter values from a SAS data set. The data set should contain the EST or COVP1–COVPn variables.

RATIOS

indicates that ratios with the residual variance are specified instead of the covariance parameters themselves. The default is to use the individual covariance parameters.

UPPERB=value-list

enables you to specify upper boundary constraints on the covariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that PROC BTL uses for the covariance parameters, and each number corresponds to the upper boundary constraint. A missing value instructs PROC BTL to use its default constraint, and if you do not specify numbers for all of the covariance parameters, PROC BTL assumes that the remaining ones are missing.