Local Independence Assumption PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
Message/Author
 Christian M. Connell posted on Saturday, January 24, 2009 - 12:14 pm
I have a model that estimates two separate LCA's (two 4-class models for two sets of behaviors comprised of ordinal and dichotmous indicators) and regresses the later class variable on the first. In addition, I include some covariates and test a covariate by latent class interaction.

To determine appropriate class sizes for the two LCA's I ran each separately, first, and used the adjusted BIC, LMR-LRT, and entropy as a guide (data is complex sample, so I did not use Tech14). Then I ran a combined model informed by these separate results.

The reviews were very positive, but one reviewer suggests the need to test the validity of the local independence assumption -- referencing Garrett & Zeger (2000) Log-Odds Ratio Check or evaluation of the bivariate residuals (Vermunt & Magidson, 2000).

My questions -- is this assumption necessary to test (wouldn't non-indepence be relaxing this assumption of the method); are the two recommended tests appropriate for my data type (i.e., ordinal categorical) and model; and are the readily implemented in Mplus (my sense from Karen Nylund's 2007 paper is "no").
 Bengt O. Muthen posted on Saturday, January 24, 2009 - 4:03 pm
You can check the assumption by looking to see if you have significant bivariate residuals in TECH10.
 Christian M. Connell posted on Monday, January 26, 2009 - 1:04 pm
With regard to Tech10 -- is there a particular standard I should use in evaluating local independence? With 6 variables (each having 2 to 4 levels), there are a number of standardized residual z-scores in excess of |1.96|. Does the presence of any significant residuals pose a problem for the local independence assumption, or is there a "rule of thumb" regarding how many (or what percent) are significant? Would a significant residual indicate that I need to have a direct relation between two given indicators in the model?

Also, is there a way to request (or assess) the expected information matrix to formally check model identification (another request from the reviewer)? I see the ratio of smallest to largest eigenvalue in my output (0.137E-05), would that indicate that none of my eigenvalues equal "0" -- and, thus, my model is identified?

Thank you,
Christian
 Linda K. Muthen posted on Monday, January 26, 2009 - 4:32 pm
The first thing I would do is try one more class and see if the significant standardized residuals are still significant. It may be you need one more class.

Significant standardized residuals indicate that the assumption of conditional independence is not met. There is no rule of thumb here as to how many are acceptable. Each residual covariance is one dimension of integration so adding more than 4 may not be feasible.

If the information matrix is singular, we give a message. The ratio of smallest to largest eigenvalue in your output (0.137E-05) indicates that your model is identified.
 Christian M. Connell posted on Monday, January 26, 2009 - 5:47 pm
I had run additional models with more classes, but the Adjusted BIC, LMR Likelihood Ratio Test, and entropy did not suggest these models were appropriate. Significant bivariate residuals are still present (assuming that I'm interpreting the output correctly -- would the absolute value of the standardized residual (z-score) > 1.96 indicate significance?).

Do such findings invalidate the model results? In the case of conflicting evidence (i.e., if standardized residuals did decrease) -- which set of standards should guide model selection? Vermunt appears to indicate there is a trade-off between local independence and class size (i.e., by relaxing this assumption and allowing direct relations among indicators you may reduce classes). However, by allowing such relations you may also ignore potentially meaningful classes. I don't recall a clear statement as to how to weigh the decision.

Also, would one relax this assumption by modeling a covariance between indicators? In the current model, for example, I am modeling substance use classes based upon categorical indicators of frequency of use for various substances. Would I have to indicate that some of the substances (tobacco and alcohol use) are also indendently associated with one another apart from the class structure that I am reporting?
 Linda K. Muthen posted on Tuesday, January 27, 2009 - 10:32 am
Yes, a standardized residual of 1.96 indicates significance.

It is not clear how to handle this situation. I would use the meaningfulness of the classes as a guide.

Yes, you can relax the assumption by modeling the covariance.
 Rick Sawatzky posted on Saturday, January 31, 2009 - 9:38 am
I am using the bivariate results in TECH10 to evaluate local independence of an IRT mixture model and would like to clarify the following:

1) How are the standardized residuals calculated?

2) Are the standardized residuals expected to follow a particular distribution (e.g., as in Yen's Q3 statistic which, under multivariate normality, is expected to be normally distributed)?

3) Is the chi-square for the bivariate association the same as the chi-square for local independence suggested by Chen (1997)?

4) How are the degrees of freedom for the chi-square statistics calculated? Are they simply (row-1) * (columns-1) (e.g., Df = 4 two variables with 3 ordinal categories each) or must the number of estimated parameters (thresholds) be taken into account (e.g., DF = 5 for two variables with three ordinal categories each)?

Thank you very much for clarifying these points.
 Linda K. Muthen posted on Sunday, February 01, 2009 - 11:31 am
The standardized residuals given in tech10 are the standardized Pearson residuals. See Agresti's Categorical Data Analysis book, Sections 3.3.1 and 4.5.5. The original article on this topic is The Analysis of Residuals in Cross-Classified Tables, Shelby J. Haberman, Biometrics, Vol. 29, No. 1 (Mar., 1973), pp. 205-220. They are normally distributed z-scores.

For the bivariate tables the standardized residuals are computed by (O-E)/[sqrt(E)*sqrt(1-E/n)]. O and E are the Observed and Expected (model estimated) quantities for a pattern in the categorical data.
 Rob Dvorak posted on Friday, November 27, 2009 - 8:55 am
Hi Drs. Muthen,

I was wondering if there is a way to evaluate the Condition Number for the Information Matrix. I have been told that > 0.xE-06 is a rule of thumb, but I'm wondering if there is a citation I am missing (perhaps in the Mplus manual that I've missed). In my analysis, mine is currently 0.133E-04.
 Bengt O. Muthen posted on Friday, November 27, 2009 - 10:33 am
I don't know about citations, although I assume the numerical analysis literature would have something on it. Depending on the algorithm, I think our epsilon limit for calling it singular, and most likely non-identified, is E-09 or E-10. I think different sized models with different sized parameter values can influence whether or not a small value should be seen as an indicator of non-identification. Then there is also the matter of which estimator of the information matrix one uses. Mplus works with MLF, ML, and MLR. MLF seems to be most sensitive to possible singularity/non-identification.
 Jerry Cochran posted on Wednesday, June 15, 2011 - 1:47 pm
I am trying to evaluate local independence for a LCA with a four class solution. I have requested tech 10 from mplus, but, I wasnt sure what part of the output under the bivariate model information section to interpret. I see z scores for the different combinations of variables as well as two chi square tests.

Thank you for your time.
 Bengt O. Muthen posted on Wednesday, June 15, 2011 - 5:21 pm
You can use both. The z scores give you detailed information about sources of misfit. Chi-square presents it more globally.
 Kathleen Berger posted on Wednesday, March 07, 2012 - 9:03 am
Hi. I am doing a CFA with one factor and ordinal categorical outcome variables. I have used multiple imputation with wlsmv. I guess I can't get the bivariate correlation of the standardized residuals to evaluate local independence. Is there another way I can get this information?

Thanks so much! New to MPLUS and still learning.
 Linda K. Muthen posted on Wednesday, March 07, 2012 - 10:13 am
You can use MLR on the original data and ask for TECH10. With only one factor and categorical factor indicators, you require only one dimension of integration.
 Kathleen Berger posted on Monday, March 19, 2012 - 2:11 pm
Hi.
I am doing a CFA with one factor and ordinal categorical outcome variables. In order to evaluate local independence, I am using Reeve's >.2 criterion. The ouput I get with the following syntax shows correlations across categories. Is there a way I can collpase this to just show the resdiual correlation averaged across the indicators?

This is the syntax I used:

TITLE: CFA safety tbi mlr with tech 10_CC
DATA: FILE IS "C:\Users\kathy\Desktop\shepherd_safety_project\
ControlFIle_cg_cc3_3_2012.dat";
VARIABLE:
NAMES ARE cc1 cc2 cc3 cc4 cc5 cc6 cc7 cc8 cc9 cc10 cc11 cc12 cc13 cc14
cc15 cc16 cc17 cc18 cc19 cc20 cc21;
CATEGORICAL ARE cc1 cc2 cc3 cc4 cc5 cc6 cc7 cc8 cc9 cc10 cc11 cc12
cc13 cc14 cc15 cc16 cc17 cc18 cc19 cc20 cc21;
MISSING ARE ALL (9);
ANALYSIS:
Estimator=mlr;
Model:
f BY cc1 cc2 cc3 cc4 cc5 cc6 cc7 cc8 cc9 cc10 cc11 cc12 cc13 cc14
cc15 cc16 cc17 cc18 cc19 cc20 cc21;
f@1;
OUTPUT:
tech10
SAMPSTAT;
STAND;
RESIDUAL;
PATTERNS;
SAVEDATA:
FILE IS COGCAP_03022012cfa.DAT;
FORMAT IS F2.0;

Thanks!
 Linda K. Muthen posted on Monday, March 19, 2012 - 6:52 pm
Please send the output and your license number to support@statmodel.com.
 Andy Daniel posted on Wednesday, December 12, 2012 - 6:59 am
Hi,

I'm running a LCA with repeated measures of one nominal variable in a longitudinal dataset (6 categories in each wave). It is very plausible that the Local Independence Assumption isn't met in this case and that the measurement errors are associated.

I was wondering if there is a way to check the Local Independence Assumption in this model with mplus. Due to the fact that the variables are nominal TECH10 is not provided.

The following question would be if it is possible to model the assocation between the measurement errors to deal with the violation of the LI-Assumption.

Many Thanks for your help!!!

Best,

Andy
 Bengt O. Muthen posted on Wednesday, December 12, 2012 - 7:19 pm
It is difficult to model such associations. You can take the approach in UG ex 7.16.
 Danyel A.Vargas posted on Monday, February 10, 2014 - 8:34 am
Dr. Muthen,

I requested tech 10 for my LCA; I have continuous indicators and one categorical indicator. In this output I only see info for the categorical indicator. How do I request residuals for the continuous indicators?

Thanks,

Danyel
 Linda K. Muthen posted on Monday, February 10, 2014 - 10:50 am
Use the RESIDUAL option if it is available for your analysis.
 Danyel A.Vargas posted on Monday, February 10, 2014 - 11:39 am
Thanks, Dr. Muthen. I requested the residual, but I don't see the Z tests associated with the covariances between the indicators. Am I supposed to request something additional?
Thanks so much.
Danyel
 Danyel A.Vargas posted on Monday, February 10, 2014 - 1:09 pm
Also, I have another question about interpreting the odds ratio.
latent class 1 compared to latent class 2
c4gen
category > 1 1.266 p value .03
The categorical variable is gender whereby 1 = female and 2 = male. Would a correct interpretation be the following?

In comparison to class 2, those in class 1 are more likely to be male?

Thanks so much.

Danyel
 Danyel A.Vargas posted on Monday, February 10, 2014 - 1:25 pm
Also, here is another table.

RESULTS IN PROBABILITY SCALE

Latent Class 1

C4GEN
Category 1 0.486 0.103 4.739 0.000
Category 2 0.514 0.103 5.016 0.000

Latent Class 2

C4GEN
Category 1 0.545 0.037 14.588 0.000
Category 2 0.455 0.037 12.194 0.000
 Linda K. Muthen posted on Monday, February 10, 2014 - 3:41 pm
The standardized residuals are z-scores.

See pages 496-497 of the user's guide for the interpretation of odds ratio results.

The table above is a translation of the logits in the results section to probabilities.
 Evann Smith posted on Sunday, June 28, 2015 - 12:37 pm
Hello,

I am using tech10 to evaluate the conditional independence assumption of an LCA model.

I have 2 questions:

1) How do I calculate the degrees of freedom for the Overall Bivariate Pearson Chi-square posted at the very end of the tech10 output?

2) None of the individual bivariate standardized Pearson residuals are significant at |1.96|. However some of the Bivariate Pearson Chi-squares for variable pairs are significant (> 3.84). Should I consider these violations of the conditional independence assumption?

Thanks!
 Tihomir Asparouhov posted on Monday, June 29, 2015 - 9:34 am
1) The distribution of the Overall Bivariate Pearson Chi-square statistic is not known. It is computed mostly for comparative purposes.

2) No. These are again computed for comparative purposes and I would not recommend a cutoff value. The proper use is as follows. Consider the
"Chi-Square Test of Model Fit" in the "MODEL FIT INFORMATION" section. If the model is rejected examine tech10 tables and modify the model for pairs of variables with the largest Bivariate Pearson Chi-squares values. Modifications along the line of (page 8) are recommended
http://www.statmodel.com/download/Version7.2LanguageAddendum.pdf
 Evann Smith posted on Monday, June 29, 2015 - 10:43 am
Thanks for the speedy response.

Given that the Chi-square statistic does not follow a known distribution, is it possible to bootstrap the residuals in Mplus as recommended by Oberski et al.?

http://members.home.nl/jeroenvermunt/oberski2013a.pdf
http://daob.nl/wp-content/uploads/2013/05/oberski-breschia.pdf
 Evann Smith posted on Monday, June 29, 2015 - 10:48 am
Also, as a quick follow-up question to your previous recommendation:

When would you recommend modeling the residual covariances as constrained to be equal across classes vs. free across classes?
 Tihomir Asparouhov posted on Monday, June 29, 2015 - 10:56 am
It is possible Evann but it will require a bot of programing on your end. 1) Generate 100 data sets according to your estimated model. Then compute tech10 statistics for each and assemble the values of these statistics to obtain the null hypothesis distribution of these statistics.

You can use
https://www.statmodel.com/utility/extractor.shtml
http://www.statmodel.com/examples/webnotes/web10.zip
or use R
https://www.statmodel.com/usingmplusviar.shtml

For "equal across classes vs. free across classes" question, start with unequal and test using model test or model constraints for equality.
 Evann Smith posted on Monday, June 29, 2015 - 7:57 pm
Thanks for the advice. I'd like to give bootstrapping a try.

Extracting the model parameters from the output was relatively simply in R (my native statistical language), but I'm having trouble sorting out the best way to generate data from them.

Given the unstandardized threshold estimates and standard errors, how would you proceed?

Thanks again
 Linda K. Muthen posted on Monday, June 29, 2015 - 8:19 pm
You can use the SVALUES option of the OUTPUT command to get the input with ending values as starting values and use those statements as input in MODEL POPULATION to generate data sets. See Chapter 12 for examples of Monte Carlo inputs.
 Evann Smith posted on Monday, June 29, 2015 - 9:08 pm
Thanks for the SVALUES tip.

Using the starting values, however, I'm now running into the error:

*** ERROR in MODEL POPULATION command
One or more pairs of ordered thresholds are not increasing in Class 1.
Check your population values. Problem with the following pairs:
PT_EL$2 (-1.427) and PT_EL$3 (-1.427)

What's the best way to proceed?
 Linda K. Muthen posted on Tuesday, June 30, 2015 - 5:57 am
Please send the output with the SVALUES and the output with the error message along with your license number to support@statmodel.com.
 Evann Smith posted on Thursday, July 02, 2015 - 10:32 am
Hi,

I've now successfully generated data and bootstrapped the distributions of my BVRs. Because my data is clustered, I did this in two steps (following the user's guide): 1) generate the data using the twolevel specification , 2) run the models using the complex specification.

A few of my bootstrapped p-values were significant. I've modeled the largest dependency using type=complex, parameterization=rescov, and the "with" statement in the model.

Now I'd like to generate new data and get new bootstrapped p-values for the BVRs, having modeled one local dependence.

I'm having trouble, however, figuring out how to generate clustered data that also had a "with" parameter. I keep getting the error that twolevel and rescov don't work together.

Is there a way to Montecarlo generate new clustered data that uses the model parameters from my new model that accounts for one local dependency?

Thanks!
 Linda K. Muthen posted on Thursday, July 02, 2015 - 12:51 pm
RESCOV is for TYPE=MXITURE. You can create a covariance between two categorical variables when maximum likelihood is used by saying:

f BY u1@1 u2;
f@1; [f@0];

where the factor loading of u2 is the covariance parameter. Note that in this case, each covariance requires one dimension of integration.
 Evann Smith posted on Thursday, July 02, 2015 - 2:40 pm
I've been using type=mixture because the model for which I'm generating data and bootstrapping the BVRs is a latent class model.

For the first iteration (bootstrapping the BVRs for a clustered latent class model with all residual covaiances held at 0), I used "type=twolevel mixture" to generate the data and then "type=complex mixture" to bootstrap the BVRs.

Are you suggesting that for this second iteration (where I have parameters for a residual covariance) that I generate the data in the first step not as mixture model?

Thanks!
 Linda K. Muthen posted on Thursday, July 02, 2015 - 3:47 pm
You say above you generate as twolevel.

If you have TYPE=MIXTURE, you should be able to use RESCOV. If you can't see the problem, send the output and your license number to support@statmodel.com.
 Massimiliano Orri posted on Tuesday, December 22, 2015 - 7:53 am
Dear Drs. Muthen,
I’m using LPA to find latent affective profiles in a group of men (fathers) and women (mothers). My indicators are 6 continuous variables. I estimated men and women profiles separately, because my instrument measuring the 6 indicators is not gender invariant (and the profiles I obtained using the entire sample did not make any sense). I obtained 3 profiles for fathers and 3 for mothers.
I would like to ask 2 questions:
1)I used the RESIDUAL option to verify the conditional independence assumption, but I’m not sure about how to interpret the output. Can you give me any hint?
2)I would like to estimate whether these profiles predict a distal outcome (their child behavior) using the three-step approach (R3STEP). However, I cannot figure out how to do that, since I studied mothers and fathers separately (and I need to consider both profiles in my model predicting the distal outcome). It there any solution? Or the only one is to first classify and then analyze?
Thanks in advance
Max
 Bengt O. Muthen posted on Thursday, December 24, 2015 - 6:25 pm
1) Residuals are hard to interpret here. You can instead run the model that includes all the within-class covariances and see if some are significant and also check with BIC.

2) To predict the distal I think you first have to do an analysis that considers the family, not the individual mother or father. This model would have 2 latent class variable, one for fathers and one for mothers. That model can then be used to take a manual BCH approach to the distal, drawing on the ideas in the paper on our website:

Asparouhov, T. & Muthén, B. (2014). Auxiliary variables in mixture modeling: Using the BCH method in Mplus to estimate a distal outcome model and an arbitrary second model. Web note 21. Download appendices with Mplus scripts.
 Massimiliano Orri posted on Sunday, December 27, 2015 - 12:21 pm
Thanks Dr Muthén for your answers and suggestions.

Just to be sure:

1) Are residuals in z-values?

2) Are you suggesting me to analyze fathers and mothers together using gender as a "Knownclass" latent class variable?
 Bengt O. Muthen posted on Sunday, December 27, 2015 - 6:01 pm
1) No, not unless the output says so.

2) No. You will have one latent class variables for fathers and one for mothers, each with your 3 profiles.
 'Alim Beveridge posted on Monday, December 28, 2015 - 7:31 am
Dear Bengt and Linda,

I am running an LCA with 50 DVs and 358 observations. 14 are counts, all the rest are categorical (binary or ordinal). I requested TECH10 and received the following warning:
TECH10 OUTPUT FOR CATEGORICAL VARIABLES IS NOT AVAILABLE BECAUSE THE FREQUENCY TABLE FOR THE LATENT CLASS INDICATOR MODEL PART IS TOO LARGE.

As a results, I only am given the BIVARIATE MODEL FIT INFORMATION for the count variables. Is there a way to force Mplus to provide the same for the categorical variables?

Is there a recommended approach to removing extraneous DVs?

What is the max number of categorical variables Mplus will handle and still show the TECH10 output?

Thanks,
'Alim
 Massimiliano Orri posted on Monday, December 28, 2015 - 8:47 am
Ok, thank you, I figured it out.

Using this approach, the profiles that I found for mothers and fathers are different from the profiles I obtained doing the analysis separately for mothers and fathers.
In the same way, in the separate analysis I found 3 profiles for each parent (using lower BIC as criterion), but the BIC in the model with 2 latent class variables suggests 3 latent profiles for mothers and 2 (not 3) for fathers (i.e. 6 joint profiles, not 9)

So I'd like to ask two other questions about that.

1) These differences are normal because the models are different, am I right?

2) Should these 2 approaches been considered as 2 alternative ways of analyzing my data (e.g. a family-centred approch vs and individual-centred approach), suitable to answer 2 different questions?
(if yes, I could explain the fact that the profiles of each parent obtained in the separate analysis make more sense according to the theory than the profiles of each parent obtained in the analysis with 2 latent class variables).

Thanks in advance for your help!

Max
 Bengt O. Muthen posted on Monday, December 28, 2015 - 11:13 am
First make sure that your two latent class variables are allowed to correlate. Use

c1 WITH c2;
 Bengt O. Muthen posted on Monday, December 28, 2015 - 4:08 pm
Alim - which version of Mplus are you using?
 'Alim Beveridge posted on Monday, December 28, 2015 - 6:23 pm
Dear Bengt,

I am using 7.4.

best,
'Alim
 Tihomir Asparouhov posted on Tuesday, December 29, 2015 - 9:18 pm
> Is there a way to force Mplus to provide the same for the categorical variables?

- Yes. Rewrite the model only with the categorical variables, drop the count variables, fix all parameters to the values in the original model.

> Is there a recommended approach to removing extraneous DVs?

- Use the univariate entropy (drop variables with small values)

> What is the max number of categorical variables Mplus will handle and still show the TECH10 output?

- Any joint distribution with max 2^31 cell i.e. max of 31 binary but again if you don't have the count variables there is no limit.
 'Alim Beveridge posted on Wednesday, December 30, 2015 - 7:20 am
Thank you Tihomir,

I added the ENTROPY command to the output section to request univariate entropy.
The results I got are strange.
First, in the list of univariate entropies only 25 (out of 50) variables (DVs) are shown
Second, 8 variables show a univ. entropy of 999.000 - I thought entropy is bounded by 0 and 1.
Third, for 3 variables the the entropy value is blank.

Have I done something wrong?

'Alim
 'Alim Beveridge posted on Wednesday, December 30, 2015 - 7:37 am
> Yes. Rewrite the model only with the categorical variables, drop the count variables, fix all parameters to the values in the original model.


Dear Tihomir,

as for your first recommendation, can you tell me which parameters have to be fixed and how? Are you referring to "user-specified starting values without random starts" as shown in Example 7.4 of the manual:

%OVERALL%
%c#1%
[u1$1*1 u2$1*1 u3$1*-1 u4$1*-1];
%c#2%
[u1$1*-1 u2$1*-1 u3$1*1 u4$1*1];

Would I find the desired values by looking at STARTING VALUES FOR LATENT CLASS INDICATOR MODEL PART under the TECH1 output?

Thanks.
 Bengt O. Muthen posted on Thursday, December 31, 2015 - 5:40 pm
Please re-post your questions for when Tihomir returns at the end of the week of January 11.
 'Alim Beveridge posted on Monday, January 25, 2016 - 4:24 am
I am reposting my two questions for Tihomir:

Thank you Tihomir,

I added the ENTROPY command to the output section to request univariate entropy.
The results I got are strange.
First, in the list of univariate entropies only 25 (out of 50) variables (DVs) are shown
Second, 8 variables show a univ. entropy of 999.000 - I thought entropy is bounded by 0 and 1.
Third, for 3 variables the the entropy value is blank.

Have I done something wrong?

'Alim
 'Alim Beveridge posted on Monday, January 25, 2016 - 4:26 am
Reposting my second question for Tihomir:

> Yes. Rewrite the model only with the categorical variables, drop the count variables, fix all parameters to the values in the original model.


Dear Tihomir,

as for your first recommendation, can you tell me which parameters have to be fixed and how? Are you referring to "user-specified starting values without random starts" as shown in Example 7.4 of the manual:

%OVERALL%
%c#1%
[u1$1*1 u2$1*1 u3$1*-1 u4$1*-1];
%c#2%
[u1$1*-1 u2$1*-1 u3$1*1 u4$1*1];

Would I find the desired values by looking at STARTING VALUES FOR LATENT CLASS INDICATOR MODEL PART under the TECH1 output?

Thanks.
 Tihomir Asparouhov posted on Monday, January 25, 2016 - 3:46 pm
All of the parameters should be fixed. Use the output:svalues; command and change * to @. These are the values of the estimated model.

Please send the entropy example to support@statmodel.com.
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: