Message/Author 


I'm currently working on a project using Mixture item response theory where we are trying to combine two different models. A Linear Logistic Test Model (LLTM: a Rasch variant) and a Latent Class analysis. I have found an article by De Ayala and Santiago (2016) who used Mplus to combine a basic rasch model and LCA. They estimated the following probability: p_{ijc} = (exp(alpha(theta_{ic}delta{jc})/(1+exp(alpha(theta_{ic}delta{jc}) Where the theta is basically the factor score in Mplus and the delta are the item thresholds. The model they use is: %overall$ f by i1i10*(1); [f@0]; %c#1% f by i1i10@1; f; [i1$1i10$1]; %c#2% f by i1i10@1; f; [i1$1i10$1]; What I was wondering if it is possible to expand this model in Mplus to an LLTM. This would entail replacing each item by a summation over beta of, in our current study, five characteristics. So we have a response (0/1) which is linked to ordinal categories which compose the item. The basic LLTM model would be: nu_{ij} = theta_{i}sum{k=1 to 5} beta{jk} Rather than the normal rasch model where: nu_{ij} = theta_{i}beta{j} Would this be estimable in Mplus? 


I think you can estimate it as follows %overall$ f by i1i10*(1); [f@0]; %c#1% f by i1i10@1; f; [i1$1i10$1] (d1_1d1_10); [i1$2i10$2] (d2_1d2_10); [i1$3i10$3] (d3_1d3_10); [i1$4i10$4] (d4_1d4_10); [i1$5i10$5] (d5_1d5_10); %c#2% f by i1i10@1; f; [i1$1i10$1] (dd1_1dd1_10); [i1$2i10$2] (dd2_1dd2_10); [i1$3i10$3] (dd3_1dd3_10); [i1$4i10$4] (dd4_1dd4_10); [i1$5i10$5] (dd5_1dd5_10); model constraint: new(b1_1b1_10); do(1,10) b1_#=d1_#; new(b2_1b2_10); do(1,10) b2_#=d2_#d1_#; new(b3_1b3_10); do(1,10) b3_#=d3_#d2_#; new(b4_1b4_10); do(1,10) b4_#=d4_#d3_#; new(b5_1b5_10); do(1,10) b5_#=d5_#d4_#; new(bb1_1bb1_10); do(1,10) bb1_#=dd1_#; new(bb2_1bb2_10); do(1,10) bb2_#=dd2_#dd1_#; new(bb3_1bb3_10); do(1,10) bb3_#=dd3_#dd2_#; new(bb4_1bb4_10); do(1,10) bb4_#=dd4_#dd3_#; new(bb5_1bb5_10); do(1,10) bb5_#=dd5_#dd4_#; 


Dear Tihomir, Thanks for the response. However I fear I was not clear enough in communicating the model I am trying to estimate. The solution you provided is for an ordinal variable with 5 possible outcomes. This is not the model I am looking for I think part of the problem is I forgot an X_{kj} in the formulation of the model. It should be: nu_{ij} = theta_{i}sum{k=1 to 5}( beta_{jk} * X_{kj} Here the X_{kj} represents the value of item j on property k, each of which can take a value from 1 to 3 (an example J would be represented by 23212 so X{1j} = 2, X{2j} = 3 etc). I'm trying to estimate the thresholds of the items by estimating the beta's for each of these characteristics rather than estimating them directly. So the threshold of item J is determined by the beta's of its characteristics. So for an item i1 = 23212 we would have: [i1$1] = Beta = beta_1$2 + beta_2$3 + beta_3$2 + beta4$1 + beta5$2. And nu_{ij} = theta_{i}  beta_1$2 + beta_2$3 + beta_3$2 + beta4$1 + beta5$2 This differs from the model by De Ayala and Santiago in that I'm not trying to estimate the beta's of i1i10 directly but by estimating the five characteristics that together define each item (and can take 3 values). 


I tried the following model myself (for only a single class), but I'm not sure this model estimates the thresholds of I1I18 using the constraints or the other way around. Model: f by I1I10*(1); [I1$1I18$1](b1b10); [f@0]; Model constraint: New(c1c10); b1 = c1+c4+c7+c10+c13; b2 = c3+c5+c8+c10+c13; b3 = c1+c5+c7+c10+c13; b4 = c1+c4+c7+c10+c14; b5 = c3+c6+c9+c11+c15; b6 = c1+c4+c7+c10+c15; b7 = c3+c5+c9+c11+c15; b8 = c1+c4+c7+c12+c13; b9 = c1+c4+c7+c12+c15; b10 = c1+c6+c7+c11+c13; Here c1c15 represent the properties of the items. So c1 means X1 = 1, c2 that X2 = 2 and c3 that X3 = 3. 


In the above input you have I18 in the thresholds but in the by statement you only have I1I10, so I am not sure what to say. I think however you are on the right path here Bi are the thresholds but they are constrained through those equations. Great idea to do this for a much simpler example first. You can even remove the factor until you are comfortable with the threshold structure you are envisioning. 


That 18 should have been changed to a 10. I now have the following model, with e218 defined in a similar manner to b2b18. I decided to use dummy coding for the properties to simplify. I ran the basic model (without classes) and the numbers were relatively close to those gotten for LLTM in SAS, with the differences easily explained by different estimators. So I am hoping the following model maintains that: Model: %overall% f by I1I18*(1); [f@0]; %c#1% f by I1I18@1; f; [I1$1I18$1] (b1b18); %c#2% f by I1I18@1; f; [I1$1I18$1] (d1d18); Model constraint: New(c1c10); New(e1e10); b2 = c2c3c5; b3 = c5; b4 = c9; b5 = c2c4c6c7c10; b6 = c10; b7 = c2c3c6c7c10; b8 = c8; b9 = c8c10; b10 = c4c7; b11 = c3; b12 = c2c3c6c10; b13 = c1c3c5c7c9; b14 = c7; b15 = c1; b16 = c2c4c6c8c10; b17 = c1c4c5c8c9; b18 = c6c9; 


This looks reasonable and yes  the model expands easily to two classes. 

Back to top 