L'origine de la notation de style Wilkinson telle que (1 | id) pour les effets aléatoires dans les formules de modèles mixtes dans R

16

Formules de modèle en R telles que

y ~ x + a*b + c:d

sont basées sur la notation dite de Wilkinson : Wilkinson et Rogers 1973, Description symbolique des modèles factoriels pour l'analyse de la variance .

Cet article n'a pas discuté des notations pour les modèles mixtes (qui n'existaient peut-être pas à l'époque). Alors, où sont passées les formules de modèles mixtes utilisées dans lme4et les packages associés dans R tels que

y ~ x + a*b + c:d + (1|school) + (a*b||town)

viens de? Qui les a présentés pour la première fois et quand? Y a-t-il un terme convenu tel que «notation de Wilkinson» pour eux? Je me réfère spécifiquement aux termes comme

(model formula |  grouping variable)
(model formula || grouping variable)
amibe dit réintégrer Monica
la source

Réponses:

11

La notation |existe dans les nlmedocuments depuis la version 3.1-1 et c'est probablement fin 1999; nous pouvons facilement vérifier cela sur l' archive de code nlme CRAN . nlmeutilise cette notation, par exemple try library(nlme); formula(Orthodont); le |arrive - donc les années 2000 sont éteintes. Alors creusons ... " Méthodes graphiques pour les données avec plusieurs niveaux d'imbrication " Pinheiro & Bates (1997) où le groupedDataconstructeur est présenté. Et ils disent: " La formule dans un objet de données groupé a le même modèle que la formule utilisée dans un appel à une fonction graphique Trellis dans S-PLUS, comme xyplot ", ce qui ... a du sens tout comme P&B travaille. .. Bell Labs (RIP) qui a développé le système graphique Trellis qui a effectivement utilisé l'opérateur|déjà pour indiquer des groupes. Ce qui signifie probablement ... " La conception visuelle et le contrôle de l'affichage en treillis " par Becker et al. (1996) a quelque chose à voir avec cela. La notation n'est pas introduite dans cet article mais c'est la première référence d'affichage électronique en treillis que je puisse trouver.

Essentiellement, nous devons creuser la littérature de visualisation à ce stade. Je vérifierais probablement le livre de Cleveland Visualizing Data (1993) et les premiers travaux de Deepayan Sarkar (qui a développé lattice). Notez que l'opérateur réel | (et ||) sont de vrais opérateurs primitifs car ils sont associés à des ORopérateurs, donc ce n'était qu'une question de temps jusqu'à ce que quelqu'un les surcharge. Bien que ce ne soit pas une réponse complète, je soupçonne fortement P&B d'avoir vérifié le système de visualisation cool de leurs collègues (les intrigues de ce document de 1996 sont assez bonnes pour les normes de la fin de 2010) et j'ai réalisé que quelqu'un (Becker, Cleveland et Shyu) avait déjà fait un travail sur ce sujet (peut-être même discuté avec eux à l'époque) et a simplement suivi ce qui était déjà là. C'est à dire le|L'opérateur provient de la notation graphique. Trellis l'a presque certainement utilisé; les prédécesseurs potentiels de Trellis l'ont peut-être fait aussi, mais leur empreinte électronique est très difficile à suivre.

En général, je pense que vous voudrez peut-être cette page sur NLME: Logiciel pour les modèles à effets mixtes par Bell Labs pour plus d'informations historiques sur nlme.

usεr11852 dit Reinstate Monic
la source
1
Merci beaucoup! C'est vrai que ça nlmeutilise |mais je ne pense pas que ça sert ()à dénoter des effets aléatoires, non? Les effets aléatoires sont répertoriés comme un argument distinct de l'appel de fonction. Est-ce lme4que cela a été introduit (x|id)dans le cadre de la même formule?
Amoeba dit Reinstate Monica
2
Je pense que vous en lisez un peu trop sur la présence des parenthèses; Je soupçonne fortement qu'ils existent à des fins d'analyse étant donné qu'ils lme4utilisent une syntaxe unifiée pour tous les termes. Par exemple, fm1 <- lmer(Reaction ~ Days | Subject, sleepstudy)fonctionne très bien sans aucune parenthèse.
usεr11852 dit Réintégrer Monic le
Oh. En effet. Je n'ai jamais pensé à ça de cette façon :)
Amoeba dit Reinstate Monica
Bates vient de confirmer que la partie aléatoire a été introduite par les auteurs de nlme (dont il est un): twitter.com/BatesDmbates/status/1111283948615802881
Jonas Lindeløv
@ JonasLindeløv: Cool! Merci pour le partage, je ferai un lien vers la réponse demain soir.
usεr11852 dit Réintégrer Monic le