Mixture IRT model PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
Message/Author
 Ali posted on Sunday, September 29, 2013 - 7:42 pm
Hi,
I am doing Example 7.27, but there are some codes which I am confused.
%OVERALL%
f BY u1-u8;
[f@0];
%c#1%
f BY u1@1 u2-u8;
f;
[u1$1-u8$1];
%c#2%
f BY u1@1 u2-u8;
f;
[u1$1-u8$1];
1. why do we set mean 0 in the whole model? could I set another value ?
2. in the model of class 1 and class 2, why do we set u1@1? also, in the mixture IRT model, do we always set different variance in the classes?
3. I am not familiar with mixture IRT model, so could you please give me suggestions like which chapters are related to mixture IRT in the Mplus user guide?

Thanks:-)
 Linda K. Muthen posted on Monday, September 30, 2013 - 11:17 am
1. We fix the means of the factor to zero in all classes because the thresholds are not held equal across classes. This is required for model identification.

2. U1 is fixed at one to set the metric of the factor. In IRT, this is usually done by fixing the factor variance to one and freeing all factor loadings.

3. See the following paper which is available on the website:

Muthén, B. (2008). Latent variable hybrids: Overview of old and new models. In Hancock, G. R., & Samuelsen, K. M. (Eds.), Advances in latent variable mixture models, pp. 1-24. Charlotte, NC: Information Age Publishing, Inc.
 Ali posted on Thursday, October 03, 2013 - 9:17 pm
Thank you for explanation.
I got other questions.
1. If i changed the start values, some values are slightly different like AIC. Does it matter? and how do I choose the number of the start value?
2. I want to add another factor in the model, so I name it as f2.
MODEL: %OVERALL%
f1 BY u1-u8;
f2 BY u1-u8;
[f1@0];
[f2@0];
%c#1%
f1 BY u1@1 u2-u8;
f2 BY u1@1 u2-u8;
f1;
f2;
[u1$1-u8$1];
%c#2%
f1 BY u1@1 u2-u8;
f2 BY u1@1 u2-u8;
f1;
f2;
[u1$1-u8$1];
the AIC and BIC are only slight difference . AIC and BIC are slightly higher than the original model. So, which model should be better one?
Thanks!
 Linda K. Muthen posted on Friday, October 04, 2013 - 10:36 am
You should use enough random starts to replicate the best loglikelihood several times. The second number should be about i/4 of the first, for example,

STARTS = 200 50;

A second factor should not have the same factor indicators as the f irst factor.
 Ali posted on Thursday, October 10, 2013 - 8:02 pm
Hi,
I want to do mixture rasch model(I used ex7.27),so I run the codes as following:
%OVERALL%
f BY u1-u8(1);
[f@0];
%c#1%
f BY u1-u8 (1);
f;
[u1$1-u8$1];
%c#2%
f BY u1-u8(1);
f;
[u1$1-u8$1];
1.do I need set every model has (1) after f by u1-u8?
2. Since the sample size is really large like 300000, is there is any way to decrease time to run the whole procedure?
3. And such the sample size is so big, does there any suggestion to set "starts"? or just follow the above rule-the second number is about i/4 first.

Thanks
 Linda K. Muthen posted on Friday, October 11, 2013 - 10:55 am
If you want to hold all factor loadings equal and have factor variance of one as in Rasch models,say

f BY u1-u8* (1)
f@1;

2. You can use the PROCESSORS option if you have multiple processors. You can take a random sample of your data and work with that.

3. Just follow the normal rule.
 Ali posted on Tuesday, October 15, 2013 - 7:14 pm
Hi,
I am reading two articles-Muthen, B. (2008). Latent variable hybrids: Overview of old and new models. In Hancock, G. R., & Samuelsen, K. M. (Eds.), Advances in latent variable mixture models, pp. 1-24. Charlotte, NC: Information Age Publishing, Inc. and Item response mixture modeling:application to tobacco dependence criteria(Asparouhov,T. and Muthen,.B, 2006)
I am confused about the diagram(p.3) provided in Muthen, B. (2008). Latent variable hybrids: Overview of old and new models.
What is the difference between one diagram with a line to the factor and another without a line to the factor under the factor mixture model?
Because in the tobacco article , the diagram (p.1057)has a line from the latent class to the factor.
Does different diagrams affect the codes of mixture IRT model?
 Bengt O. Muthen posted on Wednesday, October 16, 2013 - 3:44 pm
