The IRT Procedure
FIXVALUE Statement
FIXVALUE fixed-value-constraint <, fixed-value-constraint …>;
where a fixed-value-constraint is defined as variable-list < / constraint-options > The FIXVALUE statement provides a versatile way to specify fixed value constraints on the parameters in the model. You can specify fixed value constraints on specific sets of parameters for particular sets of variables or factors within a set of groups. In the variable-list, you specify the set of variables that are subject to the fixed value constraints on their respective parameters. You can either specify the names of the variables or use one of the supported keywords (see list later in this section) for variable-list. In the constraint-options, you specify the types of parameters, the specific groups (in multiple-group analysis), the specific factors (in multidimensional models), and the specific intercepts on which the fixed value constraints are imposed.
For example, the following statements specify that all the slope parameters of x1 through x5 are fixed to 1:
proc irt; model x1-x10/resfunc=graded; fixvalue x1-x5/parm=[slope] value=[1]; run;
There are various ways to specify the target set of variables that are subject to the fixed value constraints. You can specify the variables directly, or you can specify one of the following keywords for variable-list:
You can also specify the following keywords, with a list of excluded-variables for variable-list:
For example, if you have mixed model types for the item responses, the fixed value constraints might be set on a particular set of response variables. The following example shows that a fixed value of 1 is applied to the slopes of the variables that are fit by the three-parameter model (that is, x7–x10):
proc irt;
model x1-x6/resfunc=graded,
x7-x10/resfunc=threep;
fixvalue _allthreep_/parm=[slope] value=[1];
run;
Suppose that the preceding model does not fit well and you want to consider a less restricted model in which the fixed slope constraints are imposed on all variables except x10 in the three-parameter model. The following statements achieve this purpose:
proc irt;
model x1-x6/resfunc=graded,
x7-x10/resfunc=threep;
fixvalue _allthreep_but_(x10)/parm=[slope] value=[1];
run;
In the constraint-options, you can specify options for parameter types (in the PARM= option), the set of groups (in the GROUP= option), and the set of fixed values (in the VALUE= option). If you do not use these options, all related parameter types, groups, factors, and intercepts are subject to the same fixed-value constraints for the specified set of variables. You can specify the following constraint-options:
You can combine the constraint-options to set various types of constraints for your model. You can also specify more than one constraint in an FIXVALUE statement. You can even use multiple FIXVALUE statements for better organization of the constraints.
For example, suppose that a single-group analysis is conducted using three different types of models (two-parameter, graded responses, and three-parameter model) for the response variables. Consider the following statements:
proc irt;
model x1-x10/resfunc=twop, x11-x20/resfunc=graded, x21-x30/resfunc=threep;
fixvalue _alltwop_but_(x9-x10)/parm=[intercept],
x11-x25 / parm=[slope] value=[1],
_allthreep_ / parm=[guess] value=[0.1];
run;
In the FIXVALUE statement, the first set of constraints fixes the intercept parameters of x1–x8 to 0, leaving the parameters of x9 and x10 to be freely estimated. The second set of constraints fixes the slope parameters of variables x11–x25 to 1, even though x21–x25 have a different model type than x11–x20 have. The third set of constraints fixes the guessing parameters to 0.1 for all variables that are fit by the three-parameter model (that is, x21–x30).
In multiple-group analysis, constraints are applied to all groups by default. Suppose there are three groups in the analysis and the grouping variable GP has three distinct values: 1, 2, and 3. Consider the following example:
proc irt;
group GP;
model x1-x10/resfunc=twop,
x11-x20/resfunc=graded,
x21-x30/resfunc=threep;
fixvalue _alltwop_but_(x9-x10)/parm=[intercept],
x11-x25 / parm=[slope] value=[1] group=[1 2],
_allthreep_ / parm=[guess] value=[0.1] group=[1 3];
run;
This example is similar to the preceding example, but with some modifications from using the GROUP= options.
The first set of fixed-value constraints is specified exactly the same way as in the preceding example. In the current multiple-group example, the fixed value 0 applies to the intercept parameters of x1–x8 in all three groups.
The second set of constraints fixes the slope or discrimination parameters of variables x11–x25 to 1 for groups 1 and 2 only (not all groups).
The third set of constraints fixes the guessing parameters of variables x21–x30 (that is, all the variables that are fit by the three-parameter model) to 0.1 for groups 1 and 3.
Copyright © SAS Institute Inc. All rights reserved.