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 i1-i10*(1); [f@0]; %c#1% f by i1-i10@1; f; [i1$1-i10$1]; %c#2% f by i1-i10@1; f; [i1$1-i10$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 i1-i10*(1); [f@0]; %c#1% f by i1-i10@1; f; [i1$1-i10$1] (d1_1-d1_10); [i1$2-i10$2] (d2_1-d2_10); [i1$3-i10$3] (d3_1-d3_10); [i1$4-i10$4] (d4_1-d4_10); [i1$5-i10$5] (d5_1-d5_10); %c#2% f by i1-i10@1; f; [i1$1-i10$1] (dd1_1-dd1_10); [i1$2-i10$2] (dd2_1-dd2_10); [i1$3-i10$3] (dd3_1-dd3_10); [i1$4-i10$4] (dd4_1-dd4_10); [i1$5-i10$5] (dd5_1-dd5_10); model constraint: new(b1_1-b1_10); do(1,10) b1_#=d1_#; new(b2_1-b2_10); do(1,10) b2_#=d2_#-d1_#; new(b3_1-b3_10); do(1,10) b3_#=d3_#-d2_#; new(b4_1-b4_10); do(1,10) b4_#=d4_#-d3_#; new(b5_1-b5_10); do(1,10) b5_#=d5_#-d4_#; new(bb1_1-bb1_10); do(1,10) bb1_#=dd1_#; new(bb2_1-bb2_10); do(1,10) bb2_#=dd2_#-dd1_#; new(bb3_1-bb3_10); do(1,10) bb3_#=dd3_#-dd2_#; new(bb4_1-bb4_10); do(1,10) bb4_#=dd4_#-dd3_#; new(bb5_1-bb5_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 i1-i10 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 I1-I18 using the constraints or the other way around. Model: f by I1-I10*(1); [I1$1-I18$1](b1-b10); [f@0]; Model constraint: New(c1-c10); 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 c1-c15 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 I1-I10, 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 e2-18 defined in a similar manner to b2-b18. 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 I1-I18*(1); [f@0]; %c#1% f by I1-I18@1; f; [I1$1-I18$1] (b1-b18); %c#2% f by I1-I18@1; f; [I1$1-I18$1] (d1-d18); Model constraint: New(c1-c10); New(e1-e10); b2 = -c2-c3-c5; b3 = -c5; b4 = -c9; b5 = -c2-c4-c6-c7-c10; b6 = -c10; b7 = -c2-c3-c6-c7-c10; b8 = -c8; b9 = -c8-c10; b10 = -c4-c7; b11 = -c3; b12 = -c2-c3-c6-c10; b13 = -c1-c3-c5-c7-c9; b14 = -c7; b15 = -c1; b16 = -c2-c4-c6-c8-c10; b17 = -c1-c4-c5-c8-c9; b18 = -c6-c9; |
|
|
This looks reasonable and yes - the model expands easily to two classes. |
|
Back to top |