See UG ex 7.17 and 7.27 for scripts for the two types of models. An arrow from c to f implies that f has a mixture distribution with for instance different factor means in the different latent classes.
 Ali posted on Monday, October 28, 2013 - 9:38 am
Hi,
I ran the mixture Rasch model with 21items. It shows me the warning message- THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES MAY NOT BE TRUSTWORTHY FOR SOME PARAMETERS DUE TO A NON-POSITIVE DEFINITE FIRST-ORDER DERIVATIVE PRODUCT MATRIX. THIS MAY BE DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL NONIDENTIFICATION. THE CONDITION NUMBER IS 0.304D-16. PROBLEM INVOLVING PARAMETER 4.
ONE OR MORE PARAMETERS WERE FIXED TO AVOID SINGULARITY OF THE INFORMATION MATRIX. THE SINGULARITY IS MOST LIKELY BECAUSE THE MODEL IS NOT IDENTIFIED, OR BECAUSE OF EMPTY CELLS IN THE JOINT DISTRIBUTION OF THE CATEGORICAL VARIABLES IN THE MODEL. THE FOLLOWING PARAMETERS WERE FIXED: 17.
However, it also shows me “THE BEST LOGLIKELIHOOD VALUE HAS BEEN REPLICATED. RERUN WITH AT LEAST TWICE THE RANDOM STARTS TO CHECK THAT THE BEST lOGLIKELIHOOD IS STILL OBTAINED AND REPLICATED”.
Should the results be trusted like item difficulties ?How can I fix this warning message?
I have another question-in IRT PARAMETERIZATION IN TWO-PARAMETER LOGISTIC METRIC WHERE THE LOGIT IS DISCRIMINATION*(THETA - DIFFICULTY) results, there are four columns. Do they mean estimate, S.E., Est./S.E. , and Two-Tailed P-value?
Thanks!
 Linda K. Muthen posted on Monday, October 28, 2013 - 10:18 am
Please send the output and your license number to support@statmodel.com.
 Ali posted on Thursday, November 07, 2013 - 6:30 pm
Hi,
I am running mixture 2pl-IRT model.
I assuemed both groups have the same ability C1~N(0,1) and C2~N(0,1).
Here is my codes:
MODEL:%OVERALL%
f by M1-M13;
[f@0];
f@1;
%c#1%
f by M1@1 M2-M13;
[M1$1-M13$1];
%c#2%
[M1$1-M13$1];
f by M1@1 M2-M13;
I am wondering that after I adding f@1,do I need to putf f by M1@1 M2-M13 in each class model?
 Bengt O. Muthen posted on Thursday, November 07, 2013 - 6:52 pm
The default is that the loadings are equal across classes, so if you want them unequal you have to mention them in each class like you do.
 Ali posted on Friday, November 08, 2013 - 12:22 pm
Thanks!
If I set variance to equal one across classes, I will get the same value of loadings as the item discriminties. However, if I don't set f@1, the loadings and item discrinmities are different. Why the loading s and item discrinmities are different under this circumstance?
Another question is that can item parameters can be directly be compared from results under the mixture 2-Pl model? What the constraints are used in Mplus to make item parameters in the same scale?
 Bengt O. Muthen posted on Friday, November 08, 2013 - 5:21 pm
Q1. Please see

http://www.statmodel.com/download/MplusIRT2.pdf

for more information on relationships between loadings and discrimination parameters.

Q2. You have the same mean and variance of the factor for each class so that makes the mixture results easily comparable to IRT.
 Ali posted on Monday, November 18, 2013 - 5:36 pm
Hi, I am using mixture Rasch model to figure out which the item is the anchor item. So, I first set all loadings are equal 1 across groups, so their item discriminties will be 1 like rasch model (a=1). I assumed u2-u8 are anchor items , so I constrain them equally across groups .Only u1 is freely estimated across groups , also, I set mean=0 in C1 , but mean is freely estimated in C2. Variance is freely estimated across groups. However, I used my codes then the model results showed me that loadings are 1 between groups, but in IRT parameters results , the item discriminties are not 1. How could I get the item discriminates are 1 across groups? Also, the result doesn¡¦t show me u2-u8 have the same item difficulties .
Here is my codes:
f BY u1-u8@1;
[u2$1 u3$1 u4$1 u5$1 u6$1 u7$1 u8$1];
%c#1%
[f@0];
f;
[u1$1];
%c#2%
[f];
f;
[u1$1];
 Bengt O. Muthen posted on Tuesday, November 19, 2013 - 8:35 am
The IRT results use the factor variance to get the discrimination in the scale of N(0,1), so when you let the factor variance change over classes equal loadings does not translate to equal discriminations. See eqn (19) in http://www.statmodel.com/download/MplusIRT2.pdf

Not scaling to variance 1, equal loadings is the same as equal discriminations.
 Ali posted on Tuesday, November 19, 2013 - 5:18 pm
Thanks!
I looked the formulas for item difficulties and item discriminties.
If I set c1:mean=0,variance freely estimated , and all items have loadings 1;c2: mean and variance are freely estimated , but all loadings equals 1.

For c1: a=variance for c1**0.5 b=threshold/variance for c1**0.5
c2: a=variance for c2 **0.5 b=(threshold-mean for c2)/variance for c2**0.5

So, it seems that it's hard to get the equal item difficulties across groups,but different within the group and the same item discrimities across groups.
Is my understanding correct ?
 Bengt O. Muthen posted on Wednesday, November 20, 2013 - 2:01 pm
Please tell me succinctly how you want the parameters to be in the two groups using IRT terms.
 Ali posted on Wednesday, November 20, 2013 - 3:45 pm
I want to let item discrinminties are set 1 or the same in two groups. Item difficulties are the same across groups, but different within groups. For example, there are three items. Item 1 has the item difficulty as 1 in group 1 and group 2, and item 2 has the item difficulty as 0.5 in group 1 and group2, and item 3 is freely estimated across groups. I want to do this because I want to try if I could possibly know which item is invariant across groups, which is the anchor item. So , first, I will set one of items is freely estimated for item difficulty and the remaining items are fixed with the same item difficulty across groups , but different item difficulties within groups, then repeated this procedure.
Also, the variances in both groups are freely estimated and mean for c1 is set 0, but mean for c2 is freely estimated.
Thanks!
 Bengt O. Muthen posted on Wednesday, November 20, 2013 - 6:43 pm
It sounds like you are saying that the discriminations are fixed at 1 for all items and both groups. In which case you are considering the IRT model

1*(f - b), (1)

where f is the factor (called theta in IRT) and b is the difficulty varying across items and groups.

Mplus considers the factor model

nu + lambda*f, (2)

where nu=-threshold. So you get

f - b = lambda*f-threshold.

Which means that you want to fix lambda at 1 for all items and groups, and you have threshold = b. Both (1) and (2) can allow for different means and variances of the factors.
 Ali posted on Wednesday, November 20, 2013 - 8:44 pm
Thanks!
I am the beginning mplus,but I have no ideas to create the codes for the model what I am doing. Could you please provide the sample about this model ?
 Linda K. Muthen posted on Thursday, November 21, 2013 - 11:10 am
MODEL:
f BY y1-y4@1; ! fixes factor loading to one
[f@0]; ! fixes factor means to zero
MODEL male:
[y1$1-y4$1]; !frees thresholds across groups

Please note that when the thresholds are free, the factor means must be zero in all groups for the model to be identified.
 Ali posted on Monday, November 25, 2013 - 6:12 pm
Thanks for providing codes.
I got another questions. The last Dr.Muthen answered on Wednesday, November 20, 2013 - 6:43 pm. I am a little confused. Does mean I could think IRT model as factor model ?
When run mixture rasch model :
f BY u1-u7@1;
%c#1%
[f@0];
f;
[u1$1];
[u2$1-u7$1] (1-6);
%c#2%
[f];
f;
[u1$1];
[u2$1-u7$1] (1-6);

