Message/Author 

Shige posted on Saturday, August 20, 2005  12:44 pm



Dear Linda and Bengt, Is it possible to estimate twolevel model with crossclassified 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 crossclassified. Some references on this topic can be found in Leyland and Goldstein (2001), chapter 7, or Raudenbush and Bryk (2002), chapter 12. Thanks! Shige 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. 


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



Hi: 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 crossclassified 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? 


If you have no covariates, you would not have random intercepts. You would have random means. MODEL: %WITHIN% y; %BETWEEN level2a% y; %BETWEEN level2b% y; 

Jonathan posted on Sunday, July 06, 2014  10:05 am



Thanks! One other questionif 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. 


No. 

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 crossclassified cluster of patient. Is this type of data structure implemented in Mplus at this time? If I understand correctly, Mplus can handle level1 variables nested within the crossclassification of level2a and level2b. Not sure how to handle threelevel with a crossed cluster. Thanks! 


No yet. 


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? 


Mplus cannot do crossclassified analysis within a higher nesting. But isn't wave nested within person? 


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. 


That's what I would suggest  what we call a doublywide approach in our teaching. Wide wrt time and wide wrt partners. So for one outcome at T time points, you would analyze a singlelevel model with 2*T variables. 


Hello. My data has a number of levels that I'm trying to account for. At the first 'betweenlevel', each participant is nested within a team. At the second 'betweenlevel', 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 'betweenlevel', in which each rater is nested within a club. I presume MPlus won't be able to deal with this as this is fourlevel analysis? 


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. 


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 multimembership at another? 


Take a look at slides 5760 for one example with multiple membership. https://www.statmodel.com/download/handouts/MuthenV7Part3.pdf 


Thank you. 


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). 


Thank you. How might multiple step estimation be specified in the syntax? 


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 crossnesting. 


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? 


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. 


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 'betweenlevel' 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 'betweenlevel', and takes into account the multimembership nature of the data at the second 'betweenlevel', using 'type=crossclassified'? 


Just to be clear, the clusters at the first 'betweenlevel' appear in different clusters of the second higher 'betweenlevel'. 


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. 


Thank you. 


I have a 2 level dataset that I believe is cross nested. I am using administrative data from a state child welfare database where my level 1 is children, level 2 is the caregiver, and they are nested by caseworker. There are instances where a child and/or family member can have more than one caseworker. My DV is categorical as are most of my IVs. Urb and Rur are the type of county the family lives in (the reference category is Sub). I am currently using the following syntax: Analysis: type = twolevel; Model: %within% recurrence on NumKids KidGen KidAge KidEth KidRace AduGen AduAge AduEth AduRace TR_AR Q1_PA Q1_SA Medi; %between% recurrence on Urb Rur; But I am getting two error messages: One or more betweenlevel variables have variation within a cluster for the following clusters. One or more individuallevel variables have no variation within a cluster for the following clusters. Thank you. 


Try Analysis Type = Crossclassified. Hopefully that takes care of the first error message. The second one is not fatal. 


Unfortunately, it did not. My new error message is: *** ERROR in VARIABLE command Exactly two cluster variables are required for TYPE=CROSSCLASSIFIED. The number of cluster variables required has not been reached or has been exceeded. I suspect my syntax is not correct but I am not sure where to get the specific syntax I need. 


The UG shows examples of Type=crossclassified analysis. 

Back to top 