Je suis curieux de savoir comment le package lmerTest dans R, en particulier la fonction "rand", gère les tests d'effets aléatoires. Prenons l'exemple du pdf lmerTest sur CRAN qui utilise l'ensemble de données "carottes" intégré:
#import lme4 package and lmerTest package
library(lmerTest)
#lmer model with correlation between intercept and slopes
#in the random part
m <- lmer(Preference ~ sens2+Homesize+(1+sens2|Consumer), data=carrots)
# table with p-values for the random effects
rand(m)
Le modèle spécifie deux variances aléatoires (l'interception et "sens2"), toutes deux imbriquées dans "Consommateur", et la covariance entre l'interception et "sens2". La sortie (non fournie dans le pdf) pour les composants aléatoires de l'exécution lmer suit:
Random effects:
Groups Name Variance Std.Dev. Corr
Consumer (Intercept) 0.195168 0.44178
sens2 0.002779 0.05271 0.18
Residual 1.070441 1.03462
Number of obs: 1233, groups: Consumer, 103
Ce qui est attendu compte tenu des spécifications du modèle. La sortie de la fonction rand suit:
Analysis of Random effects Table:
Chi.sq Chi.DF p.value
sens2:Consumer 6.99 2 0.03 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Étant donné le tableau des effets aléatoires, je pense que lmerTest évalue la pente aléatoire pour "sens2" mais il pourrait également s'agir de la covariance entre la pente et l'interception. Le test d'interception aléatoire n'est pas inclus. J'ai estimé un autre modèle avec seulement l'ordonnée à l'origine aléatoire (pas de pente aléatoire ni de covariance), et j'ai obtenu ce qui suit à partir de l'instruction "rand":
Analysis of Random effects Table:
Chi.sq Chi.DF p.value
Consumer 79.6 1 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Le test de la variance aléatoire associée à l'ordonnée à l'origine est fourni ici. Alors, quelqu'un sait-il ce que le test des composantes de variance aléatoire du premier modèle teste? Existe-t-il un moyen que je ne vois pas dans la documentation pour tester les trois composants aléatoires? Je dois mentionner que la page du test rand sur inside-R.org a la description déroutante suivante (que je ne vois pas dans le pdf sur CRAN):
Values
Produces a data frame with tests for the random terms being non-significant.
Note
If the effect has random slopes, then first the correlations between itercept [sic] and slopes are checked for significance
Est-il possible que la description des "Valeurs" ait le sens inverse et que seuls des effets significatifs soient signalés? J'ai exécuté la procédure «étape» et il n'était pas clair si les trois composantes de la variance aléatoire étaient prises en compte lors de l'analyse.
Tout aperçu sur la question est grandement apprécié.
Joe
EDIT: L'intrigue s'épaissit un peu. Il m'est apparu de vérifier une structure de covariance "diagonale" (pas de covariance entre l'ordonnée à l'origine aléatoire et la pente) en utilisant ce qui suit (basé sur cet excellent article ):
m2 <- lmer(Preference ~ sens2+Homesize+(1|Consumer)+(0+sens2|Consumer), data=carrots)
La sortie lmer pour les variances aléatoires, en utilisant VarCorr, est la suivante:
Groups Name Std.Dev.
Consumer (Intercept) 0.441807
Consumer.1 sens2 0.052719
Residual 1.034618
Ce qui omet correctement la covariance (corrélation) entre la pente aléatoire et l'interception. L'exécution de la fonction "rand" de lmerTest produit la sortie suivante:
Analysis of Random effects Table:
Chi.sq Chi.DF p.value
Consumer 84.4 1 <2e-16 ***
sens2:Consumer 6.3 1 0.01 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Il testera donc les deux composantes de la variance pour ce modèle. Mais la question demeure concernant le premier modèle à covariance aléatoire. Qu'est-ce que le test lmerTest?