The IRT results doesn't have the same item difficulties across groups and the item discrinmities as 1, because those values depend on group's mean and variance. In such case, the model results is more likely what I want(loading is 1 and thresholds are the same across grousp expect item u1). So, could I only look the model results and think this model as the factor miture model?
 Bengt O. Muthen posted on Tuesday, November 26, 2013 - 11:10 am
Yes, the IRT model is a factor model for categorical outcomes. They are one and the same. I think you will find it easier to work with the factor analysis parameterization.

But a general comment is in order given your series of questions. Although it is laudable to be ambitious, I don't think it is a good idea to try to learn basic facts about IRT and factor analysis by asking questions on Mplus Discussion because the answers are by necessity brief. You should study the literature long and hard. Especially since you are doing advanced modeling using mixtures.
 Fernando Terrés de Ercilla posted on Sunday, February 23, 2014 - 1:48 am
A question about irt mixtures:
For a model where only the intercepts vary between classes like:

%Overall%
f By u1-u8;
%c#1%
[u1$1-u8$1];

Are the factor loadings equal for the 1 class model, the 2 class model, ...?

Many thanks in advance
 Bengt O. Muthen posted on Tuesday, February 25, 2014 - 1:42 pm
Yes. Ask for TECH1 and you see this clearly.
 Fernando Terrés de Ercilla posted on Wednesday, February 26, 2014 - 10:46 am
It was more a theoretical question. If I decide to carry on whith 2P-FMM I will like to keep my factor, if it has theoretical sense.
Many thanks
 Bengt O. Muthen posted on Wednesday, February 26, 2014 - 4:17 pm
And note that you can make the factor loadings class-specific if you want.
 Fernando Terrés de Ercilla posted on Saturday, March 01, 2014 - 4:37 am
The factor (employer’s motivation to occupational health and safety) is central to my much delayed research. My first dates back to 2006 with a small data set and 6 categorical items (published in 2013). Now I have a bigger dataset, and I plan to end my research in the next 6 months (if my disability lets me). In my new dataset (N=1711), I've 7 items of interest, measured on a 0 to 10 scale, highly skewed (the value 10 gets between 20 and 53% of responses, smaller frequencies for the 9 value, and frequencies in-between for the value 8). My data is cross-sectional, the value 10 isn’t a hurdle, but a legitimate value, probably affected by the sensibility of the studied issue. I have conducted EFA with the data in three categories, and separately (on the reversed scale) for the binary part, and the continuous part; for two sub-samples. In every instance, one factor gets short and two factors over-fit the data, and for the loadings of the one factor solution: two loadings are equal (and it has sense to fix both @1) and the other 5 loadings are also equal between them (around 1.5, to be freely estimated). Finally, I have many interesting predictors for the factor, and up to six distal factors (to end with a full-fledged SEM model). Given my hesitations, I went back to the theory, and also to review the recent Mplus advances with latent class predictors, and Bayes estimation.
 Fernando Terrés de Ercilla posted on Monday, March 03, 2014 - 4:24 am
Now, for my first question: If I use a 2 part model, I will need to use mixtures to get a good fit and, given that 10 is a legitimate value, the factor loadings seem to be necessarily constant among classes, and probably equal for the binary and the continuous part. I had clear the implications of fixing the factor loadings for different classes for continuous models, but I was unsure if the same could be said for the binary part, given the non-linear relationships. For a similar published work, Kim and Muthén do not fix the factor loadings among classes, estimate them freely, but their 0 value is clearly a hurdle. Hesitations, Dr. Muthén, with some reluctance (trepidation?) to use such sophisticated models with two processes. And how to afterwards use my measure with predictors and distals.
 Bengt O. Muthen posted on Monday, March 03, 2014 - 11:58 am
Perhaps you should keep it simple. Compare (1) a regular EFA treating the outcomes as continuous and using the MLR estimator with (2) a Censored-normal EFA using WLSMV. If no important differences, go on witn (1).
 Fernando Terrés de Ercilla posted on Tuesday, March 04, 2014 - 1:27 am
