Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Link design for multiple-group IRT

    Hi,
    The code below uses items 11 and 12 as anchors, while items 1-10 are estimated freely across the three groups 1-3.
    How can I link groups 1 and 2 on item 11, let item 11 be freely estimated for group 3, link groups 2 and 3 on item 12, and let item 12 be freely estimated for group 1?
    Code:
    *B = item batch
    vl create B = (i1-i10)
    irt (1: grm B) (2: grm B) (3: grm B) (grm i11 i12), group(grpvar)
    Last edited by Nanco Bonnevieri; 12 Sep 2022, 04:42.

  • #2
    Going over my code, :

    1. When you type irt grm (1: i1-i10) (2: i1-i10), group(groupvar), this constrains none of the parameters across the items, i.e. this specifies non-uniform DIF for items 1-10 in each group.
    2. When you type irt grm (1: i1, cns(a@a1)) (2: i1, cns(a@a1)), that constrains the discrimination parameter for item 1 in both groups to the symbolic name a1. Remember, the usual notation is a for discrimination and b for difficulty, so cns(a@a1)means constrain parameter a at the symbolic name a1. Stata will see that both groups have the same symbolic name for the constraint. So it will interpret this as uniform DIF. Now, one issue is that I don't think there's a way to refer to all the difficulty parameters at the same time. You have to refer to b1, b2, b3, etc.
    3. When you type
    irt grm i1-i10, group(groupvar), I believe that constrains both the discrimination and difficulty parameters across the groups to be equal. That is, you have a multi-group model. In both the focal groups, you freely estimate the mean and variance of theta.

    I think you are saying that you want a model that assumes non-uniform DIF on items 1-10 for all groups. Anyway, try this code:


    Code:
    irt (1: grm i1-i10) (2: grm i1-i10) (3: grm i1-i10) ///
    (1: grm i.11, cns(a@a1 b1@b1 b2@b2 b3@b3) (2: grm i.11, cns(a@a1 b1@b1 b2@b2 b3@b3) (1: grm i12) (2: grm i12)///
    (2: grm i.12, cns(a@a2 b1@b4 b2@b5 b3@b6) (3: grm i.12, cns(a@a2 b1@b4 b2@b5 b3@b6) (2: grm i11) (3: grm i11), group(groupvar)
    Note: not tested, because I don't have a situation exactly like this. You should check the parameters across your groups to see if they got constrained correctly.
    Be aware that it can be very hard to answer a question without sample data. You can use the dataex command for this. Type help dataex at the command line.

    When presenting code or results, please use the code delimiters format them. Use the # button on the formatting toolbar, between the " (double quote) and <> buttons.

    Comment


    • #3
      My problem is how to constrain difficulties for polytomous items to be equal across groups. Stata gives the error message "symbolic constraint on parameter b1 not allowed". Is it possible to estimate this type of model by using gsem with ologit?
      Last edited by Nanco Bonnevieri; 16 Sep 2022, 02:40.

      Comment

      Working...
      X