Quiero ajustar el modelo mixto usando lme4, nlme, paquete de regresión baysiana o cualquier otro disponible.
Modelo mixto en convenciones de codificación Asreml-R
antes de entrar en detalles, es posible que deseemos tener detalles sobre las convenciones asreml-R, para aquellos que no están familiarizados con los códigos ASREML.
y = Xτ + Zu + e ........................(1) ;
el modelo mixto habitual con, y denota el vector n × 1 de observaciones, donde τ es el vector p × 1 de efectos fijos, X es una matriz de diseño n × p de rango de columna completa que asocia las observaciones con la combinación apropiada de efectos fijos , u es el vector q × 1 de efectos aleatorios, Z es la matriz de diseño n × q que asocia las observaciones con la combinación apropiada de efectos aleatorios, y e es el vector n × 1 de errores residuales. El modelo (1) se llama un modelo lineal mixto o modelo de efectos lineales mixtos. Es asumido
donde las matrices G y R son funciones de los parámetros γ y φ, respectivamente.
El parámetro θ es un parámetro de varianza al que nos referiremos como parámetro de escala.
En los modelos de efectos mixtos con más de una varianza residual, que surgen, por ejemplo, en el análisis de datos con más de una sección o variante, el parámetro θ se fija en uno. En los modelos de efectos mixtos con una sola varianza residual, entonces θ es igual a la varianza residual (σ2). En este caso, R debe ser una matriz de correlación. Se proporcionan más detalles sobre los modelos en el manual de Asreml (enlace) .
Estructuras de varianza para los errores: estructura R y estructuras de varianza para los efectos aleatorios: se pueden especificar estructuras G.
modelado de varianza en asreml () es importante comprender la formación de estructuras de varianza a través de productos directos. El supuesto habitual de mínimos cuadrados (y el valor predeterminado en asreml ()) es que estos están distribuidos de forma independiente e idéntica (IID). Sin embargo, si los datos provienen de un experimento de campo establecido en una matriz rectangular de r filas por c columnas, por ejemplo, podríamos organizar los residuos e como una matriz y potencialmente considerar que estaban autocorrelacionados dentro de filas y columnas. un vector en orden de campo, es decir, clasificando las filas residuales dentro de columnas (parcelas dentro de bloques) la variación de los residuos podría ser
son matrices de correlación para el modelo de fila (orden r, parámetro de autocorrelación ½r) y modelo de columna (orden c, parámetro de autocorrelación ½c) respectivamente. Más específicamente, a veces se supone una estructura espacial autorregresiva separable bidimensional (AR1 x AR1) para los errores comunes en un análisis de prueba de campo.
Los datos de ejemplo:
nin89 es de la biblioteca asreml-R, donde se cultivaron diferentes variedades en replicaciones / bloques en campo rectangular. Para controlar la variabilidad adicional en la dirección de la fila o columna, cada gráfico se referencia como variables de fila y columna (diseño de columna de fila). Por lo tanto, este diseño de columna de fila con bloqueo. El rendimiento se mide variable.
Modelos de ejemplo
Necesito algo equivalente a los códigos asreml-R:
La sintaxis simple del modelo se verá así:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
El modelo lineal se especifica en los argumentos fijo (requerido), aleatorio (opcional) y rcov (componente de error) como objetos de fórmula. El valor predeterminado es un término de error simple y no necesita especificarse formalmente para el término de error como en el modelo 0 .
aquí la variedad es de efecto fijo y aleatoria son las repeticiones (bloques). Además de los términos aleatorios y fijos, podemos especificar el término de error. Cuál es el valor predeterminado en este modelo 0. El componente residual o de error del modelo se especifica en un objeto de fórmula a través del argumento rcov, consulte los siguientes modelos 1: 4.
El siguiente modelo1 es más complejo en el que se especifican las estructuras G (aleatoria) y R (error).
Modelo 1:
data(nin89)
# Model 1: RCB analysis with G and R structure
rcb.asr <- asreml(yield ~ Variety, random = ~ idv(Replicate),
rcov = ~ idv(units), data = nin89)
Este modelo es equivalente al modelo 0 anterior e introduce el uso del modelo de varianza G y R. Aquí la opción random y rcov especifica fórmulas random y rcov para especificar explícitamente las estructuras G y R. donde idv () es la función de modelo especial en asreml () que identifica el modelo de varianza. La expresión idv (unidades) establece explícitamente la matriz de varianza para e en una identidad escalada.
# Modelo 2: modelo espacial bidimensional con correlación en una dirección
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
Las unidades experimentales de nin89 están indexadas por columna y fila. Por lo tanto, esperamos una variación aleatoria en dos direcciones: dirección de fila y columna en este caso. donde ar1 () es una función especial que especifica un modelo de varianza autorregresiva de primer orden para Row. Esta llamada especifica una estructura espacial bidimensional para el error pero con correlación espacial solo en la dirección de la fila. El modelo de varianza para Columna es identidad (id ()) pero no necesita especificarse formalmente, ya que este es el valor predeterminado.
# modelo 3: modelo espacial bidimensional, estructura de error en ambas direcciones
sp.asr <- asreml(yield ~ Variety, rcov = ~ ar1(Column):ar1(Row),
data = nin89)
sp.asr <- asreml(yield ~ Variety, random = ~ units,
rcov = ~ ar1(Column):ar1(Row), data = nin89)
similar al modelo 2 anterior, sin embargo, la correlación es de dos direcciones: una autorregresiva.
No estoy seguro de cuánto de estos modelos son posibles con los paquetes R de código abierto. Incluso si la solución de cualquiera de estos modelos será de gran ayuda. ¡Incluso si el grupo de +50 puede estimular el desarrollo de tal paquete, será de gran ayuda!
Ver MAYSaseen ha proporcionado resultados de cada modelo y datos (como respuesta) para la comparación.
Ediciones: La siguiente es la sugerencia que recibí en el foro de discusión de modelos mixtos: "Puede mirar los paquetes de regresión y de covalencia espacial de David Clifford. El primero permite el ajuste de modelos mixtos (gaussianos) donde puede especificar la estructura de la matriz de covarianza de manera muy flexible (por ejemplo, lo he usado para datos genealógicos). El paquete spaceCovariance utiliza la regresión para proporcionar modelos más elaborados que AR1xAR1, pero puede ser aplicable. Puede que tenga que comunicarse con el autor para aplicarlo a su problema exacto ".
lme4
. ¿Puede (a) decirnos por qué necesita hacer esto enlme4
lugar deasreml-R
(b) considerar publicarr-sig-mixed-models
dónde hay experiencia más relevante?corStruct
ennlme
(para correlaciones anisotrópicas) ... Sería útil si pudiera establecer brevemente (en palabras o ecuaciones) los modelos estadísticos correspondientes a estas declaraciones ASREML, ya que no todos estamos familiarizados con Sintaxis ASREML ...MCMCglmm
, y estoy bastante seguro de que (aparte de lospatialCovariance
mencionado, con lo que no estoy familiarizado), la única forma de hacerlo en R es definiendo nuevoscorStruct
s, lo cual es posible, pero no trivial.Respuestas:
Puede ajustar este modelo con AD Model Builder. AD Model Builder es un software gratuito para construir modelos generales no lineales, incluidos modelos generales de efectos aleatorios no lineales. Entonces, por ejemplo, podría ajustarse a un modelo espacial binomial negativo donde tanto la dispersión media como la sobredispersión tenían una estructura ar (1) x ar (1). Construí el código para este ejemplo y lo ajusté a los datos. Si alguien está interesado, probablemente sea mejor discutir esto en la lista en http://admb-project.org
Nota: Existe una versión R de ADMB, pero las características disponibles en el paquete R son un subconjunto del software ADMB independiente.
Para este ejemplo, es más fácil crear un archivo ASCII con los datos, leerlo en el programa ADMB, ejecutar el programa y luego leer las estimaciones de parámetros, etc. de nuevo en R para lo que quiera hacer.
Debe comprender que ADMB no es una colección de paquetes, sino más bien un lenguaje para escribir software de estimación de parámetros no lineales. Como dije antes, es mejor discutir esto en la lista de ADMB donde todos conocen el software. Una vez hecho esto y comprenda el modelo, puede publicar los resultados aquí. Sin embargo, aquí hay un enlace a los códigos ML y REML que reuní para los datos de trigo.
http://lists.admb-project.org/pipermail/users/attachments/20111124/448923c8/attachment.zip
fuente
Modelo 0
ASReml-R
lme4
nlme
fuente
Modelo 1
ASReml-R
nlme
Ver el truco
fuente
Modelo 2
ASReml-R
nlme
Trabajando en, pero no resuelto. Podría ser algo como esto. Todavía no podía entender cómo hacer
rcov=~Column:ar1(Row)
connlme
fuente
Modelo 3
ASReml-R
nlme
Trabajando en, pero no resuelto. Podría ser algo como esto. Todavía no podía entender cómo hacer
rcov=~ar1(Column):ar1(Row)
connlme
No pude descubrir cómo adaptar los modelos 2 y 3
nlme
. Estoy trabajando en ello y actualizaré la respuesta cuando lo haga. Pero he incluido el resultado de losASReml-R
modelos 2 y 3 para fines de comparación. Kevin tiene una buena experiencia en el análisis de tales modelos y Ben Bolker tiene una autoridad maravillosa en modelos mixtos. Espero que puedan ayudarnos en los modelos 2 y 3.fuente