The IRT Procedure

MODEL Statement

  • MODEL model-specification <, model-specification …>;

where model-specification is defined as variable-list < / model-options > The MODEL statement specifies the items, their response functions or models, and prior information for guessing and ceiling parameters. You can specify different response models and prior information for different items. In the variable-list, you specify the set of variables that use the same model or prior information.

You can specify the following model-options:

CEILPRIOR=((<r1>,<r2>) <,(<r1>,<r2>)…>)
CEILPRIOR=(<r1>,<r2>)

specifies the prior information for the ceiling parameters. Each pair optionally includes the mean (r1) and weight (r2) for the beta prior distribution. This option is similar to the CEILPRIOR= option in the PROC IRT statement. For the meaning and usage of the option, see the CEILPRIOR= option in the PROC IRT statement. You can specify multiple pairs of r1 and r2 in the CEILPRIOR= option in the MODEL statement, whereas you can specify only one pair of r1 and r2 in the PROC IRT statement.

The CEILPRIOR= option in the MODEL statement overwrites the default prior values and those that are specified in the PROC IRT statement. Both values in each pair are optional; if you do not specify them in this option, the values that are specified in the PROC IRT statement (or their default values) are used. If a single pair of values is specified, it applies to all the items specified in the variable-list. If the number of pairs specified is less than the number of items specified in the variable-list, the rest of the items use default settings. If more pairs are specified than the number of items in the variable-list, extra pairs are ignored. This option applies only to the items that are fit by the four-parameter model.

In the following example, prior information of the ceiling parameter is specified for three sets of items:

proc irt;
   model x1-x10/resfunc=twop ceilprior=(0.8,10),
         x11-x20/resfunc=fourp ceilprior=(0.9,),
         x21-x30/resfunc=fourp ceilprior=((0.9,10),(0.8,15));
run;

Because the first set of items, x1 to x10, are not fit by the four-parameter model, the specified ceiling prior information is ignored. For the second set of items, because only one pair of ceiling prior information is specified, it applies to all the items in this set. The second value for this pair is not specified, so the default weight (20) is used. Two pairs of ceiling prior information are specified for the 10 items in the last set, so the first pair applies to the first item (x21), and the second pair applies to the rest of the items (x22 to x30).

GUESSPRIOR=((<r1>,<r2>) <,(<r1>,<r2>)…>)
GUESSPRIOR=(<r1>,<r2>)

specifies the prior information for the guessing parameters. Each pair includes the mean (r1) and weight (r2) for the beta prior distribution. This option is similar to the GUESSPRIOR= option in the PROC IRT statement. For the meaning and usage of the option, see the GUESSPRIOR= option in the PROC IRT statement. You can specify multiple pairs of r1 and r2 in the GUESSPRIOR= option in the MODEL statement, whereas you can specify only one pair of r1 and r2 in the PROC IRT statement.

The GUESSPRIOR= option in the MODEL statement overwrites the default prior values and those that are specified in the PROC IRT statement. Both values in each pair are optional; if you do not specify them in this option, the values that are specified in the PROC IRT statement (or their default values) are used. If a single pair of values is specified, it applies to all the items specified in the variable-list. If the number of pairs specified is less than the number of items specified in the variable-list, the default settings are applied to the rest of the items. If more pairs are specified than the number of items in the variable-list, extra pairs are ignored. This option applies only to the items that are fit by the three- and four-parameter model.

The following example shows different specifications:

proc irt resfunc=threep guessprior=(0.1,10) ceilprior=(0.8,10);
   var x1-x30;
   model x1-x10/guessprior=(0.2,10),
   x11-x20/resfunc=fourp ceilprior=(0.9,10) guessprior=(0.1,20);
run;

In the PROC IRT statement, you use the RESFUNC= option to set the response function to be THREEP for all the items, which are listed in the VAR statement. You also use the GUESSPRIOR= and the CEILPRIOR= options to set the prior information to (0.1,10) and (0.8,10) for the guessing and ceiling parameters, respectively. In the MODEL statement, you specify guessing prior information to (0.2, 10) for items x1 to x10. You also change the response function to FOURP for items x11 to x20 and also modify the prior information. However, items x21 to x30 are still fit by the THREEP model and the guessing prior information remains (0.1,10), as specified in the PROC IRT statement.

RESFUNC= [response-model-types ]

specifies the response function or model. For available keywords, see the RESFUNC= option in the PROC IRT statement. For technical details about these response models, see the section "Response Models" on .

For variables that are also listed in the VAR statement, the model that is specified in the MODEL statement overwrites the default model or the model that is specified by using the RESFUNC= option in the PROC IRT statement.

Except for the generalized partial credit (GPC) model and Rasch (RASCH) model, you can specify mixed response models for different items as follows:

proc irt;
   model x1-x10/resfunc=twop, x11-x20/resfunc=graded, x21-x30/resfunc=threep;
run;

The generalized partial credit model or Rasch model requires that all items be fitted by the same model.

SLOPEPRIOR=((<r1>,<r2>) <,(<r1>,<r2>)…>)
SLOPEPRIOR=(<r1>,<r2>)

specifies the prior information for the slope parameters. Each pair includes the mean (r1) and variance (r2) for the normal prior distribution. This option is similar to the SLOPEPRIOR= option in the PROC IRT statement. For the meaning and usage of the option, see the SLOPEPRIOR= option in the PROC IRT statement. You can specify multiple pairs of r1 and r2 in the SLOPEPRIOR= option in the MODEL statement, whereas you can specify only one pair of r1 and r2 in the PROC IRT statement.

The SLOPEPRIOR= option in the MODEL statement overwrites the default prior values and those that are specified in the PROC IRT statement. Both values in each pair are optional; if you do not specify them in this option, the values that are specified in the PROC IRT statement (or their default values) are used. If a single pair of values is specified, it applies to all the items specified in the variable-list. If the number of pairs specified is less than the number of items specified in the variable-list, the default settings are applied to the rest of the items. If more pairs are specified than the number of items in the variable-list, extra pairs are ignored. This option applies only to the items that are fit by the three- and four-parameter model.

The following example uses the SLOPEPRIOR= option in the MODEL statement to specify different prior information about the slope parameter for items x1, x2 and x3. Because the variance of the prior distribution for item x3 is large, the influence of the prior information for item x3 is very small.

proc irt;
   model x1-x3/resfunc=threep slopeprior=((0.5,1),(1,1),(1,16));
run;

Last updated: December 09, 2022