5-Modelos Lineales Mixtos en R

download 5-Modelos Lineales Mixtos en R

of 58

Transcript of 5-Modelos Lineales Mixtos en R

Modelos lineales mixtos en RLuis Cayuela Mayo de 2011

Area de Biodiversidad y Conservacin, Universidad Rey Juan Carlos, o Departamental 1 DI. 231, c/ Tulipn s/n. E-28933 Mstoles (Madrid), a o Espaa. E-mail: [email protected]. n

128

Modelos lineales mixtos en R (versin 1.2) oPublicado por: Luis Cayuela

Se autoriza a cualquier persona a utilizar, copiar, distribuir y modicar esta obra con las siguientes condiciones: (1) que se reconozca la autor de la misma; a (2) que no se utilice con nes comerciales; y (3) que si se altera la obra original, el trabajo resultante sea distribuido bajo una licencia similar a sta. e

Para cualquier comentario o sugerencia por favor remitirse al autor de la obra.

129

Indice1. Introduccin o 132 1.1. Los paquetes nlme y lme4 . . . . . . . . . . . . . . . . . . . . . . 132 1.1.1. La funcin lme() . . . . . . . . . . . . . . . . . . . . . . . 133 o 1.1.2. La funcin lmer() . . . . . . . . . . . . . . . . . . . . . . . 134 o 1.2. Entendiendo los modelos mixtos . . . . . . . . . . . . . . . . . . 134 1.2.1. Un ejemplo con bentos marino . . . . . . . . . . . . . . . 134 1.2.2. Una aproximacin al anlisis de los datos con modelos o a lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 1.2.3. Re-analizando los datos con modelos lineales mixtos: El paquete nlme . . . . . . . . . . . . . . . . . . . . . . . . . 141 1.2.4. Re-analizando los datos con modelos lineales mixtos: El paquete lme4 . . . . . . . . . . . . . . . . . . . . . . . . . 143 1.2.5. Otros efectos aleatorios en modelos lineales mixtos . . . . 144 1.3. Seleccin de modelos . . . . . . . . . . . . . . . . . . . . . . . . . 146 o 1.4. Anlisis de los residuos . . . . . . . . . . . . . . . . . . . . . . . . 148 a 2. Dise o por bloques n 149

2.1. Paso 1: Aplicacin de un modelo lineal . . . . . . . . . . . . . . . 150 o 2.2. Paso 2: Ajuste de un modelo lineal mixto . . . . . . . . . . . . . 151 2.3. Paso 3: Eleccin de la estructura de los efectos aleatorios . . . . . 152 o 2.4. Paso 4: Eleccin de la estructura de los efectos jos . . . . . . . . 152 o 2.5. Paso 5: Presentacin del modelo nal con REML . . . . . . . . . 153 o 3. Dise o de tipo split-plot n 156

3.1. Paso 1: Aplicacin de un modelo lineal . . . . . . . . . . . . . . . 158 o 3.2. Paso 2: Ajuste de un modelo lineal mixto . . . . . . . . . . . . . 160 3.3. Paso 3: Eleccin de la estructura de los efectos aleatorios . . . . . 161 o 3.4. Paso 4: Eleccin de la estructura de los efectos jos . . . . . . . . 162 o 3.5. Paso 5: Presentacin del modelo nal con REML . . . . . . . . . 163 o 4. Dise os de medidas repetidas n 166

4.1. Paso 1: Aplicacin de un modelo lineal . . . . . . . . . . . . . . . 167 o 4.2. Paso 2: Ajuste de un modelo lineal mixto . . . . . . . . . . . . . 170 4.3. Paso 3: Eleccin de la estructura de los efectos aleatorios . . . . . 171 o 4.4. Paso 4: Eleccin de la estructura de los efectos jos . . . . . . . . 172 o 4.5. Paso 5: Presentacin del modelo nal con REML . . . . . . . . . 172 o 130

INDICE

INDICE

5. Dise os factoriales anidados o jerarquizados n

175

5.1. Paso 1: Aplicacin de un modelo lineal . . . . . . . . . . . . . . . 177 o 5.2. Paso 2: Ajuste de un modelo lineal mixto . . . . . . . . . . . . . 178 5.3. Paso 3: Eleccin de la estructura de los efectos aleatorios . . . . . 180 o 5.4. Paso 4: Eleccin de la estructura de los efectos jos . . . . . . . . 181 o 5.5. Paso 5: Presentacin del modelo nal con REML . . . . . . . . . 181 o 6. Ms ejemplos a 7. Referencias 185 185

131

Luis Cayuela

Modelos lineales mixtos en R

1.

Introduccin o

Los modelos mixtos son usados cuando los datos tienen algn tipo de u estructura jerrquica o de agrupacin como los diseos de medidas repetidas, a o n las series temporales, los diseos anidados o por bloques aleatorizados. Los n modelos mixtos permiten tener coecientes jos (aquellos cuyos niveles son de inters para el experimentador) y aleatorios (aquellos cuyos niveles son slo e o una realizacin de todos los posibles niveles procedentes de una poblacin) y o o varios trminos de error. Pueden ser una herramienta muy util, pero son e potencialmente dif ciles de comprender y aplicar. En esta sesin intentaremos o dar una visin aplicada de los modelos lineales mixtos con especial referencia a o los distintos tipos de diseos vistos en la sesin anterior. n o Podis encontrar una buena introduccin al tema de los modelos mixtos en el e o cap tulo 8 de Zuur et al. (2007) y en el cap tulo 19 de Crawley (2002). El libro de Zuur et al. (2009) es tambin una buena referencia para profundizar ms en e a el tema de los modelos mixtos sin mucho aditamento matemtico. Otras a referencias con un fondo ms matemtico y, en mi opinin, bastante ms a a o a dif ciles de entender, son Pinheiro & Bates (2000) o Faraway (2006).

1.1.

Los paquetes nlme y lme4

En R hay dos paquetes que nos van a permitir ajustar modelos mixtos. El primero que apareci fue el paquete nlme(), escrito inicialmente por Jos o e Pinheiro (Bell Laboratories) y Douglas Bates (University of Wisconsin) y al que luego se han sumado otros autores. El cdigo de este paquete se escribi o o para que fuera compatible con S y S-Plus (las versiones comerciales de R). > citation("nlme") To cite package 'nlme' in publications use: Jose Pinheiro, Douglas Bates, Saikat DebRoy, Deepayan Sarkar and the R Development Core Team (2010). nlme: Linear and Nonlinear Mixed Effects Models. R package version 3.1-97. A BibTeX entry for LaTeX users is @Manual{, title = {nlme: Linear and Nonlinear Mixed Effects Models}, author = {Jose Pinheiro and Douglas Bates and Saikat DebRoy and Deepayan Sarkar and {R year = {2010}, note = {R package version 3.1-97}, } El otro paquete, que apareci posteriormente, se llama lme4 y ha sido escrito o originalmente por Douglas Bates. El cdigo de este paquete no es compatible o con S y S-Plus y la sintaxis, como veremos ms adelante, cambia ligeramente a con respecto al paquete nlme. 132

Luis Cayuela

Modelos lineales mixtos en R

> citation("lme4") To cite package lme4 in publications use: Douglas Bates , Martin Maechler and Ben Bolker (2011). lme4: Linear mixed-effects models using S4 classes. R package version 0.999375-39. http://CRAN.R-project.org/package=lme4 A BibTeX entry for LaTeX users is @Manual{, title = {lme4: Linear mixed-effects models using S4 classes}, author = {Douglas Bates and Martin Maechler and Ben Bolker}, year = {2011}, note = {R package version 0.999375-39}, url = {http://CRAN.R-project.org/package=lme4}, } ATTENTION: This citation information has been auto-generated from the package DESCRIPTION file and may need manual editing, see help("citation") . Ambos paquetes contienen varias funciones relacionadas con modelos mixtos, no solamente modelos lineales mixtos. Las que ms nos van a interesar son las a funciones lme() y lmer() de los paquetes nlme y lme4 respectivamente. 1.1.1. La funcin lme() o

La especicacin de los efectos jos y aleatorios del modelo en la funcin lme() o o se realiza con dos argumentos distintos, xed y random respectivamente. En el caso de que no haya efectos jos en el modelo (todos los efectos son aleatorios) la componente ja del modelo estimar slo la constante o intercept: a o xed = y 1 El argumento xed no es totalmente necesario y se puede omitir en el caso de que no haya efectos jos. En este caso basta con especicar una frmula como o en el caso de la funcin lm() y R entiende que todos los factores explicativos o son aleatorios. La formulacin entonces ser as o a : ya+b+c dnde a, b y c ser factores aleatorios. En el caso de que haya factores jos y o an aleatorios ambos componentes deben ser denidos de manera individual. El componente aleatorio en este caso se especicar de la siguiente forma: a random = 1 |a/b/c Un detalle importante es que el nombre de la variable respuesta y no est a repetido en la frmula de los efectos aleatorios: en su lugar se deja un espacio o en blanco a la izquierda del s mbolo . En la mayor de los modelos mixtos se a 133

Luis Cayuela

Modelos lineales mixtos en R

asumen que los efectos aleatorios tienen una media de cero y que lo que interesa cuanticar es la variacin en la constante (esto es lo que signica el 1, o ver seccin 1.2) causada por las diferencias entre los niveles del factor de los o efectos aleatorios. Despus de la constante viene una barra vertical | que e signica dada la siguiente distribucin de las variables aleatorias. En este o ejemplo concreto hay tres efectos aleatorios con c anidado dentro de b, que a su vez est anidado dentro de a. Los factores estn separados por la barra a a oblicua / y las variables se enumeran de izquierda a derecha en orden decreciente siguiendo una jerarqu espacial o temporal. La formulacin a o completa del modelo utilizando la funcin lme() ser as o a : lme(xed = y 1, random = 1 | a/b/c) 1.1.2. La funcin lmer() o

En la funcin lmer() la frmula se especica en un unico argumento incluyendo o o ambos tipos de efectos. Los efectos jos se especican en primer lugar a la derecha del s mbolo en la forma habitual. A continuacin se especican los o efectos aleatorios precedidos por un + y en parntesis. R identica los efectos e aleatorios porque llevan la barra vertical |. La especicacin de factores o anidados se har con los : en vez de con la barra /. Sin embargo, al a especicar la anidacin de unos factores dentro de otros no se est asumiendo o a los efectos aleatorios de todos los factores incluidos en la frmula como en el o caso de la funcin lme(). Para el ejemplo anterior el modelo quedar o a especicado de la siguiente forma: lme4(y 1 + (1|a) + (1|a:b) + (1 | a:b:c)) A lo largo de las prximas secciones se vern formulaciones ms complejas o a a para la componente aleatoria del modelo mixto.

1.2.1.2.1.

Entendiendo los modelos mixtosUn ejemplo con bentos marino

Zuur et al. (2007) utilizan datos de bentos marino procedente de nueve zonas intermareales de la costa holandesa para presentar los modelos mixtos. Los datos fueron recogidos por el instituto holands RIKZ en el verano de 2002. En e cada zona intermareal (playa) se tomaron cinco muestras de la macro-fauna y variables abiticas siguiendo el siguiente esquema de muestreo. o

134

Luis Cayuela

Modelos lineales mixtos en R

En este ejemplo vamos a ver si existe alguna relacin entre la riqueza de o especies y el NAP, una variable que indica la altura de cada estacin de o muestreo con respecto al nivel medio de la marea. Como la riqueza de especies es un conteo, ser ms apropiado utilizar un modelo lineal generalizado a a (GLM) con una distribucin de errores de tipo Poisson. Sin embargo, para o simplicar las cosas utilizaremos un modelo de regresin lineal con una o distribucin de errores normal o Gausiana. o Vamos a leer los datos. Estos vienen en la forma de una matriz de abundancias de cada una de las especies observadas (columnas 2 a la 76). Para calcular la riqueza tenemos que convertir estas abundancias a presencia y sumar todas ellas para cada una de las las (muestras): > RIKZ RIKZ$Richness 0, 1, sum) O alternativamente podr amos usar > RIKZ$Richness 0)

1.2.2.

Una aproximacin al anlisis de los datos con modelos o a lineales

Sin saber de la existencia de los modelos mixtos, tal vez nuestra primera aproximacin ser ajustar un modelo lineal asumiendo independencia de las o a muestras, de acuerdo al siguiente modelo: Riquezai = + N APi + i Dicho modelo originar la siguiente grca: a a i N (0, 2 )

135

Luis Cayuela

Modelos lineales mixtos en R

> tmp plot(RIKZ$NAP, RIKZ$Richness, xlab = "NAP", ylab = "Richness") > abline(tmp)

q

20

q q

15 Richnessq q q q q q q qq q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q

10

q

q

0

5

1.0

0.5

0.0

0.5 NAP

1.0

1.5

2.0

Y contiene tres parmetros desconocidos: los dos parmetros de la regresin a a o (constante y pendiente) y la varianza residual ( 2 ). El modelo asume que la relacin entre riqueza y NAP es la misma en todas las playas. Sin embargo o podr ocurrir que dicho modelo no es el mismo en todas las playas, en cuyo a cayo tendr amos tres opciones: (1) que la pendiente fuera la misma pero la constante (Intercept) no lo fuera; (2) que la constante fuera la misma pero que la pendiente no lo fuera; y (3) que ni la constante ni la pendiente fueran las mismas para todas las playas. En el primer caso, el modelo vendr dado por la siguiente ecuacin: a o Riquezaij = j + N APij + ij ij N (0, 2 )

Y su grca correspondiente, en dnde tendr a o amos nueva rectas de regresin o (una por cada playa), todas con la misma pendiente pero distinta constante (Intercept):

136

Luis Cayuela

Modelos lineales mixtos en R

> > > > + + + + + +

tmp1 anova(tmp1, tmp3, test = "F") Analysis of Variance Table Model 1: Richness ~ NAP + factor(Beach) Model 2: Richness ~ NAP * factor(Beach) Res.Df RSS Df Sum of Sq F Pr(>F) 1 35 327.74 2 27 165.92 8 161.82 3.2915 0.009434 ** --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Claramente el modelo ms complejo es el mejor modelo y el que explica mayor a cantidad de variabilidad (se minimiza la suma de cuadrados residual). Ahora bien, estamos interesados en la relacin general entre riqueza y NAP y no nos o importa tanto el efecto ocasionado por las caracter sticas particulares de cada playa. Pero si eliminamos la playa del anlisis entonces las diferencias en la a riqueza de especies que son atribuibles a las caracter sticas particulares de cada playa pasar a formar parte del trmino de la varianza residual. Adems, a e a los errores no ser totalmente independientes entre s No tener esto en an . 140

Luis Cayuela

Modelos lineales mixtos en R

consideracin podr afectar a la estimacin de los errores estndar y los o a o a p-valores de los efectos jos. Esto podr producir como resultado, por a ejemplo, la no deteccin de una relacin signicativa entre la riqueza y el NAP. o o Por tanto hace falta incorporar el efecto de la playa en el modelo. Pero esto implica incorporar 16 parmetros ms en el modelo, lo que conlleva la prdida a a e de 16 grados de libertad! Una alternativa posible para evitar sto es utilizar los e modelos mixtos. Pero el uso de los modelos mixtos ofrece, adems, otras a ventajas. Como vimos en la sesin anterior, si consideramos la playa como un o factor jo, nuestras conclusiones slo pueden referirse a esas playas concretas. o Sin embargo, si tratamos la playa como un factor aleatorio, entonces nuestras conclusiones se referirn a todas las playas, de las cules, estas nueve son slo a a o una muestra del total de la poblacin de playas. Por tanto los resultados del o anlisis al considerar la playa como un factor aleatorio permitir predecir la a a relacin entre la riqueza y el NAP en un sentido ms general, sin tener que o a limitarnos a estas nueve playas en concreto. 1.2.3. Re-analizando los datos con modelos lineales mixtos: El paquete nlme

Vamos a comenzar re-analizando el primero de los tres modelos anteriores, que consideraba la existencia de diferencias en la constante de la recta de regresin o entre la riqueza y el NAP para las distintas playas. Si consideramos la playa como un factor aleatorio, el modelo quedar formulado de la siguiente forma: a Riquezaij = + N APij + aj + ij2 aj N (0, a )

ij N (0, 2 )

El ndice j (representando a las playas) toma valores de 1 a 9, e i (representando las muestras dentro de cada playa) toma valores de 1 a 5. En el modelo lineal anterior, acabbamos con nueve l a neas de regresin. La pendiente o estimada, los nueve puntos de corte y sus errores estndares nos dec cmo a an o era de diferente la relacin entre la riqueza y el NAP para las distintas playas o (sin que cambiase la pendiente). En este modelo, asumimos que slo hay una o l nea de regresin con una unica constante y una unica pendiente. La constante o y la pendiente son los parmetros jos del modelo. Adems, hay una a a constante aleatoria, aj , que aade cierta cantidad de variacin a la constante n o del modelo general en cada una de las playas. Se asume que esta constante 2 aleatoria sigue una distribucin normal de media 0 y varianza a . Por lo tanto, o los parmetros estimados en el modelo son cuatro, , , la varianza residual a 2 2 , y la varianza de la constante a . De esta forma tenemos un modelo equivalente al modelo lineal, pero en dnde slo es necesario estimar cuatro o o parmetros y no once, ya que en vez de tener nueve estimaciones de las a constantes en cada una de las rectas de regresin de las nueve playas, tenemos o nueve valores no estimados 1 , . . . , 9 que asumimos siguen una distribucin o normal. Lo que estimamos en este modelo es la varianza de esta distribucin. o Vamos a ajustar el modelo lineal mixto correspondiente con la funcin lme(): o

141

Luis Cayuela

Modelos lineales mixtos en R

> library(nlme) > lme5 summary(lme5) Linear mixed-effects model fit by REML Data: RIKZ AIC BIC logLik 247.4802 254.5250 -119.7401 Random effects: Formula: ~1 | factor(Beach) (Intercept) Residual StdDev: 2.944065 3.05977 Fixed effects: Richness ~ NAP Value Std.Error DF t-value p-value (Intercept) 6.581893 1.0957618 35 6.006682 0 NAP -2.568400 0.4947246 35 -5.191574 0 Correlation: (Intr) NAP -0.157 Standardized Within-Group Residuals: Min Q1 Med Q3 -1.4227495 -0.4848006 -0.1576462 0.2518966 Number of Observations: 45 Number of Groups: 9 > anova(lme5) numDF denDF F-value p-value 1 35 27.63494 lmer5 summary(lmer5) Linear mixed model fit by REML Formula: Richness ~ NAP + (1 | Beach) Data: RIKZ AIC BIC logLik deviance REMLdev 247.5 254.7 -119.7 241.9 239.5 Random effects: Groups Name Variance Std.Dev. Beach (Intercept) 8.6675 2.9441 Residual 9.3622 3.0598 Number of obs: 45, groups: Beach, 9 Fixed effects: Estimate Std. Error t value (Intercept) 6.5819 1.0957 6.007 NAP -2.5684 0.4947 -5.192 Correlation of Fixed Effects: (Intr) NAP -0.157 > anova(lmer5) Analysis of Variance Table Df Sum Sq Mean Sq F value NAP 1 252.33 252.33 26.952 Como vemos, los valores de los parmetros aleatorios y jos estimados por el a modelo son exactamente iguales utilizando cualquiera de las dos funciones. En el caso de la funcin lmer(), y al contrario de lo que ocurre con la funcin o o lme(), no se dan los valores de signicacin de los coecientes jos estimados o por el modelo. Buscando en la lista de distribucin de R, uno acabar o a encontrndose con un debate casi losco sobre la capacidad de estos a o modelos de realizar tests de signicacin utilizando el estad o stico F. En concreto, Douglas Bates, autor principal de este paquete, cree que no es posible estimar con abilidad los grados de libertad de los parmeros jos y, a 143

Luis Cayuela

Modelos lineales mixtos en R

por tanto, proponer una distribucin del estad o stico F lo sucientemente able como realizar un test de signicacin. En este contexto la signicacin de los o o parmetros jos en el modelo puede hacerse comparando modelos ms a a complejos frente a modelos menos complejos utilizando un criterio de informacin (AIC, BIC), siempre y cuando los efectos aleatorios no cambien. o En este ejemplo, el test de signicacin vendr dado de la siguiente forma: o a > lmer5.0 lmer5.1 anova(lmer5.0, lmer5.1) Data: RIKZ Models: lmer5.1: Richness lmer5.0: Richness Df AIC lmer5.1 3 269.30 lmer5.0 4 249.83 --Signif. codes: 0

~ 1 + (1 | Beach) ~ NAP + (1 | Beach) BIC logLik Chisq Chi Df Pr(>Chisq) 274.72 -131.65 257.06 -120.92 21.474 1 3.586e-06 *** *** 0.001 ** 0.01 * 0.05 . 0.1 1

La razn por la que se utiliza el argumento REML = F se explica en la seccin o o 1.3. Como vemos, el modelo completo (lmer5.0) produce un AIC que es inferior al AIC del modelo anidado (que no contempla la variacin en las pendientes), o y adems el test Chi-cuadrado realizado sobre el parmetro de verosimilitud a a (logLik) es signicativo, lo que indica que que el modelo completo es ms a parsimonioso. Todo ello apunta a que existe un efecto general y signicativo del NAP sobre la riqueza de especies, resultado coincidente con el obtenido anteriormente con la funcin lme(). o Y cmo comprobar la signicacin de las variables aleatorias? En el caso de o o las funciones lme() y lmer(), no se calculan p-valores para los trminos e aleatorios. La idea ser bsicamente la misma que para el caso de los efectos a a jos con la funcin lmer(): habr que comparar modelos alternativos con una o a estructura ja idntica pero que variasen en sus efectos aleatorios. Sin embargo e la estimacin de los parmetros de estos modelos ha de hacerse con el o a estimador de mxima verosimilitud restringida (REML) como se explica ms a a adelante. 1.2.5. Otros efectos aleatorios en modelos lineales mixtos

Siguiendo con el ejemplo anterior, es posible que contemplemos la posibilidad de que haya, adems de distintos puntos de corte, distintas pendientes para a cada una de las playas. En este caso el modelo quedar formulado de las a siguiente forma: Riquezaij = + aj + N APij + bj N APij + ij

144

Luis Cayuela

Modelos lineales mixtos en R

ij N (0, 2 )

2 aj N (0, a )

2 bj N (0, b )

El modelo es exactamente igual que el modelo anterior excepto por el trmino e bj N APij . Este nuevo trmino permite la variacin aleatoria de la pendiente e o en cada una de las playas. El modelo es muy parecido al modelo lineal completo con interaccin que ajustamos en la seccin 1.2.2, pero con muchos o o menos parmetros: dos para los efectos jos y , y tres para las varianzas de a 2 2 los trminos aleatorios 2 , a y b . En general, se permite que haya una e 2 2 correlacin alta entre las varianzas estimadas a y b . o Vamos a ajustar el modelo lineal mixto correspondiente (los dos modelos lme6 son equivalentes): > > > + > library(nlme) lme6 anova(lme5, lme6) Model df AIC BIC logLik Test L.Ratio p-value 1 4 247.4802 254.5250 -119.7401 2 6 244.3839 254.9511 -116.1919 1 vs 2 7.096378 0.0288

lme5 lme6

El AIC sugiere que el modelo lme6 es ms apropiado, pero el BIC sugiere que a el modelo lme5 es mejor. El p-valor del test de verosimilitud indica que el modelo ms complejo (lme6) es el ms parsimonioso y por tanto elegir a a amos ste. Sin embargo, hay un problema con el test de verosimilitud. En modelos e lineales se puede utilizar un test F para comparar modelos anidados, en dnde o la suma de cuadrados residual de los dos modelos obtenida por m nimos cuadrados es utilizada para calcular el estad stico de contraste F. En este caso, podemos comprobar hiptesis como H0 : 0 = 0 frente a H1 : 0 = 0. En los o modelos lineales mixtos el estimador utilizado no es m nimos cuadrados sino mxima verosimilitud (ML). El criterio de verosimilitud del modelo completo a L0 y el modelo anidado L1 son utilizados para comprobar hiptesis referentes o a la signicacin de los parmetros en el modelo. Tomando el logaritmo o, ms o a a comnmente, 2 log, se calcula un estad u stico de la forma L = 2(logL0 logL1 ). Se puede demostrar que bajo la hiptesis nula, este o estad stico sigue aproximadamente una distribucin Chi-cuadrado con o grados de libertad, en dnde es la diferencia entre el nmero de parmetros o u a de ambos modelos. Cul ser la hiptesis nula en este caso? La unica a a o diferencia entre el modelo lme6 y el modelo lme5 es el componente aleatorio 2 bj N APij , dnde bj N (0, b ). Si comparamos ambos modelos con un test de o 2 verosimilitud, estar amos comprobando la hiptesis nula de que H0 : b = 0 o 2 frente a H1 : b > 0. La hiptesis alternativa contiene un > porque se supone o 146

Luis Cayuela

Modelos lineales mixtos en R

que los componentes de la varianza no pueden tomar valores negativos. Esto es lo que se conoce como el problema del l mite (boundary problem); estamos comprobando si la varianza es cero, pero este valor est en el l a mite de todos los posibles valores que puede tomar la varianza. El problema es que la teor a subyacente al test de verosimilitud, que es la que genera un p-valor, asume que no hay un l mite en el espacio del parmetro estimado. En resumen, hay que a tener mucho cuidado cuando se interpreta el p-valor derivado de un test de verosimilitud cuando estamos comprobando la hiptesis nula en el l o mite de la distribucin del parmetro en cuestin. Si el p-valor es muy grande o muy o a o pequeo, no suele haber problema en interpretarlo, pero cuando encontramos n un p-valor en el borde de la signicacin hay que tener cuidado con cmo lo o o interpretamos. Pinheiro & Bates (2000) y Faraway (2006) argumentan que, en este sentido, las tcnicas de bootstraping son ms conables a la hora de e a estimar los p-valores si estamos comprobando una hiptesis en el l o mite de su distribucin. Otra alternativa es hacer la estimacin utilizando un estimador o o de mxima verosimilitud restringida (REML), que es lo que por defecto hacen a las funciones lme() y lmer(), que permite corregir en parte el problema de la estimacin de la varianza en el l o mite de su distribucin. o De lo visto hasta el momento concluimos que hay dos formas de estimar los parmetros de los modelos, mediante mxima verosimilitud (ML) y mediante a a mxima verosimilitud restringida (REML). Es importante mencionar que no es a posible comparar un modelo estimado mediante ML con otro modelo estimado mediante REML. En los modelos lineales mixtos, tenemos dos tipos de efectos, los efectos jos y los aleatorios. Aunque generalmente vamos a estar ms interesados en los a efectos jos, si tenemos una estructura de efectos aleatorios mal denida es posible que eso afecte a la estimacin de los efectos jos. Por ello es o importante seleccionar la mejor estructura para cada uno de estas dos componentes. Para ello se recomienda lo siguiente (Zuur et al. 2009): 1. Empieza ajustando un modelo en dnde la componente ja contenga o todas las variables explicativas e interacciones posibles. Esto es lo que se conoce como modelo ms all del ptimo (beyond optimal model ). Si no a a o es posible ajustar este modelo porque hay demasiados parmetros, hay a que intentar seleccionar las variables e interacciones que creamos inuyen ms sobre la variable respuesta. a 2. Utilizando el modelo ms all del ptimo, hay que encontrar la a a o estructura de la componente aleatoria ptima. Para ello propondremos o distintos modelos alternativos con la misma estructura en la componente ja pero que var en su componente aleatoria. Porque en la an componente aleatoria estamos estimando varianzas nos encontramos con el problema de la estimacin en el l o mite de la distribucin de los o parmetros estimados mencionado anteriormente. Por ello estos modelos a tienen que estar estimados utilizando REML. La comparacin entre o distintos modelos podemos hacerla utilizando la funcin anova(). o 3. Una vez que hemos denido la estructura ptima de la componente o aleatoria, tenemos que buscar la estructura ptima de la componente ja o

147

Luis Cayuela

Modelos lineales mixtos en R

del modelo. Para ello podemos utilizar el estad stico F o el estad stico t obtenido mediante el estimador REML con la funcin lme()1 o comparar o modelos anidados. Para comparar modelos que tienen la misma estructura en la componente aleatoria pero dieren en la componente ja se debe de utilizar un estimador LM y no un estimador de REML. 4. Cuando se ha seleccionado la estructura de la componente ja, se presenta el modelo nal utilizando un estimador REML.

1.4.

Anlisis de los residuos a

Para saber si el modelo es adecuado debemos mirar los residuos normalizados del modelo estimado a partir de REML. Al contrario que en el caso de los modelos lineales (lm) o modelos lineales generalizados (glm) no tenemos una funcin que nos genera todos los grcos de los residuos, as que tendremos que o a generarlos nosotros individualmente. Interesa dibujar los residuos frente a los valores predichos para ver si hay homocedasticidad. Si no hay homogeneidad de varianzas entonces se puede: (i) aplicar una transformacin; (ii) intentar o averiguar si el incremento de la varianza para determinados valores es debido a alguna covariable; (iii) utilizar otro tipo de modelos como los modelos lineales generalizados mixtos con una distribucin de errores diferente (por ejemplo o Poisson si la variable respuesta es un conteo)2 . Es interesante dibujar los grcos de los residuos frente a las variables explicativas. De nuevo, no tenemos a que observar ningn patrn en estas grcas. Si la variable explicativa es un u o a factor, la varianza ha de ser homognea entre los distintos niveles del factor. e Tambin se puede sacar un histograma de los residuos para ver si hay e normalidad. Dicha normalidad tambin se puede comprobar con tests e estad sticos como el test de Shapiro-Wilk. Finalmente podemos obtener el qqplot de los residuos con la funcin qqnorm(). o1 Recordemos 2 Esto

que la funcin lmer() del paquete lme4 no hace estos contrastes de hiptesis. o o lo podemos hacer con la funcin glmer() del paquete lme4. o

148

Luis Cayuela

Modelos lineales mixtos en R

> > > > > > > > > >

Res data(rabbit) > xtabs(gain ~ treat + block, data = rabbit) block treat b1 b10 b2 b3 b4 b5 b6 b7 b8 b9 a 0.0 37.3 40.1 0.0 44.9 0.0 0.0 45.2 44.0 0.0 b 32.6 0.0 38.1 0.0 0.0 0.0 37.3 40.6 0.0 30.6 c 35.2 0.0 40.9 34.6 43.9 40.9 0.0 0.0 0.0 0.0 d 0.0 42.3 0.0 37.5 0.0 37.3 0.0 37.9 0.0 27.5 e 0.0 0.0 0.0 0.0 40.8 32.0 40.5 0.0 38.5 20.6 f 42.2 41.7 0.0 34.3 0.0 0.0 42.8 0.0 51.9 0.0

2.1.

Paso 1: Aplicacin de un modelo lineal o

Como ya hemos visto, una forma de analizar el efecto de un bloque es considerando ste como un efecto jo por medio de un modelo lineal. Es e importante tener en cuenta que a la hora de formular el modelo el bloque tiene que ir en primer lugar. Esto es porque los modelos lineales en R se ajustan utilizando una suma de cuadrados de tipo I, que tiene en cuenta el orden de entrada de las variables en el modelo, y nos interesa analizar el efecto del factor (dieta) sobre la respuesta (ganancia de peso) una vez que se haya tenido en cuenta la variabilidad atribuible al bloque (camada). Tambin es e importante observar que el diseo no es cruzado, es decir que no todos los n niveles del factor estn representados dentro de cada uno de los niveles del a bloque. Por tanto, plantear una interaccin en este modelo no es posible. o > lm.rabbit anova(lm.rabbit) Analysis of Variance Table Response: gain Df Sum Sq Mean Sq F value 150

Pr(>F)

Luis Cayuela

Modelos lineales mixtos en R

block 9 730.39 81.154 8.0738 0.0002454 *** treat 5 158.73 31.745 3.1583 0.0381655 * Residuals 15 150.77 10.052 --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Observamos que tanto el bloque como el tratamiento son signicativos.

2.2.

Paso 2: Ajuste de un modelo lineal mixto

Aunque el modelo lineal no es necesariamente inadecuado, la inclusin del o bloque como un factor jo se hace a expensas de 9 grados de libertad. En este sentido el modelo mixto equivalente ser mucho ms parsimonioso en trmino a a e del nmero de parmetros. u a > library(nlme) > lme.rabbit1 anova(lme.rabbit1) numDF denDF F-value p-value 1 15 590.5297 summary(lme.rabbit1) Linear mixed-effects model fit by REML Data: rabbit AIC BIC logLik 166.3569 175.7813 -75.17844 Random effects: Formula: ~1 | block (Intercept) Residual StdDev: 4.657853 3.175519 Fixed effects: gain ~ treat Value Std.Error DF t-value p-value (Intercept) 39.53540 2.130338 15 18.558278 0.0000 treatb -2.50718 2.208700 15 -1.135139 0.2741 treatc -0.18407 2.208700 15 -0.083340 0.9347 treatd -0.88516 2.208700 15 -0.400759 0.6942 treate -5.64602 2.208700 15 -2.556263 0.0219 treatf 2.81003 2.208700 15 1.272254 0.2227 Correlation: (Intr) treatb treatc treatd treate treatb -0.518 treatc -0.518 0.500 treatd -0.518 0.500 0.500 151

Luis Cayuela

Modelos lineales mixtos en R

treate -0.518 treatf -0.518

0.500 0.500

0.500 0.500

0.500 0.500

0.500

Standardized Within-Group Residuals: Min Q1 Med Q3 -1.3794203 -0.5213453 -0.1701517 0.6456859 Number of Observations: 30 Number of Groups: 10

Max 1.4148990

2.3.

Paso 3: Eleccin de la estructura de los efectos o aleatorios

Recordemos que para elegir la estructura de los efectos aleatorios es necesario incluir todos los posibles trminos jos y sus interacciones en el modelo (ms e a all del ptimo). Luego se comparan distintos modelos que var en sus a o an efectos aleatorios pero que mantienen la misma estructura ja por medio de REML. Los modelos que podemos plantear en este caso son: (1) un modelo sin efecto aleatorio (equivalente a un modelo lineal pero utilizando un estimador REML). Este modelo lo calcularemos con la funcin gls(); (2) un modelo que o incluya la varianza aleatoria de la constante (gran media) dentro de cada bloque. > lme.rabbit0 lme.rabbit1 anova(lme.rabbit0, lme.rabbit1) Model df AIC BIC logLik Test L.Ratio p-value 1 7 174.2621 182.5085 -80.13107 2 8 166.3569 175.7813 -75.17844 1 vs 2 9.905255 0.0016

lme.rabbit0 lme.rabbit1

Vemos que el modelo con el efecto aleatorio bloque es ms parsimonioso que el a modelo sin el efecto aleatorio.

2.4.

Paso 4: Eleccin de la estructura de los efectos jos o

Ya tenemos la estructura de los efectos aleattorios. Podemos utilizar el test t o el test F para comprobar la signicacin de la(s) variable(s) ja(s). Pero tal o vez es mejor opcin comparar modelos anidados como en el caso de los efectos o aleatorios. Recordemos que, para hacer esto, debemos estimar los parmetros a de los modelos utilizando un estimador de ML. > lme.rabbit2 lme.rabbit3 anova(lme.rabbit2, lme.rabbit3) 152

Luis Cayuela

Modelos lineales mixtos en R

lme.rabbit2 lme.rabbit3

Model df AIC BIC logLik Test L.Ratio p-value 1 3 188.8307 193.0343 -91.41536 2 8 183.7730 194.9825 -83.88648 1 vs 2 15.05776 0.0101

Y, de nuevo, vemos que el modelo con el efecto jo del tratamiento es ms a parsimonioso que el modelo que contiene unicamente el efecto de la constante.

2.5.

Paso 5: Presentacin del modelo nal con REML o

Finalmente, presentamos el modelo nal utilizando REML. Es necesario que veamos cmo es de adecuado el modelo de acuerdo con los supuestos del o modelo, fundamentalmente normalidad y homocedasticidad. > lme.rabbit anova(lme.rabbit) numDF denDF F-value p-value 1 15 590.5297 summary(lme.rabbit) Linear mixed-effects model fit by REML Data: rabbit AIC BIC logLik 166.3569 175.7813 -75.17844 Random effects: Formula: ~1 | block (Intercept) Residual StdDev: 4.657853 3.175519 Fixed effects: gain ~ treat Value Std.Error DF t-value p-value (Intercept) 39.53540 2.130338 15 18.558278 0.0000 treatb -2.50718 2.208700 15 -1.135139 0.2741 treatc -0.18407 2.208700 15 -0.083340 0.9347 treatd -0.88516 2.208700 15 -0.400759 0.6942 treate -5.64602 2.208700 15 -2.556263 0.0219 treatf 2.81003 2.208700 15 1.272254 0.2227 Correlation: (Intr) treatb treatc treatd treate treatb -0.518 treatc -0.518 0.500 treatd -0.518 0.500 0.500 treate -0.518 0.500 0.500 0.500 treatf -0.518 0.500 0.500 0.500 0.500 153

Luis Cayuela

Modelos lineales mixtos en R

Standardized Within-Group Residuals: Min Q1 Med Q3 -1.3794203 -0.5213453 -0.1701517 0.6456859 Number of Observations: 30 Number of Groups: 10

Max 1.4148990

El modelo nal ser del tipo gain = 39,535 5,646 T rate (ya que los a coecientes para el resto de los tratamientos no son signicativamente distintos de cero) con una varianza residual de 2 = 3,1752 y una varianza para la 2 constante de a = 4,6582 (este es el efecto estimado del bloque en nuestro 3 modelo) .3 Una forma ms elegante de comparar qu niveles del factor son signicativos ser juntar a e a los distintos niveles de dietas que hemos asumido que no tienen un efecto diferenciado entre s , volver a ajustar el modelo y comparar este nuevo modelo con el modelo anterior. Esto tambin e podr solucionar algunos de los problemas asociados con la violacin de los supuestos, como a o la heterocedasticidad.

154

Luis Cayuela

Modelos lineales mixtos en R

> > > > > > > > > >

Res sn$Plot sn > > > > >

par(mfcol = c(3, 2)) plot(Total.Biomass ~ factor(Plot), data = sn) plot(Total.Biomass ~ Scenario, data = sn) plot(Total.Biomass ~ Habitat, data = sn) interaction.plot(sn$Scenario, sn$Habitat, sn$Total.Biomass) interaction.plot(sn$Scenario, factor(sn$Plot), sn$Total.Biomass)

7

sn$Habitat mean of sn$Total.Biomass 3.0 6 Grassland Shrubland Forest

Total.Biomass

5

4

2

1

1 3 5 7 9

12

15

18

21

24

1.5 Control

2.0

3

2.5

Dry Summer sn$Scenario

factor(Plot)

7

q

7

factor(sn$Plot) mean of sn$Total.Biomass 6 6 9 16 10 11 13 12 14 17 18 7 20 21 6 22 8 15 2 19 3 4 23 24 5 1

5

Total.Biomass

q

4

3

2

1

Control

Dry Summer Scenario

1 Control

2

3

4

5

Dry Summer sn$Scenario

Wet Summer

7

q

Total.Biomass

3

4

5

6

q

1

2

Forest

Grassland Habitat

Shrubland

Vamos a analizar los datos con un modelo lineal. Como slo hay un dato por o cada parcela y escenario no es posible calcular la signicacin del trmino o e interaccin entre el factor y el bloque (no hay rplicas). Por tanto el modelo o e que plantearemos ser el siguiente: a > lm.sn anova(lm.sn) Analysis of Variance Table Response: Total.Biomass Df Sum Sq Mean Sq F value factor(Plot) 23 29.5922 1.28662 1.8075 Scenario 2 2.7137 1.35683 1.9061 Scenario:Habitat 4 2.3363 0.58408 0.8205 Residuals 40 28.4733 0.71183 --Signif. codes: 0 *** 0.001 ** 0.01 *

Pr(>F) 0.04932 * 0.16192 0.51981

0.05 . 0.1 1

El bloque es signicativo pero ni el escenario ni el hbitat lo son. Con este a modelo estamos gastando 23 grados de libertad con el bloque (parcela) cuando podr amos utilizar slamente uno estimando el efecto de la parcela como la o varianza de todos los posibles coecientes de los niveles de la parcela en su efecto sobre la constante (Intercept).

3.2.

Paso 2: Ajuste de un modelo lineal mixto

Vamos ahora a ajustar el modelo mixto equivalente al modelo lineal anterior. > library(nlme) > lme.sn anova(lme.sn) numDF denDF F-value p-value 1 40 431.7217 summary(lme.sn) Linear mixed-effects model fit by REML Data: sn AIC BIC logLik 186.9631 210.1827 -82.48156 Random effects: Formula: ~1 | factor(Plot) (Intercept) Residual StdDev: 2.953028e-05 0.804266 Fixed effects: Total.Biomass ~ Scenario * Habitat 160

Luis Cayuela

Modelos lineales mixtos en R

Value Std.Error DF t-value p-value (Intercept) 1.2956250 0.2843510 40 4.556429 0.0000 ScenarioDry Summer 0.2855000 0.4021330 40 0.709964 0.4818 ScenarioWet Summer 0.3486250 0.4021330 40 0.866940 0.3911 HabitatGrassland 1.2767083 0.4343533 21 2.939332 0.0078 HabitatShrubland 0.3197500 0.4021330 21 0.795135 0.4354 ScenarioDry Summer:HabitatGrassland -0.5492083 0.5919237 40 -0.927836 0.3591 ScenarioWet Summer:HabitatGrassland 0.3647917 0.5919237 40 0.616282 0.5412 ScenarioDry Summer:HabitatShrubland -0.0058750 0.5687019 40 -0.010331 0.9918 ScenarioWet Summer:HabitatShrubland -0.0422500 0.5687019 40 -0.074292 0.9411 Correlation: (Intr) ScnrDS ScnrWS HbttGr HbttSh SDS:HG ScenarioDry Summer -0.707 ScenarioWet Summer -0.707 0.500 HabitatGrassland -0.655 0.463 0.463 HabitatShrubland -0.707 0.500 0.500 0.463 ScenarioDry Summer:HabitatGrassland 0.480 -0.679 -0.340 -0.734 -0.340 ScenarioWet Summer:HabitatGrassland 0.480 -0.340 -0.679 -0.734 -0.340 0.538 ScenarioDry Summer:HabitatShrubland 0.500 -0.707 -0.354 -0.327 -0.707 0.480 ScenarioWet Summer:HabitatShrubland 0.500 -0.354 -0.707 -0.327 -0.707 0.240 SWS:HG SDS:HS ScenarioDry Summer ScenarioWet Summer HabitatGrassland HabitatShrubland ScenarioDry Summer:HabitatGrassland ScenarioWet Summer:HabitatGrassland ScenarioDry Summer:HabitatShrubland 0.240 ScenarioWet Summer:HabitatShrubland 0.480 0.500 Standardized Within-Group Residuals: Min Q1 Med Q3 -1.79635849 -0.52757734 -0.05789441 0.32727824 Number of Observations: 70 Number of Groups: 24 Aunque este no es todav el modelo denitivo es curioso observar que ahora a tanto el hbitat como el escenario (con un = 0,10) son signicativos (la a interaccin entre ambos no lo es). En cuanto a su componente ja, este ser el o a modelo ms all del ptimo (el modelo completo). Por lo tanto podemos a a o utilizar esta estructura de los efectos jos para elegir la estructura de los efectos aleatorios ms adecuada. a