EFA for 1 factor gives similar loadings for censored (MLR) and categorical (3 categories, WLSMV); the loadings for continuous (MLR) are not so similar.
The 2 factor EFA does not converge for censored items, and gives negative residual variances for categorical items. It only reaches a solution for continuous items, with 4 double loadings. In every instance, the 2 factors try to separate apart M1, legislation, from M4, costs (that has theoretical support: it can be costly to scrupulously abide by the law).
For the 1 factor continuous and categorical items RMSEA is 0.104-0.126 and SRMR 0.061-0.067.
Many thanks, Fernando
 ARMEL BRIZUELA R posted on Wednesday, March 04, 2015 - 7:06 am
Dear Drs. Muthen,

I am trying to estimate a Rasch mixture model (1351 examinees and 8 dichotomized polythomous items) but I am obtaining negative discriminations or values extremely large (like a discrimination value of 124). I am using the following syntax:

TITLE:
TRI mixto con datos PISA

DATA:
FILE = ST29A_dicot_REC.dat;

VARIABLE:
NAMES = Q01-Q08;
USEVARIABLES = Q01-Q08;
CLASSES = c(3);
CATEGORICAL = Q01-Q08;

ANALYSIS:
ESTIMATOR = MLF;
TYPE = MIXTURE;
ALGORITHM = INTEGRATION;
PROCESSORS = 4;
STARTS = 600 120;
PROCESSORS = 4(STARTS);

%OVERALL%
f BY Q01-Q08@1;
[f@0];

%c#1%
f BY Q01@1 Q02-Q08;
f;
[Q01$1-Q08$1];

%c#2%
f BY Q01@1 Q02-Q08;
f;
[Q01$1-Q08$1];

%c#3%
f BY Q01@1 Q02-Q08;
f;
[Q01$1-Q08$1];

Is there something wrong here?
 Bengt O. Muthen posted on Wednesday, March 04, 2015 - 3:27 pm
Your setup looks fine so we need to see your full output. Send to suport@statmodel.com including your license number.
 SANHA PARK posted on Wednesday, March 21, 2018 - 5:39 pm
Hi,
I have a question about a 2PL Mixture IRT model.

I analyzed the model in which I got a difficulty parameter of 19 (alpha parameter: 0.09).
The percentage of correct answers is about 14% (correct answers 53, incorrect answers 333 in one class), which is low, but not the lowest.

Is such a high difficulty parameter possible? Can I report/use this?
 Bengt O. Muthen posted on Thursday, March 22, 2018 - 12:15 pm
Send your output to Support along with your license number.
 Georgios Sideridis posted on Wednesday, July 31, 2019 - 12:40 am
Dear Bengt and Linda,
I am wondering if I can estimate the second threshold (lower asymptote) in a model using estimator=bayes. I tried using mixture and knownclass but apparently 3pl models and Bayes estimation are not currently possible. Is there a way to estimate the lower asymptote without using the (3pl) command so that eventually I can use bayes estimation? Any ideas on ways that Bayesian estimator can be used with the 2nd threshold?

Thank you.
 Tihomir Asparouhov posted on Wednesday, July 31, 2019 - 9:36 pm
It is not possible to use the Bayes estimator at this time but you can use model prior with the ML estimator.
 Pierre-Charles SOULIE posted on Monday, April 06, 2020 - 3:29 am
Dear Dr Muthen,

I am trying to run an Irt mixture analysis on polytomous 5 points items (Likert scale). I have the following questions:

1) Why I do not get discriminations and locations parameters in the output when I use a graded response model? That is when nothing is placed after the variable names in the CATEGORICAL option to get a graded response model.

For example, why I do not get discriminations and locations parameters in the output when I run the example 7.17 on my data (here under my syntax) whereas if I specified a “gpcm” I get discriminations and locations parameters ? My problem is the same with the example 5.5 part 2. When I run this example on my data and there is nothing placed after the variable names in the CATEGORICAL option I do not get discrimination and location parameters in the output whereas if I specified a “gpcm” I get discriminations and locations parameters.

2) How can I get the four location (b) parameters in the output (as I use 5 points likert scale)?

Thanks in advance for your reply.

Title:
IRT Factor Mixture Analysis.
Data:
File is Analysis/DATAFMA.dat;
Variable:
names = u1-u19;
categorical = u1-u19;
classes = c(2);
Analysis:
type = MIXTURE;
Model:
%OVERALL%
f BY u1-u19;
%c#1%
[f*1];
output:
tech1 tech8;
 Tihomir Asparouhov posted on Tuesday, April 07, 2020 - 10:39 am
1) They are not available currently. They are computed only when all the items are binary.

2) You can use formulas (21) and (22)
https://www.statmodel.com/download/MplusIRT.pdf
and add these as new parameters in model constraint. You can see an illustration for how to use model constraint in User's Guide example 5.20.
 Pierre-Charles SOULIE posted on Wednesday, April 15, 2020 - 5:55 am
Dear Tihomir,

Thank you for your reply.

I can't manage to the get the right syntax for these formula.

Could you please provide the syntax to add in the constraints for formulas 21 and 22 ?


Thanks
 Tihomir Asparouhov posted on Wednesday, April 15, 2020 - 4:37 pm
It should look something like that

Model:
%OVERALL%
f BY u1-u19*1 (L_1-L_19);
[u1$1-u19$1] (t1_1-t1_19);
[u1$2-u19$2] (t2_1-t2_19);
[u1$3-u19$3] (t3_1-t3_19);
[u1$4-u19$4] (t4_1-t4_19);
%c#1%
[f*1] (alpha); f@1;
%c#2%
[f@0]; f@1;

model constraint:
new(b1_c1_1-b1_c1_19); do(1,19) b1_c1_#=(t1_#-alpha*L_#)/L_#;
new(b2_c1_1-b2_c1_19); do(1,19) b2_c1_#=(t1_#-alpha*L_#)/L_#;
new(b3_c1_1-b3_c1_19); do(1,19) b3_c1_#=(t1_#-alpha*L_#)/L_#;
new(b4_c1_1-b4_c1_19); do(1,19) b4_c1_#=(t1_#-alpha*L_#)/L_#;
new(b1_c2_1-b1_c2_19); do(1,19) b1_c2_#=t1_#/L_#;
new(b2_c2_1-b2_c2_19); do(1,19) b2_c2_#=t2_#/L_#;
new(b3_c2_1-b3_c2_19); do(1,19) b3_c2_#=t3_#/L_#;
new(b4_c2_1-b4_c2_19); do(1,19) b4_c2_#=t4_#/L_#;

It might be simpler to do without the DO command but you will have to do a much longer input file.
 Pierre-Charles SOULIE posted on Thursday, April 16, 2020 - 4:29 am
Dear Tihomir,

I am very grateful to you for your reply. I could not have find how to do without your help.

Could you please tell me what is the syntax if I want to add other class or just one class ?

If I want to add other class, do I also have to fix the factor mean to 0 and variance to 1, in each add class (as in the syntax below)? Because when I do that I get a very low entropy in the results.

Is the syntax that I tried for 1 class (below) is right ?

Thanks in advance for your reply.

Model with more then two class
%c#1%
[f*1] (alpha); f@1;
%c#2%
[f@0]; f@1;
%c#3%
[f@0]; f@1
%c#4%
[f@0]; f@1


Model with 1 class
Model:
%OVERALL%
f BY u1-u17*1 (L_1-L_17);
[u1$1-u17$1] (t1_1-t1_17);
[u1$2-u17$2] (t2_1-t2_17);
[u1$3-u17$3] (t3_1-t3_17);
[u1$4-u17$4] (t4_1-t4_17);
%c#1%
[f@0]; f@1;
 Pierre-Charles SOULIE posted on Thursday, April 16, 2020 - 5:27 am
Dear Tihomir,

When I try to run the same model with predictors, I get the following error:
*** ERROR in VARIABLE command; The CATEGORICAL option is used for dependent variables only. The following variable is an independent variable in the model.
Problem with: AGE GENRE

Could you please tell me why I get this problem?

Thanks for your reply.


Variable:
names = u1-u17 Age Genre;
categorical = u1-u17 Age Genre;
classes= c(2);
Analysis:
PROCESSOR = 8;
Type = mixture;
ALGORITHM = INTEGRATION;
STARTS = 5000 200
STITERATIONS = 100
LTRBOOTSTRAP =100
LTRSTARTS =10 5 80 20
Model:
%OVERALL%
c#1 ON Age Genre ;
f BY u1-u17*1 (L_1-L_17);
[u1$1-u17$1] (t1_1-t1_17);
[u1$2-u17$2] (t2_1-t2_17);
[u1$3-u17$3] (t3_1-t3_17);
[u1$4-u17$4] (t4_1-t4_17);
%c#1%
[f*1] (alpha); f@1;
%c#2%
[f@0]; f@1;
 Tihomir Asparouhov posted on Thursday, April 16, 2020 - 8:51 am
You want to use
categorical = u1-u17;
instead of what you have. Covariates shouldn't be specified in that line.

I think you probably want to figure out how many classes you want in your model first. I would start with thresholds being free across classes.

%OVERALL%
f BY u1-u19*1;
[u1$1-u19$1];
[u1$2-u19$2];
[u1$3-u19$3];
[u1$4-u19$4];
[f@0] f@1;
%c#1%
[u1$1-u19$1];
[u1$2-u19$2];
[u1$3-u19$3];
[u1$4-u19$4];
%c#2%
[u1$1-u19$1];
[u1$2-u19$2];
[u1$3-u19$3];
[u1$4-u19$4];
%c#3%
[u1$1-u19$1];
[u1$2-u19$2];
[u1$3-u19$3];
[u1$4-u19$4];
%c#4%
[u1$1-u19$1];
[u1$2-u19$2];
[u1$3-u19$3];
[u1$4-u19$4];

Start with one class then 2 etc.

You might find this paper useful

http://www.statmodel.com/download/Muthen_tobacco_2006.pdf
 Pierre-Charles SOULIE posted on Thursday, April 16, 2020 - 9:28 am
Dear Tihomir,

Thank you very much for your answer, It is very helpful.

How can I get the TECH 14 output with the model constraints that gives the location and discrimination parameters below?

Because TECH14 option is not available in conjunction with nonlinear constraints through the use of MODEL CONSTRAINT.

Can I also compute parameters manually in dividing factor loading by threshold (threshold/loading) if factor loadings = discrimination parameters?

Thanks for your reply
model constraint:
new(b1_c1_1-b1_c1_19); do(1,19) b1_c1_#=(t1_#-alpha*L_#)/L_#;
new(b2_c1_1-b2_c1_19); do(1,19) b2_c1_#=(t1_#-alpha*L_#)/L_#;
new(b3_c1_1-b3_c1_19); do(1,19) b3_c1_#=(t1_#-alpha*L_#)/L_#;
new(b4_c1_1-b4_c1_19); do(1,19) b4_c1_#=(t1_#-alpha*L_#)/L_#;
new(b1_c2_1-b1_c2_19); do(1,19) b1_c2_#=t1_#/L_#;
new(b2_c2_1-b2_c2_19); do(1,19) b2_c2_#=t2_#/L_#;
new(b3_c2_1-b3_c2_19); do(1,19) b3_c2_#=t3_#/L_#;
new(b4_c2_1-b4_c2_19); do(1,19) b4_c2_#=t4_#/L_#;
 Tihomir Asparouhov posted on Thursday, April 16, 2020 - 10:19 am
You should not include any model constraints until you have settled the model.

In principle, however, what you are describing shouldn't be happening. There is no message like like that in the current Mplus 8.4 so I think you might need to update your version. If that doesn't fix the problem send your example to support@statmodel.com

In any case, you don't need to run tech14 and model constraints at the same time. The model constraint, used above to obtain a different parameterization, should not affect the log-likelihood of the model. If it does then something is wrong.
 Pierre-Charles SOULIE posted on Friday, April 17, 2020 - 3:33 am
Dear Tihomir,

In the case of a graded response model, can I compute location and discrimination parameters manually with the output in doing like that:

Discrimination (a) = factor loading
Location (b) = loading/threshold

Thanks for your reply.
 Pierre-Charles SOULIE posted on Friday, April 17, 2020 - 3:39 am
Dear Tihomir,

In addition to an IRT factor mixture analysis, I also have to do a IRT latent profile analysis. I try the following syntax but the results are strange. I get a low entropy. Is the syntax right?

Thanks for your reply.

Variable:
names = u1-u17;
categorical = u1-u17;
classes= c(3);
Analysis:
Type = mixture;
ALGORITHM = INTEGRATION;
STARTS = 5000 200
STITERATIONS = 100
LTRBOOTSTRAP =100
LTRSTARTS =10 5 80 20
Model:
%OVERALL%
%c#1%
[u1$1-u17$1];
[u1$2-u17$2];
[u1$3-u17$3];
[u1$4-u17$4];
%c#2%
[u1$1-u17$1];
[u1$2-u17$2];
[u1$3-u17$3];
[u1$4-u17$4];
%c#3%
[u1$1-u17$1];
[u1$2-u17$2];
[u1$3-u17$3];
[u1$4-u17$4];
 Bengt O. Muthen posted on Friday, April 17, 2020 - 6:13 am
This type of question is better handled by sending the full output with the strange results to Support@statmodel.com along with your license number. Then we can see what you are referring to.
 Pierre-Charles SOULIE posted on Friday, April 24, 2020 - 4:50 am
Dear Drs. Muthen,

Here under is an IRT mixture syntax for a 2 class model with constraints. If I want to estimates additional class with the model constraints, do I also have to have to fix the factor mean 0 and variance 1 in each additional class ?

Thanks for your reply.

Title : 2 class model with constraints;
%OVERALL%
f BY u1-u19*1 (L_1-L_19);
[u1$1-u19$1] (t1_1-t1_19);
[u1$2-u19$2] (t2_1-t2_19);
[u1$3-u19$3] (t3_1-t3_19);
[u1$4-u19$4] (t4_1-t4_19);
%c#1%
[f*1] (alpha); f@1;
%c#2%
[f@0]; f@1;

Additional class
%c#3%
[f@0]; f@1;
%c#4%
[f@0]; f@1;
 Bengt O. Muthen posted on Saturday, April 25, 2020 - 10:55 am
No. They are identified as free parameters given the measurement invariance you have.
 Pierre-Charles SOULIE posted on Monday, April 27, 2020 - 2:34 am
Dear Drs. Muthen,

When I am trying to run the here under model, I get the following error: Unknown parameter label in MODEL CONSTRAINT: ALPHA.

Could you please tell me what is wrong?

Model:
%OVERALL%
f BY u1-u15*1 (L_1-L_15);
[u1$1-u15$1](t1_1-t1_15);
[u1$2-u15$2](t2_1-t2_15);
[u1$3-u15$3](t3_1-t3_15);
[u1$4-u15$4](t4_1-t4_15);
[f@0]; f@1;
(alpha);
%c#1%
[u1$1-u15$1];
[u1$2-u15$2];
[u1$3-u15$3];
[u1$4-u15$4];
%c#2%
[u1$1-u15$1];
[u1$2-u15$2];
[u1$3-u15$3];
[u1$4-u15$4];
model constraint:
new(b1_c1_1-b1_c1_15); do(1,15) b1_c1_#=(t1_#-alpha*L_#)/L_#;
new(b2_c1_1-b2_c1_15); do(1,15) b2_c1_#=(t1_#-alpha*L_#)/L_#;
new(b3_c1_1-b3_c1_15); do(1,15) b3_c1_#=(t1_#-alpha*L_#)/L_#;
new(b4_c1_1-b4_c1_15); do(1,15) b4_c1_#=(t1_#-alpha*L_#)/L_#;
new(b1_c2_1-b1_c2_15); do(1,15) b1_c2_#=t1_#/L_#;
new(b2_c2_1-b2_c2_15); do(1,15) b2_c2_#=t2_#/L_#;
new(b3_c2_1-b3_c2_15); do(1,15) b3_c2_#=t3_#/L_#;
new(b4_c2_1-b4_c2_15); do(1,15) b4_c2_#=t4_#/L_#;

*** ERROR
Unknown parameter label in MODEL CONSTRAINT: ALPHA
 Bengt O. Muthen posted on Monday, April 27, 2020 - 4:13 pm
You have a line saying

(alpha);

but this does not refer to a free parameter. Labels must follow a free parameter on the same line, such as

[f] (alpha);
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: