How to do 3-PL or 4-PL IRT model PreviousNext
Mplus Discussion > Categorical Data Modeling >
 Caoshang posted on Saturday, May 07, 2011 - 11:23 pm
Dear professor:
I want to do the 3-parameter IRT model:
a= item difficulty
b= item discrimination
c= item ¡°guessing¡±

4-parameter model:
add d= item 'carelessness'

Can you give me some examples or advice of how to write the code to set this up in Mplus.i can't get any useful information ,especially typically examples from the Internet.

thank you for your patience.
 Linda K. Muthen posted on Sunday, May 08, 2011 - 6:22 am
Mplus handles only a and b. For this, see Example 5.5.
 Matthew E Foster posted on Thursday, April 09, 2015 - 12:25 pm
Since this post in 2011, has Mplus added features so that it can estimate a 3 parameter logistic model?

Thank you for your time.
 Bengt O. Muthen posted on Thursday, April 09, 2015 - 12:58 pm
It's in development.
 Ali posted on Wednesday, September 21, 2016 - 9:16 am
I am trying to fit the data in the 3pl-IRT model and the mixture 3-pl model. I read the MplusIRT paper, but I was quite confused. So, I have a few questions.
(1) For the parameter parameterization, are the coefficient beta as the same as lambda and tau_1 as the tau in the equation 20(p.5) in the MplusIRT paper? If it is , =a(item discrimination)=lambda, b(item difficulties)=tau_1/lambda, c(guessing parameter)= tau_2
(2) For the codes, I am not pretty sure if my codes are right in the mixture 3pl. I have 32 dichotomous items. In the codes, I fixed both latent classes having mean as 0 and variance 1, but the loadings, and thresholds (i.e. tau_1 and tau_2) were freely estimated. The cods as following USEVARIABLES ARE U1-U32;
CATEGORICAL = U1-U32(3pl);
CLASSES = c(2);
STARTS = 100 20;
f BY U1-U32*;
 Bengt O. Muthen posted on Wednesday, September 21, 2016 - 11:20 am
(1) Yes, beta in (39) is the same as lambda in (20). IRT translations to discrimination a is shown in (21) and difficulty b is shown in (22). The guessing (c) translation is shown in (40).

Input looks ok except you forgot to put a bracket around the first instance of f@0.

Also, you will likely need priors for the guessing parameters as shown in our IRT document.
 Ali posted on Thursday, September 22, 2016 - 10:58 am
As for setting a prior for a guessing parameter, should I set a prior as the same as you set tau_2 from N(1,1).
Suppose I have 32 items and 2 latent classes,then I set each tau_2's prior as N(1,1)for each item and each latent class . Does it mean that I have to set 64 priors from N(1,1)for tau_2 ?
 Bengt O. Muthen posted on Thursday, September 22, 2016 - 6:09 pm
Right. Use the list function. And try one class first.
 Ali posted on Saturday, September 24, 2016 - 4:13 am
I tried to set a prior for the guessing parameter in the second class. But,it gave me the warning message"WARNING:THE BEST LOGLIKELIHOOD VALUE WAS NOT REPLICATED.THE
SOLUTION MAY NOT BE TRUSTWORTHY DUE TO LOCAL MAXIMA. INCREASE THE NUMBER OF RANDOM STARTS." Could it suggest that mixture 3pl didn't fit my data? And, I should fit the mixture 2pl or mixture 1pl.

Here is my codes:
f BY U1-U32*;

 Linda K. Muthen posted on Saturday, September 24, 2016 - 2:19 pm
You need to increase the number of random starts. You did not reach a global solution. Try STARTS = 200 50; or more. The second number should be approximately 1/4 of the first.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message