Ai-je correctement spécifié mon modèle dans lmer?


26

J'ai parcouru de nombreux sites d'aide et je ne sais toujours pas comment spécifier des termes imbriqués plus compliqués dans un modèle mixte. Je suis également confus en ce qui concerne l'utilisation de :et /et |en spécifiant les interactions et l'imbrication avec des facteurs aléatoires à l'aide lmer()du lme4package dans R.

Aux fins de cette question, supposons que j'ai représenté avec précision mes données avec ce modèle statistique standard: est fixe, et sont aléatoires. est (implicitement) imbriqué dans .

Yijk=u+stationje+remorquerj(je)+journéek+(station×journée)jek+(remorquer×journée)j(je)k
stationtowdayTowstation

En d'autres termes, j'espère que mon modèle comprend Station (i, fixe), Tow (j, aléatoire, implicitement imbriqué dans Station), Day (k, random), et l'interaction entre Tow et Day, et l'interaction entre Day et Station. J'ai consulté un statisticien pour créer mon modèle et je le crois pour le moment représentatif de mes données, mais j'ajouterai également une description de mes données pour ceux qui sont intéressés au bas de mon message afin de ne pas encombrer.

Jusqu'à présent, ce que j'ai pu reconstituer est le suivant lmer:

lmer(y ~ station + (1|station:tow) + (1|Day) + (1|station:day) + (1|tow:day), 
     data=my.data)

Est-ce que cela représente avec précision mon modèle statistique? Des suggestions pour améliorer mon code s'il ne se lit pas correctement?

J'ai mis en gras les termes spécifiques que j'ai du mal à spécifier dans ma formule lmer

#1. remorquage imbriqué dans la station lorsque le remorquage est aléatoire et que la station est fixe
Je suis confus, cependant à propos de la distinction entre les termes imbriqués et d'interaction qui sont aléatoires en utilisant :et /. Dans mon exemple ci-dessus, j'ai (1|station:tow)dans lequel j'espère que les lectures sont imbriquées dans la station. J'ai lu des commentaires contradictoires sur divers sites, que j'utilise ou non ici :ou /dans le (1|...)format aléatoire de lmer.

# 2. L'interaction entre la station et le jour lorsque la station est fixe et le jour est aléatoire,
je l'ai alors, (1|station:day)mais cette fois j'espère qu'elle lit l'interaction entre la station et le jour. Il semble que je pourrais utiliser station * day pour tenir compte des effets individuels de la station et du jour ainsi que de leur interaction (plutôt que d'inclure chacun des trois termes séparément comme je le fais ci-dessus), mais je ne vois pas comment le spécifier quand l'un est fixe et l'autre est aléatoire. Feriez- station*(1|day)vous cela?

# 3. L'interaction entre le remorquage et le jour (tous deux aléatoires) lorsque le remorquage est imbriqué dans la station (fixe) Enfin, j'ai (1|tow:day)ce que j'espère lire l'interaction de towet day, mais je me demande si je dois spécifier à nouveau que le remorquage est imbriqué (implicitement) en station?

Je suis nouveau dans la modélisation statistique Ret lmeret et j'apprécie grandement la difficulté d'explications approfondies dans toutes les réponses à mes questions si possible.

Plus de détails sur mes données: je demande si les concentrations de plancton varient sur un front physique dans l'océan littoral. J'ai trois stations, à terre, à l'intérieur et au large de ce front. La station est donc fixe. À chaque station, je prends trois traits de plancton répliqués (à partir desquels je trie, compte et obtient une concentration en termes de nombre de punaises par mètre cube d'eau). Le remorquage est aléatoire: en trois traits, j'espère tenir compte de la variabilité générale du plancton à cette station particulière. Le remorquage est intrinsèquement imbriqué dans la station, car chaque remorquage n'a pas d'ID unique (123, 123, 123 est l'ID des remorques à chaque station). Je l'ai ensuite fait plusieurs jours indépendants avec un nouveau front qui s'était formé. Je pense que je peux considérer Day comme un facteur de blocage? Le jour est aléatoire car répéter ceci sur plusieurs fronts indépendants indépendants tente de saisir la variabilité d'un jour à l'autre et d'être représentatif de tous les jours où ce front est présent. Je veux connaître les termes d'interaction pour voir si la variabilité des remorques varie d'un jour à l'autre et si les stations fournissent toujours des données similaires ou cela dépend-il du jour?

Encore une fois, merci pour votre temps et votre aide, je l'apprécie!


Je crois que vous manquez certains indices (je ne voulais pas les ajouter si je me trompais) sur votre modèle statistique standard.

