El origen de la notación de estilo Wilkinson como (1 | id) para efectos aleatorios en fórmulas de modelos mixtos en R

16

Fórmulas modelo en R como

y ~ x + a*b + c:d

se basan en la llamada notación de Wilkinson : Wilkinson y Rogers 1973, Descripción simbólica de modelos factoriales para análisis de varianza .

Este documento no discutió anotaciones para modelos mixtos (que podrían no haber existido en ese entonces) Entonces, ¿dónde se usaron las fórmulas de modelo mixto lme4y los paquetes relacionados en R, como

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

¿viene de? ¿Quién los presentó por primera vez y cuándo? ¿Hay algún término acordado como "notación de Wilkinson" para ellos? Me refiero específicamente a los términos como

(model formula |  grouping variable)
(model formula || grouping variable)
ameba dice Reinstate Monica
fuente

Respuestas:

11

La notación | ha estado presente en los nlmedocumentos desde la versión 3.1-1 y probablemente a fines de 1999; podemos comprobarlo fácilmente en el archivo de código CRAN nlme . nlmeusa esta notación, por ejemplo, try library(nlme); formula(Orthodont); el |viene - así de 2000 están apagados. Así que vamos a cavar .... " Métodos gráficos para datos con múltiples niveles de anidamiento " Pinheiro y Bates (1997) donde groupedDatase introduce el constructor. Y dicen: " La fórmula en un objeto de datos agrupados tiene el mismo patrón que la fórmula utilizada en una llamada a una función gráfica Trellis en S-PLUS, como xyplot ", lo cual ... tiene sentido ya que P&B está trabajando. .. Bell Labs (RIP) que desarrolló el sistema de gráficos Trellis que realmente utilizó el operador|ya para indicar grupos. Lo que probablemente significa ... " El diseño visual y el control de Trellis Display " de Becker et al. (1996) tiene algo que ver con esto. La notación no se presenta en este documento, pero es la primera referencia electrónica de pantalla Trellis que puedo encontrar.

Esencialmente necesitamos desenterrar literatura de visualización en este punto. Probablemente verificaría el libro de Cleveland Visualizing Data (1993) y los primeros trabajos de Deepayan Sarkar (quien desarrolló lattice). Observe que el operador real | (y ||) son verdaderos operadores primitivos, ya que están asociados con ORoperadores, por lo que era solo cuestión de tiempo hasta que alguien los sobrecargara. Si bien no es una respuesta completa, sospecho que P&B verificó el excelente sistema de visualización de sus colegas (las tramas en ese documento de 1996 son bastante buenas para los estándares de finales de 2010) y se dio cuenta de que alguien (Becker, Cleveland y Shyu) ya había trabajado en esto (tal vez incluso discutí esto con ellos en ese momento) y simplemente seguí lo que ya estaba allí. Es decir, el|El operador se origina en notación gráfica. Trellis casi seguramente lo usó; Los posibles predecesores de Trellis también pueden haberlo hecho, pero su huella electrónica es muy difícil de rastrear.

En general, creo que es posible que desee esta página en NLME: Software para modelos de efectos mixtos de Bell Labs para obtener más información histórica sobre nlme.

usεr11852 dice Reinstate Monic
fuente
1
¡Muchas gracias! Es cierto que nlmeusa |pero no creo que use ()para denotar efectos aleatorios, ¿verdad? Los efectos aleatorios se enumeran como un argumento separado para la llamada a la función. ¿Fue lme4eso introducido (x|id)como parte de la misma fórmula?
ameba dice Reinstate Monica
2
Creo que estás leyendo demasiado en presencia de los paréntesis; Sospecho firmemente que existen para fines de análisis dado que lme4utiliza una sintaxis unificada para todos los términos. Por ejemplo fm1 <- lmer(Reaction ~ Days | Subject, sleepstudy)funciona bien sin paréntesis.
usεr11852 dice Reinstate Monic
Oh. En efecto. Nunca lo pensé de esta manera :)
ameba dice Reinstate Monica
Bates acaba de confirmar que la parte aleatoria fue presentada por los autores nlme (de los cuales él es uno): twitter.com/BatesDmbates/status/1111283948615802881
Jonas Lindeløv
@ JonasLindeløv: ¡Genial! Gracias por compartir, haré un enlace a la respuesta mañana por la noche.
usεr11852 dice Reinstate Monic el