Comment interpréter les coefficients d'un modèle mixte multivarié dans lme4 sans interception globale?

10

J'essaie d'intégrer un modèle mixte multivarié (c'est-à-dire à réponses multiples) R. Mis à part les packages ASReml-ret SabreR(qui nécessitent un logiciel externe), il semble que cela ne soit possible qu'en MCMCglmm. Dans l' article qui accompagne le MCMCglmmpaquet (p. 6), Jarrod Hadfield décrit le processus d'ajustement d'un tel modèle comme par exemple le remodelage de plusieurs variables de réponse en une variable de format long, puis la suppression de l'interception globale. Je crois comprendre que la suppression de l'ordonnée à l'origine modifie l'interprétation du coefficient pour chaque niveau de la variable de réponse comme étant la moyenne de ce niveau. Compte tenu de ce qui précède, est-il donc possible d'adapter un modèle mixte multivarié à l'aide de lme4? Par exemple:

data(mtcars)
library(reshape2)
mtcars <- melt(mtcars, measure.vars = c("drat", "mpg", "hp"))
library(lme4)
m1 <- lmer(value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)),
    data = mtcars)
summary(m1)
#  Linear mixed model fit by REML 
#  Formula: value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)) 
#     Data: mtcars 
#   AIC   BIC logLik deviance REMLdev
#   913 933.5 -448.5    920.2     897
#  Random effects:
#   Groups       Name        Variance Std.Dev.
#   factor(carb) (Intercept) 509.89   22.581  
#   Residual                 796.21   28.217  
#  Number of obs: 96, groups: factor(carb), 6
#  
#  Fixed effects:
#                    Estimate Std. Error t value
#  variabledrat:gear  -7.6411     4.4054  -1.734
#  variablempg:gear   -1.2401     4.4054  -0.281
#  variablehp:gear     0.7485     4.4054   0.170
#  variabledrat:carb   5.9783     4.7333   1.263
#  variablempg:carb    3.3779     4.7333   0.714
#  variablehp:carb    43.6594     4.7333   9.224

Comment interpréter les coefficients de ce modèle? Cette méthode fonctionnerait-elle également pour les modèles mixtes linéaires généralisés?

Chris
la source

Réponses:

2

Votre idée est bonne, mais dans votre exemple, vous avez oublié de modéliser une interception différente et des variances aléatoires différentes pour chaque trait, de sorte que votre sortie n'est pas interprétable telle quelle. Un modèle correct serait:

m1 <- lmer(value ~ -1 + variable + variable:gear + variable:carb + (0 + variable | factor(carb))

Dans ce cas, vous obtiendrez les estimations des effets fixes sur chaque variable (par exemple, variabledrat:gearest l'effet du prédicteur gearsur la réponse drat), mais vous obtiendrez également les intersections pour chaque variable (par exemple variabledratpour l'interception de la réponse drat) et le hasard variance de chaque variable et corrélations entre variables:

Groups       Name         Std.Dev. Corr     
 factor(carb) variabledrat 23.80             
              variablempg  24.27    0.20     
              variablehp   23.80    0.00 0.00
 Residual                  23.80       

Une description plus détaillée de ces méthodes a été écrite par Ben Bolker , ainsi que leur utilisation MCMCglmmdans un cadre bayésien. Un autre nouveau package, mcglmpeut également gérer des modèles multivariés, même avec des réponses non normales, mais vous devez coder vos matrices de conception aléatoires. Un tutoriel devrait être disponible prochainement (voir la page d'aide R).

Charlotte R
la source