Adhésion multiple vs effets aléatoires croisés
Je vois qu'il y a une adhésion multipletag, mais je ne peux pas trouver une bonne explication de ce qu'est un modèle d'appartenance multiple, ou comment s'y prendre pour en adapter un. Dans ma compréhension limitée, cela semble très similaire à un modèle croisé. Autrement dit, les unités d'un niveau n'appartiennent pas à un seul niveau d'un autre niveau - elles peuvent appartenir à plusieurs. Ainsi, dans un établissement de soins de santé, un patient peut être traité dans un hôpital pour une condition et dans un autre hôpital pour une autre condition, de sorte que les patients ne sont pas emboîtés dans les hôpitaux - ils semblent croisés. S'agit-il de plusieurs membres? Si oui, en quoi est-ce différent des modèles recoupés. Je sais que les modèles à classification croisée sont très courants dans le monde de la modélisation mixte, donc je suppose que c'est la même chose avec l'appartenance multiple, bien que je ne vois pas grand-chose à propos de l'appartenance multiple dans la littérature sur les modèles mixtes.
Les modèles d'appartenance multiples sont-ils identiques aux modèles à classification croisée? Dans cette réponse , il est dit:
"ce dernier est une conception croisée (certains pourraient aussi l'appeler appartenance multiple)"
Cela m'amène à penser que ce sont les mêmes, même si c'est quelque peu ambigu.
Sinon, quels sont-ils, comment les adapter?
Réponses
Notez que cela a été modifié pour résoudre le problème de la construction de la matrice du modèle pour les effets aléatoires.
Je conviens que cela peut prêter à confusion. Mais avant de répondre, je voudrais juste être un peu pédant et mentionner que l'appartenance multiple (et l'imbrication et le croisement) n'est pas une propriété du modèle. C'est une propriété de la conception expérimentale / d'étude , qui est ensuite reflétée dans les données, qui sont ensuite encapsulées par le modèle.
Les modèles d'appartenance multiples sont-ils identiques aux modèles à classification croisée?
Non ils ne sont pas. La raison pour laquelle ma réponse à laquelle vous avez lié est ambiguë à ce sujet est que certaines personnes, à mon avis, utilisent les deux termes de manière interchangeable dans des situations certes (plus en détail ci-dessous), alors qu'en fait, ils sont assez différents (à mon avis) . L'exemple que vous avez mentionné, celui des patients hospitalisés, est très bon. La clé ici est de penser au niveau de mesure le plus bas et à l'endroit où les mesures répétées se produisent. Si les patients sont au niveau de mesure le plus bas (c'est-à-dire qu'il n'y a pas de mesures répétées chez les patients), alors patientne sera pas une variable de regroupement, c'est-à-dire que nous ne ferions pas correspondre des interceptions aléatoires pour cela, donc par définition, il ne peut pas y avoir d'effets aléatoires croisés impliquant le patient. D'un autre côté, s'il y avait des mesures répétées chez les patients, nous ajusterions des interceptions aléatoires pour les patients, et nous aurions donc croisé des effets aléatoires pour le patient et l'hôpital. Dans le premier cas, nous appellerions cela un modèle à appartenance multiple, mais dans le dernier cas, nous l'appellerions un modèle avec des effets aléatoires croisés (en réalité, il sera probablement partiellement imbriqué et partiellement croisé). Certaines personnes semblent considérer à la fois comme des appartenances multiples, et ce dernier comme étant juste un cas spécial (d'où ma déclaration ambiguë dans la réponse liée). Je pense simplement que cela trouble la situation.
Donc, pour donner une définition de l'appartenance multiple, je dirais que cela se produit lorsque les unités de niveau inférieur "appartiennent" à plus d'une unité de niveau supérieur. Donc, en suivant le même exemple, où il n'y a pas de mesures répétées chez les patients, les patients sont l'unité de niveau le plus bas et si un patient est traité dans plus d'un hôpital, nous avons plusieurs membres, mais si les mesures sont répétées chez les patients, alors le plus bas l'unité de niveau est l'occasion de mesure, qui est imbriquée dans les patients, et les patients sont (probablement partiellement) croisés avec les hôpitaux.
comment les adapter?
Dans le monde de la modélisation à plusieurs niveaux, des logiciels tels que MLwiN peuvent s'adapter à plusieurs modèles d'appartenance «prêts à l'emploi». Avec les modèles d'effets mixtes, les choses ne sont pas simples, du moins avec les packages que je connais. Le problème est que les données ressembleront à ceci:
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
D'autres représentations des données sont évidemment possibles mais je pense que cela a plus de sens et rend ce qui suit plus facile à comprendre. Edit: Cela rend également la construction de la matrice du modèle pour les effets aléatoires assez simple (voir la modification ci-dessous).
Il est clair que cela n'a aucun sens d'ajuster des interceptions aléatoires pour chaque hôpital. Cependant, nous avons des mesures répétées au sein des hôpitaux, nous devons donc en tenir compte d'une manière ou d'une autre, car les observations dans les hôpitaux sont plus susceptibles d'être similaires les unes aux autres que les observations dans d'autres hôpitaux. De plus, non seulement il y aura probablement des corrélations au sein des hôpitaux, mais chaque hôpital auquel appartient un patient contribue au résultat (unique) mesuré pour ce patient.
Je ne sais pas s'il existe un moyen convenu de gérer cela avec des modèles mixtes, mais Doug Bates et Ben Bolker ont tous deux montré comment cela peut être fait lme4:
https://stat.ethz.ch/pipermail/r-sig-mixed-models/2011q2/006318.html
https://rstudio-pubs-static.s3.amazonaws.com/442445_4a48ad854b3e45168708cfe4f007d544.html
Je ne mentionnerai pas les détails sur la façon de le faire lme4, mais l'idée est de
- Créez une variable de regroupement fictive (
HospitalIDavec des niveauxA- enHutilisant l'exemple ci-dessus). - Ajustez un modèle avec des interceptions aléatoires pour le mannequin. Certains logiciels, par exemple
lme4, permettent au modèle d'être construit en interne sans l'adapter réellement. Nous n'avons pas besoin qu'il soit ajusté - seulement pour créer la matrice du modèle. - Construisez vous-même la matrice de modèle correcte pour les effets aléatoires. Ceci sera basé sur les colonnes
HospA-HospEde l'exemple ci-dessus. - Mettez à jour le modèle avec la matrice de modèle correcte.
- (Re) adapter le modèle mis à jour.
Edit: pour aborder la question de savoir comment construire la matrice du modèle pour les effets aléatoires
Dans un cadre de modèle mixte, nous travaillons généralement avec la formule générale du modèle mixte:
$$ y = X \beta + Zu + \epsilon$$
Dans l'exemple ci-dessus, nous voulons ajuster des interceptions aléatoires pour les hôpitaux. Le but de la matrice du modèle$Z$ consiste à cartographier les effets aléatoires pertinents, $u$, sur la réponse. Dans l'exemple ci-dessus, nous avons 8 hôpitaux. Par conséquent, les effets aléatoires (interceptions aléatoires) seront un vecteur de longueur 8. Pour simplifier, disons que c'est:
$$ u = \begin{bmatrix} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \end{bmatrix} $$
Maintenant, si nous regardons le patient 1, ils sont dans les hôpitaux A, Fet H. Ainsi, ce patient recevra une contribution de 1 de l'hôpital A, 6 de l'hôpital Fet 8 de l'hôpital H. Nous pourrions également écrire ceci comme suit:
$$ (1 \times 1) + (0 \times 2) +( 0 \times 3) + (0 \times 4) + (0 \times 5) + (1 \times 6) + (0 \times 7) + (1 \times 8) $$
Nous pouvons maintenant voir que c'est exactement le produit scalaire de deux vecteurs:
$$ \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 1 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \end{bmatrix} $$
Nous pouvons maintenant observer que le vecteur-ligne ci-dessus est exactement le même que la ligne dans les données pour les hôpitaux:
Y PatientID HospA HospB HospC HospD HospE HospF HospG HospH
0.1 1 1 0 0 0 0 1 0 1
Par conséquent, chaque ligne de la matrice du modèle est simplement la ligne correspondante des indicateurs «d'appartenance» à l'hôpital et la structure $Zu$ pour les données ci-dessus est:
$$ 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} $$