5
$\begingroup$

I see that there is a tag, but I can't find a good explanation of what a multiple membership model is, or how to go about fitting one. In my limited understanding, it seem very similar to a cross-classified model. That is, units in one level don't "belong" to a single level in another level - they can belong to many. So, in a healthcare setting, a patient might be treated in one hospital for one condition, and in another hospital for another condition, so patients are not nested in hospitals - they seem crossed. Is this multiple membership ? If so how is it different from cross-classified models. I know that cross classified models are very common in the mixed modelling world, so I assume it is the same with multiple membership, although I do not see much about multiple membership in the mixed models literature.

Are multiple membership models the same as cross classified models ? In this answer, it is stated:

"the latter is a crossed design (some might also call it multiple membership)"

This leads me to think that they are the same, although it is somewhat ambiguous.

If not, then what are they are how do we fit them ?

$\endgroup$
  • $\begingroup$ You added a bounty to this question but how is the current answer not sufficient? $\endgroup$ – Sextus Empiricus Sep 28 at 5:47
  • $\begingroup$ @SextusEmpiricus the answer is nice but soon after it was posted I asked for details about how to create the "Z" matrix, but RobertLong didn't respond or update his answer. I feel the Z matrix is the key to answering the question, so that is why I offered a bounty, since its been more than 2 weeks. I hope that make senses ! $\endgroup$ – Joe King Sep 28 at 20:16
  • $\begingroup$ I do not see this explained in your question. And what is a "Z" matrix? I see that Robert explains the model matrix, that is not it? $\endgroup$ – Sextus Empiricus Sep 29 at 6:28
  • $\begingroup$ @SextusEmpiricus sorry yes Z is the model matrix for random effects. Robert mentions what it is, but I don't know how to create it. $\endgroup$ – Joe King Sep 29 at 8:08
  • $\begingroup$ This is unclear to me. Is your question about the difference between multiple membership vs crossed random effects, or is is it about the creation of a model matrix? The latter seems like a totally new question to me. $\endgroup$ – Sextus Empiricus Sep 29 at 8:18
4
+400
$\begingroup$

Note this has been edited to address the issue of how to construct the model matrix for the random effects.

I agree that this can be confusing. But before answering, I would just like to be a bit pedantic and mention that multiple membership (and nesting, and crossing) is not a property of the model. It is a property of the experimental/study design, which is then reflected in the data, which is then encapsulated by the model.

Are multiple membership models the same as cross classified models ?

No they are not. The reason why my answer that you linked to is ambiguous on this is because some people, erroneously in my opinion, use the two terms interchangeably in certin situations (more in this below), when in fact they are quite different (in my opinion). The example you mentioned, patients in hospitals is a very good one. The key here is to think about the lowest level of measurement, and where the repeated measures occur. If patients are the lowest level of measurement (that is, there is no repeated measures within patients), then patient will not be a grouping variable, that is we would not fit random intercepts for it, so by definition, there cannot be crossed random effects involving patient. On the other hand, if there are repeated measures within patients then we would fit random intercepts for patients, and therefore we would have crossed random effects for patient and hospital. In the former case we would call this a model with multiple membership, but in the latter case we would call it a model with crossed random effects (in reality it will probably be partially nested and partially crossed). Some people seem to consider both to be multiple membership, and the latter to be just a special case (hence my ambiguous statement in the linked answer). I just think this confuses the situation.

So to give a definition of multiple membership, I would say this occurs when the lowest level units "belong" to more than one upper level unit. So, following the same example, where there are no repeated measures within patients, patients are the lowest level unit and if a patient is treated in more than one hospital then we have multiple membership, but if measures are repeated within patients, then the lowest level unit is the measurement occasion, which is nested within patients, and patients are (probably partially) crossed with hospitals.

how do we fit them ?

In the multilevel modelling world, software such as MLwiN can fit multiple membership models "out of the box". With mixed effects models, things are not straightforward, at least with the packages I am familiar with. The problem is that the data will look something like this:

Y PatientID HospA HospB HospC HospD HospE HospF HospG HospH

0.1   1      1      0     0     0     0     1     0     1
0.5   2      0      1     0     0     0     1     0     0
2.3   3      0      0     1     0     0     1     0     0
0.7   4      1      0     0     0     0     0     1     0
1.0   5      0      1     0     0     0     1     0     1
3.2   6      0      0     0     0     0     1     0     0
2.1   7      0      0     0     0     0     0     1     0
2.6   8      0      0     0     0     1     0     0     1

Other representations of the data are obviously possible but I think this makes most sense, and makes what follows easier to understand. Edit: It also makes the construction of the model matrix for the random effects quite straightforward (see the edit below).

Clearly it does not make any sense to fit random intercepts for each hospital. However, we have repeated measures within hospitals, so we need to account for this somehow, since observations within hospitals are more likely to be similar to each other than to observations in other hospitals. Moreover, not only is there likely to be correlations within hospitals, but each hospital that a patient belongs to contributes to the (single) measured outcome for that patient.

I don't know if there is an agreed upon way to handle this with mixed models, but Doug Bates and Ben Bolker have both shown how it can be done in lme4:

https://stat.ethz.ch/pipermail/r-sig-mixed-models/2011q2/006318.html
https://rstudio-pubs-static.s3.amazonaws.com/442445_4a48ad854b3e45168708cfe4f007d544.html

I won't mention the specifics of how to do it in lme4, but the idea is to

  • Create a dummy grouping variable (HospitalID with levels A - H using the above example).
  • Fit a model with random intercepts for the dummy. Some software, eg lme4, allows the model to be constructed internally without actually fitting it. We don't need it to be fitted - only to create the model matrix.
  • Construct the correct model matrix for the random effects yourself. This will be based on the HospA - HospE columns of the above example.
  • Update the model with the correct model matrix.
  • (Re)fit the updated model.

Edit: to address the question of how to construct the model matrix for the random effects

In a mixed model setting, we usually work with the general mixed model formula:

$$ y = X \beta + Zu + \epsilon$$

In the above example, we want to fit random intercepts for hospitals. The purpose of the model matrix $Z$ is to map the relevant random effects, $u$, onto the response. In the above example we have 8 hospitals. Therefore the random effects (random intercepts) will be a vector of length 8. For simplicity let's say that it is:

$$ u = \begin{bmatrix} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \end{bmatrix} $$

Now, if we look at patient 1, they are in hospitals A, F and H. So that patient will get a contribution of 1 from from hospital A, 6 from hospital F and 8 from hospital H. We could alternatively write this as:

$$ (1 \times 1) + (0 \times 2) +( 0 \times 3) + (0 \times 4) + (0 \times 5) + (1 \times 6) + (0 \times 7) + (1 \times 8) $$

We can now see that this is exactly the dot product of two vectors:

$$ \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 1 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \end{bmatrix} $$

We can now observe that the row-vector above is exactly the same as the row in the data for the hospitals:

Y PatientID HospA HospB HospC HospD HospE HospF HospG HospH

0.1   1      1      0     0     0     0     1     0     1

Therefore each row of the model matrix is simply the corresponding row of the hospital "membership" indicators, and the full structure of $Zu$ for the above data is:

$$ Zu = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \end{bmatrix} $$

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you - but please can you give more detals about how to construct the design matrix ? $\endgroup$ – Joe King Sep 11 at 13:53
  • $\begingroup$ @JoeKing does this answer your question ? If so, please consider marking it as the accepted answer. If not then please let us know why $\endgroup$ – Robert Long Sep 26 at 18:19
  • $\begingroup$ please can explain how to make the design matrix ? $\endgroup$ – Joe King Sep 27 at 6:56
  • $\begingroup$ Thank you for the edit $\endgroup$ – Joe King Oct 4 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.