Mixture IRT model in the mirt package

17 views
Skip to first unread message

Farshad Effatpanah

unread,
Sep 10, 2025, 5:06:35 AMSep 10
to mirt-package
Dear Phil and all,

I hope you are doing well. I am applying mixture IRT models to the reading comprehension section  of a high-stakes multiple-choice test using the mirt package. I have faced two issues that I would be grateful if you could assist.

1- Item difficulties are in logit (IRTpars=TRUE to coef()). Is discrimination also in logit? Is in the 2PL, as implemented in mirt, the logit scale is used? I am not sure whether a different link function is used or not.

2- In addition, the TAM package uses the equal-mean-difficulty anchor method for DIF analysis. This method assumes that the mean of difficulty across items is the same
across classes or (sub)groups (typically equal to zero). In fact, the mean of difficulty parameters across items was constrained to be equal to zero for each latent class
in mixed Rasch model analysis. How about the mirt package? In my results, there are two latent classes. The mean of item difficulties for Class 1 is 1.207, and for Class 2 is 0.8295.
The examination of person parameters based on the WLE estimates show that the mean of person parameters for Class 1 is -0.004, and for Class 2 is 0.012. 
How can I set the mean of item difficulties to zero, but allow person parameters vary?

I would be grateful if you could help.

Best,
Farshad

Phil Chalmers

unread,
Oct 24, 2025, 2:50:01 PMOct 24
to Farshad Effatpanah, mirt-package

I hope you are doing well. I am applying mixture IRT models to the reading comprehension section  of a high-stakes multiple-choice test using the mirt package. I have faced two issues that I would be grateful if you could assist.

1- Item difficulties are in logit (IRTpars=TRUE to coef()). Is discrimination also in logit? Is in the 2PL, as implemented in mirt, the logit scale is used? I am not sure whether a different link function is used or not.

Yes, the IRT models are all on the logit metric. The IRTpars just converts the parameters to the classical parameterization form, but do not change anything about the model-data fit.
 

2- In addition, the TAM package uses the equal-mean-difficulty anchor method for DIF analysis. This method assumes that the mean of difficulty across items is the same
across classes or (sub)groups (typically equal to zero). In fact, the mean of difficulty parameters across items was constrained to be equal to zero for each latent class
in mixed Rasch model analysis. How about the mirt package? In my results, there are two latent classes. The mean of item difficulties for Class 1 is 1.207, and for Class 2 is 0.8295.

This is not a constraint in the package. Instead the mean of the latent trait within each factor is fixed to 0. You could of course change this, but you'd have to achor the metrics in a different way (e.g., setting the intercept of item 1 equal across classes).
 
The examination of person parameters based on the WLE estimates show that the mean of person parameters for Class 1 is -0.004, and for Class 2 is 0.012. 

I don't believe the WLE in fscores() uses the mixture coefficients. I suppose they could, but I don't believe this would be particularly kosher as WLEs are meant to unbiased trait estimates close to 0 without the use of informative Bayesian priors, and the mixture coefficients are themselves informative so would seem to be addressing a different line of inference. You probably want EAP/MAP estimators. 
 
How can I set the mean of item difficulties to zero, but allow person parameters vary?

See above, which achieves the same structure just parameterized differently. Alternatively you can do this type of estimation yourself using the non-linear estimation engines built-into mirt, but I don't see the real need if you're just interested in the person estimates as the parameterization in that context is not relevant. HTH.

Phil
 


I would be grateful if you could help.

Best,
Farshad

--
You received this message because you are subscribed to the Google Groups "mirt-package" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mirt-package...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mirt-package/10def3c4-feac-48c9-b7d9-6bc28a5c0208n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages