Two-level model with cross-classified... PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
 Shige posted on Saturday, August 20, 2005 - 12:44 pm
Dear Linda and Bengt,

Is it possible to estimate two-level model with cross-classified random effects? For example, in educational research, kids are nested within primary school and secondary school, but primary and secondary schools are not nested within each other but cross-classified. Some references on this topic can be found in Leyland and Goldstein (2001), chapter 7, or Raudenbush and Bryk (2002), chapter 12.



Leyland, A. H., and Harvey Goldstein. 2001. Multilevel Modelling of Health Statistics. Chichester ; New York: Wiley.

Raudenbush, Stephen W., and Anthony S. Bryk. 2002. Hierarchical Linear Models: Applications and Data Analysis Methods. Thousand Oaks: Sage Publications.
 bmuthen posted on Saturday, August 20, 2005 - 2:29 pm
Crossed random effects are not implemented in the current Mplus version, so unless one can think of some latent variable trick, this cannot be done yet.
 Michael J. Zyphur posted on Saturday, August 20, 2005 - 3:17 pm
If you don't have too many categories and have a lot of data, you could conduct a multigroup analysis and then constrain parameters across groups to test for the effects of the classifications.
 Jonathan posted on Sunday, July 06, 2014 - 9:23 am

It looks like it's possible to do CCREMs in Mplus now, but I'm having some difficulty replicating a particular model.

I'm looking to run a cross-classified model which has no predictors but has two random intercepts. So using the terminology of the Mplus manual and the example Michael posted above:
-->There would be no "within" model
-->The only things influencing y would be level2a (primary school) and level2b (secondary school), which would vary randomly

Is this possible in the new MPlus framework? If so, how would I code it?
 Linda K. Muthen posted on Sunday, July 06, 2014 - 9:58 am
If you have no covariates, you would not have random intercepts. You would have random means.

%BETWEEN level2a%
%BETWEEN level2b%
 Jonathan posted on Sunday, July 06, 2014 - 10:05 am
Thanks! One other question--if I wanted to get the random means for each group, is there a particular output I would request or operation I would perform?

Thanks in advance for your help.
 Linda K. Muthen posted on Sunday, July 06, 2014 - 10:30 am
 Tao Yang posted on Friday, June 05, 2015 - 3:36 pm
Hello, my data had encounter nested within day nested within participant while encounter was also nested within patient. So it is three level plus a cross-classified cluster of patient. Is this type of data structure implemented in Mplus at this time? If I understand correctly, Mplus can handle level-1 variables nested within the cross-classification of level-2a and level-2b. Not sure how to handle three-level with a crossed cluster.

 Bengt O. Muthen posted on Friday, June 05, 2015 - 4:00 pm
No yet.
 Edward Lemay posted on Tuesday, October 13, 2015 - 9:54 am
Hi. I have five waves of assessments taken on both members of romantic couples. Wave and person should be modeled as crossed and nested within couples. Can MPlus run this type of model as a multilevel model?
 Bengt O. Muthen posted on Wednesday, October 14, 2015 - 2:21 pm
Mplus cannot do cross-classified analysis within a higher nesting. But isn't wave nested within person?
 Edward Lemay posted on Thursday, October 15, 2015 - 7:38 am
Thank you for your response. Wave isn't nested within person because both partners complete the assessments at the same time. So person and wave are completely crossed, and person A's response at wave 1 is likely to be correlated with Person B's response at wave 1. So I was hoping to be able to model person and wave as crossed, and nested within dyad. But I think I can handle this in a multivariate way in which I treat the responses from the two partners as different variables on the same level.
 Bengt O. Muthen posted on Thursday, October 15, 2015 - 3:32 pm
That's what I would suggest - what we call a doubly-wide approach in our teaching. Wide wrt time and wide wrt partners. So for one outcome at T time points, you would analyze a single-level model with 2*T variables.
 Seamus Harvey posted on Wednesday, March 14, 2018 - 2:54 pm
Hello. My data has a number of levels that I'm trying to account for. At the first 'between-level', each participant is nested within a team. At the second 'between-level', each team appears in at least two clusters of rater. Because teams are not nested within raters, is it ok to use 'type=crossclasified' for the analysis, despite the fact that participants are nested within team. In addition, there is a third 'between-level', in which each rater is nested within a club. I presume MPlus won't be able to deal with this as this is four-level analysis?
 Tihomir Asparouhov posted on Wednesday, March 14, 2018 - 8:11 pm
One generally does not create a new "nesting level" unless you have more than 10 clusters at that level. For smaller number of clusters use multiple group or group specific predictors (dummy variables technique) or setup it up as a multivariate model. When there are many levels we recommend that you pick up the most important. Compute ICC for each nesting level then keep the top two levels with the biggest ICC. From your description it sounds that type=cross is needed.
 Seamus Harvey posted on Thursday, March 15, 2018 - 4:42 am
Thank you very much for your reply. I have more than 10 clusters per level, except the 'club' level, so should be ok in that regard. I was just wondering, is it suitable to use 'type=crossclassified' when the data is nested at one level but there is multi-membership at another?
 Tihomir Asparouhov posted on Thursday, March 15, 2018 - 8:44 am
Take a look at slides 57-60 for one example with multiple membership.
 Seamus Harvey posted on Thursday, March 15, 2018 - 8:48 am
Thank you.
 Tihomir Asparouhov posted on Thursday, March 15, 2018 - 8:49 am
If you can't fit the model in one step you can use multiple step estimation where plausible values are estimated for the contribution effects for the various levels (one level at a time).
 Seamus Harvey posted on Thursday, March 15, 2018 - 8:59 am
Thank you. How might multiple step estimation be specified in the syntax?
 Tihomir Asparouhov posted on Thursday, March 15, 2018 - 10:11 am
The multiple step is mostly doing it on your own and using Mplus to estimate the between part for a particular level - subtract it from the variable then proceed to the next clustering level or cross-nesting.
 Seamus Harvey posted on Thursday, March 15, 2018 - 10:30 am
Thank you for your reply. The analysis I'm completing is multiple imputation, during which the multilevel nature is taken into account. I presume the described multiple step approach isn't possible for this?
 Tihomir Asparouhov posted on Thursday, March 15, 2018 - 11:12 am
Probably it would be quite messy - but given the complexity of your situation I doubt your imputations account for that anyway and you are probably much better off relying on Mplus to deal with the missing data than using imputation that ignores the clustering.
 Seamus Harvey posted on Thursday, March 15, 2018 - 12:31 pm
Thank you very much for your advice. Unfortunately, I can't rely on Mplus to deal with missing data using FIML during analyses, as I need to manipulate the dataset further before getting to this stage (e.g., I need to calculate each player's average rating from multiple ratings provided by coaches). Apologies for the repeated questions; hopefully this is the last one. Do you reckon I would be better off (1) performing multiple imputation that takes into account the nested nature of the data at the first 'between-level' only, using 'type=twolevel', and ignoring the other higher grouping levels; or (2) performing multiple imputation that, in some way at least, addresses the nested nature of the data at the first 'between-level', and takes into account the multi-membership nature of the data at the second 'between-level', using 'type=crossclassified'?
 Seamus Harvey posted on Thursday, March 15, 2018 - 12:43 pm
Just to be clear, the clusters at the first 'between-level' appear in different clusters of the second higher 'between-level'.
 Tihomir Asparouhov posted on Thursday, March 15, 2018 - 4:08 pm
I would recommend to use ICC in your decision. In principle you can obtain the between component for each variable in each imputed data set - then average across the imputed data set to get the cluster specific contribution.
 Seamus Harvey posted on Thursday, March 15, 2018 - 4:47 pm
Thank you.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message