1
FWIW, pour quiconque tombe sur ce sujet et se demande s'il est sur le sujet, étant donné qu'il se concentre sur la Rsyntaxe, l'OMI, il est suffisamment statistique (pour comprendre comment le modèle spécifié se rapporte à l'imbrication et aux interactions, etc.) pour être sur le sujet pour CV.
gung - Rétablir Monica

1
C'est à 100% sur le sujet à mon avis.


2
Selon votre lmer()syntaxe, vous avez spécifié un modèle où il y a un effet fixe de stationet quatre interceptions aléatoires, partagées par des individus avec la même (1) combinaison de stationet tow, (2) valeur de Day, (3) combinaison de stationet dayet ( 4) combinaison de towet day, respectivement. C'est bien ce que vous vouliez? Je ne suis pas sûr car, comme indiqué par @BabekP, la façon dont vous avez écrit la formulation de votre modèle n'est pas claire. Vous avez écrit des noms de variables, pas des paramètres. Normalement, dans un modèle comme celui-ci, les combinaisons de variables sont capturées par les indices.
Macro

Réponses:


23

Remorquage imbriqué dans la station lorsque le remorquage est aléatoire et que la station est fixe

station+(1|station:tow)est correct. Comme @John l'a dit dans sa réponse, (1|station/tow)s'étendrait à (1|station)+(1|station:tow)(effet principal de la station plus interaction entre le remorquage et la station), ce que vous ne voulez pas car vous avez déjà spécifié la station comme effet fixe.

Interaction entre la station et le jour lorsque la station est fixe et le jour est aléatoire.

L'interaction entre un effet fixe et un effet aléatoire est toujours aléatoire. Encore une fois, comme @John l'a dit, se station*daydéveloppe station+day+station:day, ce que vous (encore) ne voulez pas car vous l'avez déjà spécifié daydans votre modèle. Je ne pense pas qu'il existe un moyen de faire ce que vous voulez et de réduire les effets croisés de day(aléatoire) et station(fixe), mais vous pourriez le faire si vous vouliez écrire station+(1|day/station), ce qui, comme spécifié dans la réponse précédente, se développerait station + (1|day) + (1|day:station).

interaction entre le remorquage et le jour où le remorquage est imbriqué dans la station

Parce que vous n'avez pas des valeurs uniques de la towvariable (c. -à- parce que vous dites ci - dessous remorqués sont spécifiées comme 1, 2, 3à chaque station, vous avez besoin de spécifier l'imbrication, comme (1|station:tow:day). Si vous n'avez les remorquages spécifiés de manière unique, vous pouvez utiliser soit (1|tow:day)ou (1|station:tow:day)(ils doivent donner des réponses équivalentes.) Si vous ne spécifiez pas l'imbrication dans ce cas, lme4essaiera d'estimer un effet aléatoire qui est partagé par le remorquage # 1 à toutes les stations ...

Une façon de diagnostiquer si vous avez correctement spécifié les effets aléatoires est de regarder le nombre d'observations rapportées pour chaque variable de regroupement et de voir si cela correspond à ce que vous attendez (par exemple, le station:tow:daygroupe doit avoir un nombre d'observations correspondant à la nombre total de combinaisons station remorquage jour: si vous avez oublié l'imbrication avec la station, vous devriez voir que vous obtenez moins d'observations que vous ne le devriez.×××

Est-ce que http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#model-specification et http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#nested-or-crossed vous sont utiles?


merci beaucoup pour la réponse et les références utiles, ils sont très appréciés. Je suis confus au sujet de la notation (1 | a: b) comme vous le décrivez ci-dessus, où il semble que le ':' peut signifier "imbriqué" ainsi qu'une interaction. Comment peut-il spécifier les deux? En d'autres termes, comment lmer sait-il quelle relation vous indiquez? Je dois manquer quelque chose de basique ici, je m'excuse.
wtree

4
Il n'y a pas beaucoup de différence, dans ce contexte, entre l'interaction et l'imbrication. Le Bfait qu'il soit imbriqué Aou simplement interagit avec lui dépend de si l'effet principal de Aest inclus ou non dans le modèle. Si l'effet principal Best également dans le modèle, alors il est croisé ...
Ben Bolker

Bonjour à tous, j'ai posé une question connexe ici: stats.stackexchange.com/questions/272377/… si quelqu'un (en particulier @BenBolker) a la possibilité de chercher et de fournir une réponse.
Joshua Rosenberg

11

Certaines choses dans la formule sont un peu déroutantes. Le :est pour les interactions entre deux termes tandis que le *est pour les principaux effets et interactions. Il en /est un autre pour les interactions, mais il génère une interaction entre le numérateur et tous les termes du dénominateur (par exemple A/(B+C) = A:B + A:C). C'est |pour quelque chose comme "groupé par". Donc, 1|stationserait intercepté groupé par station et entre parenthèses, c'est aléatoire (1|station). C'est comme ça que vous feriez la nidification.

J'espère que c'est de l'aide. C'est un peu étrange d'avoir un effet aléatoire imbriqué dans un effet fixe et je ne sais pas comment vous représenteriez cela. Je ne peux même pas imaginer la situation. Vous pourriez obtenir une meilleure réponse si vous expliquez exactement quelles sont vos variables et ce que vous voulez accomplir. Souvent, les gens posent des questions et utilisent mal la terminologie et il est difficile de communiquer. Expliquez ce que les variables représentent et ce que vous voulez savoir à leur sujet.

En se concentrant sur votre description dans votre dernier paragraphe, il semble que votre remorquage soit simplement un indicateur des échantillons que vous avez recueillis et non quelque chose dont vous avez besoin d'estimations dans le sens où vous vous attendez à ce que le remorquage 1 soit systématiquement différent du remorquage 2 d'une manière ou d'une autre. Tow indique simplement un échantillon. À moins que vous ne croyiez vraiment que l'ordre des remorques est important, vous ne vous souciez même pas de cette variable. Et s'ils importaient, c'est un effet fixe (et peut-être aléatoire, mais pas uniquement un effet aléatoire). Vous dites que vous voulez savoir si les remorquages ​​changent de variabilité d'un jour à l'autre. Et la réponse est oui? Ce n'est pas dans le domaine de la probabilité réaliste qu'ils ne varient pas d'un jour à l'autre. C'est juste la variance de vos mesures. Toi' il n'est pas permis d'essayer de tenir compte de chaque spécification de variance car vous finissez par ne plus avoir de variance pour l'erreur. Vous auriez un modèle sur-spécifié. Vous seriez sur le point de simplement signaler chaque mesure.

Vous faites une déclaration similaire sur le fait de vous demander si la station varie selon le jour; bien sûr. Mais peut-être voulez-vous dire des jours spécifiques? Les jours étaient-ils regroupés d'une manière ou d'une autre par saison, cycle lunaire, etc.? À moins que vous n'ayez autre chose que le premier jour, le deuxième jour, etc. comment savoir que les stations varient d'un jour à l'autre vous dit autre chose que les stations? La réponse à cette question est donc, bien sûr, les stations varient d'un jour à l'autre. Et bien sûr, les remorques varient d'un jour à l'autre et d'une station à l'autre. Vous vous retrouvez à gauche avec un modèle simple:

aov(y ~ station, data = dat)

Le seul effet fixe que vous avez ici, station, est simplement échantillonné sur plusieurs traits et plusieurs jours. Je ne suis pas sûr que vous ayez vraiment besoin d'une modélisation à plusieurs niveaux ici. Il semble que vous spécifiez trop votre modèle.

Si vous voulez vraiment des effets de jour et de remorquage aléatoires et qu'il y a des informations que vous n'avez pas spécifiées ici, vous pouvez les étendre à un modèle à plusieurs niveaux. Ce serait:

lmer(y ~ station + (two*day|station), data = dat)

Vous avez cependant besoin de plusieurs remorques à chaque station et jour pour utiliser ce modèle.


Je suis d'accord avec tout ce que vous avez dit, mais je pense que c'est probablement plus un commentaire qu'une réponse.
Macro

@John j'étais avec vous jusqu'à ce que "c'est comme ça que vous feriez l'imbrication". Je pense que j'ai raté le point réel de la façon dont vous faites la nidification. Seriez-vous prêt à expliquer plus en détail? Je pense que je suis toujours confus par le | et y approfondira. Mais d'après votre réponse, je ne sais toujours pas comment, par exemple, indiquer que le remorquage (aléatoire) est imbriqué dans la station (fixe)?
wtree

@John Oh et la station est fixée en tant que sites / emplacements d'intérêt dans l'océan et le remorquage est aléatoire parce que je fais des remorquages ​​de plancton sur ces sites qui sont aléatoires en ce sens qu'ils tentent de tenir compte de la variabilité du plancton à chaque site, puis d'être extrapolés pour représenter la population de plancton dans une station.
wtree

1
Toutes les étiquettes d'un échantillon ne sont pas une variable aléatoire, voir les modifications.
John

1
Je pense toujours que le remorquage ne devrait pas du tout être dans le modèle étant donné cette description. Le jour sonne bien cependant.
John
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.