Je s'adapter quelques modèles à effets mixtes ( en particulier les modèles longitudinaux) en utilisant lme4
dans R
mais je voudrais vraiment maîtriser les modèles et le code qui va avec eux.
Cependant, avant de plonger avec les deux pieds (et d'acheter des livres), je veux être sûr d'apprendre la bonne bibliothèque. J'en ai utilisé lme4
jusqu'à présent parce que je trouvais cela plus facile que nlme
, mais si nlme
c'est mieux pour mes besoins, alors je pense que je devrais l'utiliser.
Je suis sûr que ni est "mieux" d'une manière simpliste, mais j'apprécierais certaines opinions ou pensées. Mes principaux critères sont:
- facile à utiliser (je suis psychologue de formation et peu versé dans les statistiques ou la programmation, mais j'apprends)
- bonnes caractéristiques pour l'ajustement des données longitudinales (s'il y a une différence ici - mais c'est pour cela que je les utilise principalement)
- résumés graphiques bons (faciles à interpréter), encore une fois pas sûr s'il y a une différence ici mais je produis souvent des graphiques pour des personnes même moins techniques que moi, donc de jolis graphes nets sont toujours bons (j'aime beaucoup la fonction xyplot dans le treillis () Pour cette raison).
Comme d'habitude, espérons que cette question ne sera pas trop vague et merci d'avance pour toute sagesse!
la source
lme4
vous pouvez spécifier une structure de covariance diagonale (c'est-à-dire des effets aléatoires indépendants) ou des matrices de covariance non structurées (toutes les corrélations doivent être estimées) ou des matrices de covariance partiellement diagonales et partiellement non structurées pour les effets aléatoires. J'ajouterais également une troisième différence de capacités qui pourrait être plus pertinente pour de nombreuses situations de données longitudinales:nlme
vous pouvez spécifier des structures de variance-covariance pour les résidus (à savoir une autocorrélation spatiale ou temporelle ou une hétéroskédasticité),lme4
non.lme4
permet de choisir différentes structures de VC. Il serait préférable que vous l'ajoutiez dans votre propre réponse, avec d'autres idées que vous pourriez avoir. Je vais upvote. BTW, j'ai aussi réalisé quelmList()
c'est disponible danslme4
trop. Il me semble me souvenir d’une discussion à ce sujet sur R-sig-ME.Comme le souligne chl, la principale différence réside dans le type de structure de variance-covariance que vous pouvez spécifier pour les effets aléatoires. Dans
lme4
vous pouvez spécifier soit:~ (1 | group)+ (0 + x1 | group) + (0 + x2 | group)
)~ (1 + x1 + x2 | group)
)y ~ (1 + x1 | group) + (0 + x2 | group)
où vous estimeriez une corrélation entre l’interception aléatoire et la pente aléatoirex1
, mais aucune corrélation entre la pente aléatoire pourx2
et l’interception aléatoire et entre la pente aléatoirex2
et la pente aléatoirex1
).nlme
offre une classe beaucoup plus large de structures de covariance pour les effets aléatoires. Mon expérience est que la flexibilité delme4
est suffisante pour la plupart des applications, cependant.J'ajouterais également une troisième différence de capacités qui pourrait être plus pertinente pour de nombreuses situations de données longitudinales:
nlme
spécifiez des structures de variance-covariance pour les résidus (c'est-à-dire une autocorrélation spatiale ou temporelle ou une hétéroskédasticité ou une variabilité dépendante de la covariable) dans l'weights
argument (cf?varFunc
), alors qu’illme4
n’autorise que des poids fixes antérieurs pour les observations.Une quatrième différence est qu’il peut être difficile d’
nlme
adapter des effets aléatoires croisés (partiellement), alors que cela n’est pas un problèmelme4
.Vous irez probablement bien si vous vous en tenez à
lme4
.la source
D'autres ont très bien résumé les différences. Mon impression est que cela
lme4
convient mieux aux ensembles de données en cluster, en particulier lorsque vous devez utiliser des effets aléatoires croisés. Pour les mesures répétées, les conceptions (y compris de nombreuses conceptions longitudinales) sont toutefoisnlme
l'outil, car elles nenlme
prennent en charge que la spécification d'une structure de corrélation pour les résidus. Vous le faites en utilisant l' argumentcorrelations
oucor
avec uncorStruct
objet. Il vous permet également de modéliser l'hétéroscédasticité à l'aide d'unvarFunc
objet.la source
Il existe en fait un certain nombre de packages dans R pour l’ajustement de modèles à effets mixtes au
lme4
- delà de etnlme
. Il existe un joli wiki géré par le groupe d'intérêt spécial R pour modèles mixtes, qui contient une très bonne FAQ et une page comparant les différents packages .En ce qui concerne mes opinions sur l’utilisation effective de
lme4
etnlme
: j’ailme4
été généralement plus facile à utiliser en raison de son extension plutôt directe de la syntaxe de base de la formule R. (Si vous devez travailler avec des modèles additifs généralisés, legamm4
package étend cette syntaxe une étape supplémentaire pour vous donner une courbe d'apprentissage fluide.) Comme d'autres l'ont déjà mentionné, vouslme4
pouvez gérer des modèles généralisés (autres fonctions de lien et distributions d'erreurs),nlme
La focalisation sur la fonction de liaison gaussienne lui permet de faire certaines choses très difficiles dans le cas général (spécifier la structure de covariance et certaines choses dépendant du calcul des degrés de liberté, comme les valeurs p, que je vous encourage à déplacer. loin de!).la source