comparaison lme et lmer


30

Je me demandais si quelqu'un pouvait m'éclairer sur les différences actuelles entre ces deux fonctions. J'ai trouvé la question suivante: Comment choisir la bibliothèque nlme ou lme4 R pour les modèles d'effets mixtes? , mais cela remonte à quelques années. C'est toute une vie dans les cercles logiciels.

Mes questions spécifiques sont:

  • Existe-t-il (encore) des structures de corrélation lmequi lmerne gèrent pas?
  • Est-il possible / recommandé d'utiliser lmerpour les données de panel?

Toutes mes excuses si elles sont quelque peu basiques.

Un peu plus en détail: les données de panel sont l'endroit où nous avons plusieurs mesures sur les mêmes individus, à différents moments. Je travaille généralement dans un contexte commercial, où vous pouvez disposer de données pour les clients réguliers / à long terme sur plusieurs années. Nous voulons permettre une variation dans le temps, mais il est inefficace d'ajuster clairement une variable fictive pour chaque mois ou année. Cependant, je ne sais pas si lmerc'est l'outil approprié pour ce type de données, ou si j'ai besoin des structures d'autocorrélation qui l' lmeont.


1
Cette réponse est toujours à jour. lmerne gère toujours pas la variété des structures de corrélation et de variance qui le lmefait, et si je comprends bien la situation, cela ne le sera probablement jamais.
Aaron - Rétablir Monica

@Aaron Merci pour la réponse. Pour la deuxième partie, cela affecte- lmert-il la capacité de gérer le jeu de données du panneau? Ou puis-je m'en tirer sans faire d'hypothèses de corrélation spécifiques?
Hong Ooi

3
@Aaron, je ne connais pas "jamais" les structures corr / var - je suis intéressé à ajouter ces fonctionnalités et je ne pense pas que ce serait si difficile - mais je dirais certainement "ne tenez pas votre souffle". Je ne connais pas suffisamment les données du panel pour savoir ce qui serait nécessaire pour lmerles gérer ... Hong, pouvez-vous ajouter une brève explication à la question qui décrit les propriétés statistiques nécessaires de manière un peu plus détaillée, ou donne des pointeurs?
Ben Bolker

@BenBolker Ajout de quelques détails.
Hong Ooi

4
Je dirais que ce lmerserait plutôt bien avec un effet aléatoire de l'année et un effet aléatoire du client (disons que vous n'avez qu'une seule mesure par client et par an); si vous avez une tendance temporelle globale (à effet fixe), vous devez également envisager une interaction temps par client aléatoire (c'est-à-dire des pentes aléatoires). Idéalement, vous voudriez également permettre une autocorrélation temporelle dans la série chronologique de chaque client, ce qui n'est pas possible pour le moment avec lmer, mais vous pouvez vérifier la fonction d'autocorrélation temporelle pour voir si cela était important ...
Ben Bolker

Réponses:


15

MISE À JOUR JUIN 2016:

S'il vous plaît voir l'entrée de blog de Ben décrivant ses réflexions actuelles sur l'accomplissement de cette tâche dans lme4: Braindump 01 juin 2016

Si vous préférez les méthodes bayésiennes, le brmspaquet brmprend en charge certaines structures de corrélation: page CRAN brms . (Remarque en particulier: "À partir de la version 0.6.0 de brms, la structure AR fait référence aux effets autorégressifs des résidus pour correspondre au nom et à l'implémentation dans d'autres packages tels que nlme. Auparavant, le terme AR dans brms faisait référence aux effets autorégressifs de la réponse. Ces derniers sont désormais appelés effets ARR et peuvent être modélisés à l'aide de l'argument r dans les fonctions cor_arma et cor_arr. ")


RÉPONSE ORIGINALE JUILLET 2013:

