Message/Author 

Gareth posted on Tuesday, February 05, 2008  6:34 am



Can example 7.27 be modified for use with continuous variables? e.g. [u1u8] instead of [u1$1u8$1] I would like to allow the factor loadings, and the means and variances of each class to vary. 


Yes, in that example factor indicators can be continuous, censored, binary, ordered categorical (ordinal), counts, or combinations of these variable types. 

Anthony A posted on Wednesday, November 04, 2009  3:27 am



I'm interested in running FMA on a dataset; however, skew appears to be a problem. What kind of adjustments to running example 7.27 would be necessary when normality is not assumed? Do you recommend fixing the variance of the factor loadings to be equal or variable across classes? I understand I'd have to implement a nonparametric BLRT for comparing a kclass model to a k1 model but how do I go about defining that in the syntax? 


Mixture modeling does not assume overall normality only normality within classes. For continuous outcomes, remove the CATEGORICAL option from the VARIABLE command and ALGORITHM=INTEGRATION from the ANALYSIS command. Also, intercepts rather than thresholds are referred to. Factor loadings are held equal across classes as the default. This default can be relaxzed. TECH14 in the OUTPUT command gives BLRT. 

Anthony A posted on Thursday, November 05, 2009  3:42 am



Thanks for your response. Actually, my variables are binary variables, I just happen to post the question in the wrong thread. My TECH 11 and 14 are producing an LMR pvalues of 1.000 and a BLRT pvalue of 0.000 for every class model even when I allowed the factor loadings to vary. That's why I wondered if the BLRT estimate was impacted by skew. 


The reason I thought your variables were continuous is because you refer to skewness. If you have categorical variables with floor or ceiling effects, the categorical variable methodology is developed for these situations so they are not a problem. If you have results that you want looked at, please send the full output and your license number to support@statmodel.com. 

Anthony A posted on Friday, November 06, 2009  6:53 pm



Thank you very much in advance. I have sent in my output and license number as you suggested. 


I have a two class mixture model with 3 continuous variables (like example 7.22). By default the variances are held equal across classes. This works fine, and our hypothesis is supported, but I think the assumption is not realistic. However, if I relax this restriction, I get vastly different numbers of persons in the classes and the entropy falls down to about .675 (from .775). Can you explain the differences? And which solution should I trust most? (A three class solution is impossible to interpret.) 


I would use the PLOT command and the SERIES option to obtain plots that would show you which classes need the variance to be free because they have very different variability. I would free the variances only in those classes. I would use BIC to compare the models with the lower BIC being the better one. 


I am trying to fit a 2 factor 2 class mixture model, freeing only means and factor variances/covariances. I can get models to converge restricting the covariance between the factors to equality and models allowing the covariance between the 2 factors to be free. However, I am attempting to fit a model with factor variances and covariances to be free. When I allow variances and covariances to be free I get the error message THE LATENT VARIABLE COVARIANCE MATRIX (PSI) IN CLASS 1 IS NOT POSITIVE DEFINITE. It appears this is because the variance in one of the classes is negative. I attempted to fix the variance to just above zero (so I could estimate the correlation between the two factors), but this results in a standardized correlation outside of range (3.2). I'm wondering if I can conclude that allowing the variances to be free is not appropriate for the data, or if there is something else I can do to estimate this model. ps, I believe I have the model code right but I include it below MODEL: %OVERALL% IU_PROS BY IUS_7* IUS_8 IUS_10 IUS_11 IUS_18 IUS_19 IUS_21; IU_INHIB BY IUS_9* IUS_12 IUS_15 IUS_20 IUS_25; IU_PROS@1; IU_INHIB@1; %c#1% iu_inhib with IU_PROS; iu_inhib iu_pros; %c#2% iu_inhib with IU_PROS; 


Sounds like you need only 1 factor in one of your classes. That can be specified. 


How would I specify only one factor? Would I set the factors to equality within one of the groups like below? Or is there a way to specify a completely different model in one group versus another? MODEL: %OVERALL% IU_PROS BY IUS_7* IUS_8 IUS_10 IUS_11 IUS_18 IUS_19 IUS_21; IU_INHIB BY IUS_9* IUS_12 IUS_15 IUS_20 IUS_25; IU_PROS@1; IU_INHIB@1; %c#1% iu_inhib with IU_PROS@1; iu_inhib iu_pros; %c#2% iu_inhib with IU_PROS; Thanks for your help! 

Back to top 