PARMS name (name-list)<=> <{> number number-list <}> <name (name-list)<=> <{> number number-list <}> …> </ options>;
The PARMS statement lists the names of the parameters in the model and specifies optional initial values for these parameters. These parameters are referred to as the model parameters. You can specify multiple PARMS statements. Each PARMS statement defines a block of parameters, and the blocked Metropolis algorithm updates the parameters in each block simultaneously. See the section Blocking of Parameters for more details. PROC MCMC generates missing initial values from the prior distributions whenever needed, as long as they are the standard distributions and not the GENERAL or DGENERAL function.
If your model contains a multidimensional parameter (for example, a parameter with a multivariate normal prior distribution), you must declare the parameter as an array (using the ARRAY statement). You can use braces after the parameter name in the PARM statement to assign initial values. For example:
array mu[3]; parms mu {1 2 3};
You cannot use the ARRAY
statement to assign initial values. If you use the ARRAY
statement to store values in array elements, the declared array becomes a constant array and cannot be used as parameters
in the PARMS statement. For example, the following statement assigns three numbers to mu
:
array mu[3] (1 2 3);
The array mu
can no longer be a model parameter.
Every parameter in the PARMS statement must have a corresponding prior distribution in the PRIOR statement. The program exits if this one-to-one requirement is not satisfied.
You can specify the following options to control different samplers explicitly for that block of parameters.