(Converti à partir d'un commentaire.)

Je dirais que ce lmerserait plutôt bien avec un effet aléatoire de l'année et un effet aléatoire du client (disons que vous n'avez qu'une seule mesure par client et par an);

lmer(y~1 + (1|year) + (1|customer), ...)

correspondrait au modèle (interception uniquement)

YijNormal(a+ϵyear,i+ϵcustomer,j,σ02)
ϵyearϵcustomer

Il s'agit d'un modèle assez ennuyeux, vous voudrez peut-être ajouter une tendance temporelle globale (à effet fixe) et également envisager une interaction aléatoire temps par client (c'est-à-dire des pentes aléatoires). je pense

lmer(y~year + (1|year) + (year|customer), ...)

YijNormal((a+ϵcustomer,j)+(b+ϵyear×customer,j)year+ϵyear,i,σ02)

(l'utilisation yearde cette manière est une exception à la règle habituelle de ne pas inclure une variable d'entrée en tant qu'effet ajusté et aléatoire dans le même modèle; à condition qu'il s'agisse d'une variable numérique, yearest traitée comme continue dans l'effet fixe et le year:customer(aléatoire) interaction et aussi catégorique dans l'effet aléatoire ...)

Bien sûr, vous voudrez peut-être ajouter des covariables au niveau de l'année, au niveau du client et au niveau de l'observation qui absorberaient une partie de la variance pertinente (par exemple, ajouter un indice des prix à la consommation moyen pour expliquer pourquoi les années étaient mauvaises ou bonnes ...)

Idéalement, vous voudriez également permettre une autocorrélation temporelle dans les séries temporelles de chaque client, ce qui n'est pas possible pour le moment lmer, mais vous pouvez vérifier la fonction d'autocorrélation temporelle pour voir si cela était important ...

Mise en garde : Je ne sais pas grand-chose sur les approches standard pour gérer les données du panel; ceci est basé uniquement sur ma connaissance des modèles mixtes. Les commentateurs (ou rédacteurs en chef) devraient se sentir libres d'intervenir si cela semble enfreindre les normes / meilleures pratiques en économétrie.


XN(μ,σ2)Xμσ2Yij
N(a,σ02+σyear2+σcust2)
a+byear

Oui, merci Ben. Dans la pratique, il y aurait également des effets fixes, par exemple l'âge, le sexe et tous les suspects habituels. @Macro: Ben a raison, je crois.
Hong Ooi

μYNormal(Xβ+Zu,σ2);uMVNormal(0,Σ);Σ=f(θ)


2
Je viens de publier des informations sur lesquelles j'ai travaillé récemment sur rawgit.com/bbolker/mixedmodels-misc/master/notes/… ; J'essaierai de contourner l'incorporation de bits pertinents dans ma réponse (alternativement, n'importe qui d'autre est le bienvenu pour publier sa propre réponse en fonction de ces informations, ou modifier ma question!)
Ben Bolker

3

Pour répondre directement à vos questions, et NB c'est des années après le message d'origine!

  • Oui, il existe encore des structures de corrélation que nlme gère et que lme4 ne gère pas. Cependant, tant que nlme permet à l'utilisateur de définir les corstrs généraux et que lme4 ne le fait pas, ce sera le cas. Cela a étonnamment peu d'impact pratique. Les "trois grands" structures de corrélation de: Les structures de corrélation indépendantes, échangeables et AR-1 sont faciles à gérer par les deux packages.

  • C'est certainement possible . Vous pouvez également adapter les données du panneau avec la lmfonction! Ma recommandation concernant l'utilisation dépend du problème. lme4est une trousse à outils beaucoup plus petite, et la représentation des formules est une manière claire et concise de décrire certains modèles d'effets mixtes très courants. nlmeest la très grande boîte à outils, y compris une soudeuse TIG pour fabriquer tous les outils dont vous avez besoin.

Vous dites que vous voulez permettre une "variation dans le temps". Essentiellement, une structure de corrélation échangeable y parvient, permettant une interception aléatoire dans chaque cluster, de sorte que la variance intracluster est la somme de la variation au niveau du cluster ainsi que (ce que vous appelez) la variation dans le temps. Et cela ne vous dissuade nullement d'utiliser des effets fixes pour obtenir des prédictions plus précises dans le temps.


1
Hmm. Comment peut-on utiliser la corrélation AR-1 dans lme4?
amibe dit Réintégrer Monica le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.