Max 5.22795549

3.3.

Paso 3: Eleccin de la estructura de los efectos o aleatorios

Los modelos que podemos plantear en este caso son: (1) un modelo sin efecto aleatorio (equivalente a un modelo lineal pero utilizando un estimador REML). 161

Luis Cayuela

Modelos lineales mixtos en R

Este modelo lo calcularemos con la funcin gls(); (2) un modelo que incluya la o varianza aleatoria de la constante (gran media) dentro de cada bloque; (3) un modelo que incluya la varianza de la constante y las varianzas aleatorias para cada uno de los niveles del factor habitat menos uno. Este ultimo modelo asumir que la respuesta (biomasa) a los distintos niveles del factor escenario a no es igual en todas las parcelas, sino que var de manera aleatoria dentro de a cada una. > > + > + > lme.sn0 + > + > lme.sn3 > > > > > > > >

Res fruit$LOGFRUIT plot(fruit$LOGFRUIT ~ fruit$DBH, xlab = "DBH", ylab = "Nmero de frutos", u + pch = fruit$YEAR)

q q

8

q q q q q q q q

q q q

q

q

q q q qq q q q q q q q q q q q q q q q q qq qq q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q qq q q q q qq q q q q q q q q qq q q qq q q q q qq qq qq q q q q q q q q q q q q q q q q q q q q q q q qq q q q qq q q q q q q q q q q q q q q q q q q q q q q q q

Nmero de frutos

6

q q q

q

2 200

4

300

400

500

600 DBH

700

800

900

Vamos a analizar los datos con un modelo de medidas repetidas. Por tanto el modelo que plantearemos ser el siguiente: a > > + + + > > > DBHtabs library(nlme) > lme.fruit anova(lme.fruit) numDF denDF F-value p-value 1 245 2218.4152 + > + > lme.fruit0 + > lme.fruit3 > > > > >

Res I cet cet$Sex > > > > > > > > >

par(mfcol = c(3, 3)) boxplot(Age ~ Species, data = cet) boxplot(Age ~ DolphinID, data = cet) boxplot(Age ~ Sex, data = cet) boxplot(Age ~ Location, data = cet) boxplot(Age ~ Stain, data = cet) interaction.plot(cet$Stain, cet$Species, cet$Age) interaction.plot(cet$Stain, cet$DolphinID, cet$Age) interaction.plot(cet$Stain, cet$Location, cet$Age) interaction.plot(cet$Stain, cet$Sex, cet$Age)

25

25

q q

25

cet$DolphinID 2 58 61 41 60 51 54 57 46 49 4 48 9 Mayer Toluidine 3 23 cet$Stain 27 31 47 28 7 22 29 cet$Location 35 Spain 14 Scotland 30 50 11 42 43 37 59 6 33 21 12 Mayer Toluidine 34 1 cet$Stain 5 8 25 32 36 38 39 cet$Sex 44 45 1 13 2 19 20 26 53 40 56 15 18 24 17 52 Mayer Toluidine 55 10 cet$Stain

20

20

mean of cet$Age Scotland Spain

15

15

10

10

5

5

0

0

Delphinusdelphis

Stenellafrontalis

0 Elrichq q

25

25

20

20

mean of cet$Age Elrich Mayer Toluidine

15

15

10

10

5

5

0

1 6 12

20

27

34

41

48

55

0

4 Elrich mean of cet$Age Stenellacoeruleoalba Delphinusdelphis Stenellafrontalis Tursiopstruncatus Lagenorhynchusacutus Phocoenaphocoena 6.0 Elrich 6.5 Elrich Mayer Toluidine cet$Stain

25

12

20

mean of cet$Age

15

10

5

0

1

2

5.1.

Paso 1: Aplicacin de un modelo lineal o

Vamos a analizar los datos con un modelo lineal. En este modelo vamos a calcular el efecto del mtodo de tincin, la regin y el sexo, sin considerar la e o o especia ni el individuo. Tambin vamos a contemplar todas las posibles e interacciones entre los factores dos a dos y la interaccin entre los tres factores. o > f1 lm.cet anova(lm.cet) Analysis of Variance Table Response: Age 177

4

6

8

10

7.0

q q

cet$Species

5

6

7

8

9

10

5

10

15

20

Luis Cayuela

Modelos lineales mixtos en R

Df Sum Sq Mean Sq F value Pr(>F) Sex 1 10.9 10.95 0.3354 0.5633 Stain 2 34.2 17.09 0.5234 0.5935 Location 1 1024.1 1024.15 31.3711 8.741e-08 *** Sex:Stain 2 1.2 0.58 0.0177 0.9825 Sex:Location 1 31.7 31.75 0.9724 0.3255 Stain:Location 2 17.7 8.85 0.2710 0.7629 Sex:Stain:Location 2 3.5 1.76 0.0539 0.9476 Residuals 165 5386.6 32.65 --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1

5.2.

Paso 2: Ajuste de un modelo lineal mixto

Vamos ahora a ajustar el modelo mixto equivalente al modelo lineal anterior, pero considerando los efectos aleatorios, que en este caso vienen dados por el especimen y la especie. El especimen ser un factor de medidas repetidas ya a que dentro de cada especimen comprobamos todos los niveles del factor mtodo e de teido. Pero los espec n menes estn anidados dentro del factor especie. Esto a es porque no todos los niveles del factor especimen estn recogidos en todos los a niveles del factor especie. La formulacin del modelo ser as o a : > library(nlme) > lme.cet anova(lme.cet) numDF denDF F-value p-value 1 110 60.19087 + > + > + > + > + > + > + lme.cet3 >

Res