I was wondering whether Mplus had the facility to conduct a multiple membership multilevel model where level 1 units belong to 2 or more higher level units (eg. a longitudinal study of children where many children will change the neighbourhood that they live in).
This type of model is described in the Mlwin handbook and by Hill and Goldstein (1997) in their article in the Journal of Educational and Behavioural Statistics. I would be interested in doing some multilevel SEM in the future but need to take into account a multiple membership multilevel model.
Hello, I recently bought Mplus and am a bit sorry there's no easy way to do multiple membership models. However, I think I found a way to do it (for certain types of models) and wanted some feedback regarding my method.
With people nested within 1-5 groups, I have taken the data and, for people in more than 1 group, I have simply duplicated their data for each group they are in. So, if someone was in two groups (labeled group 1 and group 2), they now have two rows of data, which have the same values. One of the rows is linked to group 1 and another is linked to group 2.
Here's my trick: For each row there is now a weighting variable which is 1/"the number of group memberships", so someone who was in two groups has their data associated with both groups, but their data only receives half the weight of someone who was only in one group (and someone in 5 groups has 5 rows of data, but each has only 1/5 the weight of someone who was only in group). Obviously, this method only works if you can safely assume that someone's data is equally associated with all the groups they are in.
Does this make sense? To get at the meaning of the output, will I have to correct significance values and Ns, etc? Can anyone give me some advice on this model in general and if there's a more efficient way to do this.
I'm not sure what a multiple membership model is so I can't say whether this makes sense. Can you explain a little more? Do you do this as a multiple group analysis? If so the observations in the groups should be independent.
bmuthen posted on Saturday, May 07, 2005 - 12:02 pm
Cross-classified random effects modeling is not yet available in Mplus. Let me get back to you about your proposed approach.
Dear Bengt & Linda, Irrespective of the cross classified and multiple membership (MM) modeling, your product is GREAT, thanks for your time with this!
The big problems I see with my approach (and I don't know much about it) are 1) this method, because it's TWOLEVEL, must use the SAMPLING weight and not the FREQUENCY weight, a problem because the weight indicates more the "frequency" of the data point, rather than its sampling probability. 2) This method may not weight appropriatelly at both individual-level and group-level.
Also, this scheme is VERY computer intensive (I have 13,000 L1 and 4,000 L2 data points and many cross-level effects). I cannot even use INTEGRATION = 5, and must use the MONTECARLO option to iterate. Will this pose problems for model?
Sorry to repost, but will Mplus run on a multiprocessor system? Can you give any advice on what kind of computer to buy to do complex problems with Mplus (e.g., what OS, how many GB ram, etc.)? I assume you all compute very complex models there, ?what do you use?, because my models are taking a week to run on P4s.
Re: multiprocessor, we are looking into this at the present time. We do complex models a lot but seldom with more than 4 dimensions of integration. The number of observations is also an issue as the entire data set is read at each iteration. We usually use a computer with a 2 Ghz processor and 2 Gbytes of RAM. We would never let a problem go for a week. Rather we would try to simplify it by changing the computational specifications and simplifying the way the model is specified. I wonder if you are using Version 3.12 as we made signficant speed improvements in that version. You can send your input and data to email@example.com and we can see if we can make some suggestions. We are continually working on ways to speed things up.
Regarding your idea for approximately handling multiple membership data, it is hard to see how well your approach would work - and it probably would vary quit a bit across situations. It would have to be evaluated by simulations. But I am not sure I would recommend that. Instead these data should be specifically modeled and Mplus can't do that yet, but perhaps in the not so distant future. In the meanwhile it might be best to acknowledge the problem but approximate membership by that of the first time point or some other influential time point (for instance, 8th grade is quite influential when it comes to US math achievement).
I would like to examine how certain teaching practices in the kindergarten (cluster-level/classroom-level covariate) influence the development of aggression from Grades 1 to 4. I have two clustering variables: 1) one that indicates cluster membership in the kindergarten; 2) the other that indicates cluster membership in first to fourth grades. I am not sure how to set up my model in this case (having two clustering variables). Could you help me out?
I am still not sure how to set up the model. Aggression was measured in Grades 1 to 4 (cluster = klass). However, my between-level predictor (laa) was measured in the kindergarten (cluster = lakood). So, I am not sure what should be specified under %between lakood%. My goal is to test whether laa predicts variance in the intercept and slope.
TITLE: multilevel; DATA: FILE IS Cross-classified.dat; VARIABLE: names are Klass LAKood Sugu at LAA LAT LAC LASiil LAAgress LASots Agress0 agress1 agress2 agress3 sots0 sots1 sots2 sots3; usevariables are agress0 agress1 agress2 agress3 laa ;
missing = all (-99); CLUSTER IS klass lakood; BETWEEN IS (lakood) laa; Analysis: type = crossclassified ; estimator = bayes; processors = 2;
Thank you! I am still confused (I also ran the model and it did not work). "Laa" is a cluster-level (kindergarten) variable. So, it cannot be specified at the within level. Also, shouldn't there be a command that specifies a path between "laa" and intercept and "laa" and slope?
Specifically, I have three measures of academic ability across four time points and I have had difficultly with specifying my latent variable across the between parts of the model (i.e., my two membership clusters).
Instead of the observed Y variables at the different time points, you would have an academic ability factor. So you study growth of a latent variable with multiple (3) indicators. We have multiple indicator growth example(s) in the UG, which can be combined with the slide 60 input. If you have problems with this setup, please send the output for your best effort, data, and license number to support.
Julija Mell posted on Tuesday, August 16, 2016 - 1:59 am
Dear MPlus team,
I would like to follow up on the multiple membership question. If I understand correctly from the documentation, MPlus can handle cross-classified data. From the examples I saw, that would be a case where there are two different sets of level2 clusters with each level1 unit belonging to exactly 2 clusters, one in each set (e.g. primary school, high school). In my case, multiple membership is structured a bit differently: I have a 3-level dataset, level 1 being employees, level 2 being team leaders, and level 3 being executives. Employees are nested within teams/team leaders, that one is easy. The more complex situation is the relationship between team leaders and executives: Team leaders are/ can be connected to executives. Some have one connection/affiliation, some have multiple, some have none. In terms of model, what I am trying to do is to predict an outcome at the employee level by an attribute of the executives. I would set up a membership weight matrix along the lines of Browne et al. (2001, Statistical Modeling), with the idea any Executive's attribute only has an effect on the employee's outcome when an affiliation between the associated team leader and the executive exists. I am not sure, however, how to set up a model like this in MPlus and, most importantly, whether this is actually possible. I appreciate your advice on this!
I am not familiar with membership weight matrix approaches. You may want to ask on Multilevelnet - perhaps someone (like Joop Hox) has done this in Mplus (or email him directly). Let us know if you find out.
Samuli Helle posted on Wednesday, January 16, 2019 - 1:08 pm
I am wondering whether there are differences in syntax or how the data are structured between cross-classified and multiple memberships models in Mplus?
Samuli Helle posted on Thursday, January 17, 2019 - 10:25 pm
Hi Tihomir, I have been reading all those resources and I get the model running. However, I doubt my model is still cross-classified as I get separate random intercepts for both the L2 clusters. I think in multiple membership model, one should have just one random intercept. At least that appears to be the case in applications with other softwares I have seen (e.g. https://www.ihrp.uic.edu/files/CrossClassMultiMember-Hedeker2014.pdf).