J'essaie de comprendre quand utiliser un effet aléatoire et quand c'est inutile. On m'a dit qu'une règle de base est si vous avez 4 groupes / individus ou plus que je fais (15 orignaux individuels). Certains de ces orignaux ont été expérimentés à deux ou trois reprises pour un total de 29 essais. Je veux savoir s'ils se comportent différemment lorsqu'ils se trouvent dans des paysages à haut risque. Alors, j'ai pensé définir l'individu comme un effet aléatoire. Cependant, on me dit maintenant qu'il n'est pas nécessaire d'inclure l'individu en tant qu'effet aléatoire, car sa réponse ne varie pas beaucoup. Ce que je n'arrive pas à comprendre, c'est comment vérifier si quelque chose est vraiment pris en compte lors de la définition d'un effet aléatoire. Peut-être une première question est: Quel test / diagnostic puis-je faire pour déterminer si Individual est une bonne variable explicative et si cela doit être un effet fixe - qq graphes? des histogrammes? nuages de points? Et que chercherais-je dans ces modèles?
J'ai exécuté le modèle avec l'individu en tant qu'effet aléatoire et sans, mais j'ai ensuite lu http://glmm.wikidot.com/faq où ils indiquent:
ne comparez pas les modèles lmer avec les ajustements lm correspondants, ou glmer / glm; les log-vraisemblances ne sont pas proportionnées (c'est-à-dire qu'elles incluent différents termes additifs)
Et ici, je suppose que cela signifie que vous ne pouvez pas comparer un modèle avec effet aléatoire ou sans. Mais je ne saurais pas vraiment ce que je devrais comparer entre eux de toute façon.
Dans mon modèle avec l’effet Aléatoire, j’essayais également d’examiner le résultat pour voir quel type de preuve ou d’importance l’ER avait
lmer(Velocity ~ D.CPC.min + FD.CPC + (1|ID), REML = FALSE, family = gaussian, data = tv)
Linear mixed model fit by maximum likelihood
Formula: Velocity ~ D.CPC.min + FD.CPC + (1 | ID)
Data: tv
AIC BIC logLik deviance REMLdev
-13.92 -7.087 11.96 -23.92 15.39
Random effects:
Groups Name Variance Std.Dev.
ID (Intercept) 0.00000 0.00000
Residual 0.02566 0.16019
Number of obs: 29, groups: ID, 15
Fixed effects:
Estimate Std. Error t value
(Intercept) 3.287e-01 5.070e-02 6.483
D.CPC.min -1.539e-03 3.546e-04 -4.341
FD.CPC 1.153e-04 1.789e-05 6.446
Correlation of Fixed Effects:
(Intr) D.CPC.
D.CPC.min -0.010
FD.CPC -0.724 -0.437
Vous voyez que ma variance et le SD de l'ID individuel en tant qu'effet aléatoire = 0. Comment est-ce possible? Que signifie 0? Est-ce correct? Ensuite, mon ami qui a dit "car il n'y a pas de variation en utilisant ID comme effet aléatoire est inutile" est correct? Alors, puis-je l'utiliser comme un effet fixe? Mais le fait qu'il y ait si peu de variation signifie-t-il qu'il ne nous en dira pas beaucoup, de toute façon?
Réponses:
L'estimation,
ID
variance de = 0, indique que le niveau de variabilité entre les groupes n'est pas suffisant pour justifier l'incorporation d'effets aléatoires dans le modèle; c'est à dire. votre modèle est dégénéré.Comme vous vous identifiez correctement: très probablement, oui;
ID
comme un effet aléatoire est inutile. Peu de choses me viennent à l’esprit pour tester cette hypothèse:REML = F
toujours) l'AIC (ou votre CI préféré en général) entre un modèle avec et sans effets aléatoires et voir comment cela se passe.anova()
sortie des deux modèles.Remarquez que les choix 1 et 2 ont un problème: vous recherchez quelque chose qui se trouve dans les limites de l'espace des paramètres, de sorte qu'ils ne sont pas techniquement corrects. Cela dit, je ne pense pas que vous obtiendrez des idées erronées et que beaucoup de gens les utilisent (par exemple, Douglas Bates, l'un des développeurs de lme4, les utilise dans son livre mais indique clairement cette mise en garde concernant les valeurs des paramètres testés. sur la limite de l'ensemble des valeurs possibles). Le choix 3 est le plus fastidieux des 3 mais vous donne en fait la meilleure idée de ce qui se passe. Certaines personnes sont tentées d'utiliser également le bootstrap non paramétrique, mais je pense que, étant donné que vous faites des hypothèses paramétriques pour commencer, vous pourriez aussi bien les utiliser.
la source
lme4
quimcmcsamp()
est cassé et que les gens ne disposent que de leurs propres implémentations bootstrap ad-hoc pour obtenir des valeurs p décentes, etc.Je ne suis pas sûr que l'approche que je vais suggérer soit raisonnable, alors ceux qui en savent plus sur ce sujet me corrigent si je me trompe.
Ma proposition est de créer dans vos données une colonne supplémentaire ayant une valeur constante de 1:
Ensuite, vous pouvez créer un modèle utilisant cette colonne comme effet aléatoire:
À ce stade, vous pouvez comparer (AIC) votre modèle d'origine à l'effet aléatoire
ID
(appelons-lefm0
) avec le nouveau modèle qui ne prend pas en compteID
car ilIDconst
est identique pour toutes vos données.Mise à jour
user11852 demandait un exemple car, à son avis, l'approche ci-dessus ne serait même pas exécutée. Au contraire, je peux montrer que l'approche fonctionne (du moins avec
lme4_0.999999-0
celle que j'utilise actuellement).Sortie:
Selon ce dernier test, nous devrions garder l’effet aléatoire car le
fm0
modèle a la plus faible AIC ainsi que la BIC.Mise à jour 2
A propos, cette même approche est proposée par NW Galwey dans 'Introduction à la modélisation mixte: au-delà de la régression et de l'analyse de variance' aux pages 213-214.
la source
IDconst
est le même pour toutes vos données, alors vous n'avez aucun groupe. Vous avez besoin d'un facteur de regroupement pour avoir au moins un niveau échantillonné et la manière dont vous configurez le modèle n'en a pas. Je pourrais peut-être croire la raison d'utiliser un "groupement aléatoire", mais c'est un jeu de balle différent dans son ensemble. Testez votre approche avec des données factices. Je crois fermement qu'avec votre configuration proposéelmer()
ne fonctionnera pas. (J'utiliselme4_0.99999911-1
)lme4_0.99999911-1
.Error in lFormula(formula = value ~ fac1 + (1 | idconst), data = dataset) : grouping factors must have at least 1 sampled level
. Et comme je l'ai dit, conceptuellement, c'est faux. Il ne s'agit pas de tromper le logiciel pour donner des chiffres, mais de dire si ce que vous dites est raisonnable. Vous n'avez pas de deuxième modèle mixte à comparer si, dans ce modèle, l'effet aléatoire est par construction une constante. Vous pouvez aussi bien l'exclure et essayer un modèle linéaire.lme4
. Cela peut se faire que si vous définissez l'option:control=lmerControl(check.nlev.gtr.1="ignore")
. Ben Bolker le mentionne ici: github.com/lme4/lme4/issues/411 .J'aimerais répondre à la question plus "initiale".
Si vous soupçonnez une quelconque hétérogénéité dans la variance parmi les variables dépendantes à cause de certains facteurs, vous devriez aller de l'avant et tracer les données à l'aide de diagrammes de dispersion et de boîte. Certains modèles courants à vérifier, je mets cette liste ci-dessous à partir de diverses sources sur le web.
En outre, tracez votre variable dépendante par facteur / groupe de traitement pour voir s’il existe une variance constante. Sinon, vous voudrez peut-être explorer les effets aléatoires ou les régressions pondérées. Pour par exemple. Ce tableau ci-dessous est un exemple de variance en forme d'entonnoir dans mes groupes de traitement. Je choisis donc des effets aléatoires et teste les effets sur la pente et les interceptions.
À partir de là, les réponses ci-dessus répondent à votre question principale. Il existe également des tests qui vérifient l'hétéroscédasticité, tels que ceux-ci: https://dergipark.org.tr/download/article-file/94971 . Mais je ne suis pas sûr qu'il existe des tests permettant de détecter l'hétéroscédasticité au niveau du groupe.
la source
ASK QUESTION
en haut et posez-le là. Puisque vous êtes nouveau ici, vous voudrez peut-être faire notre tour , qui contient des informations pour les nouveaux utilisateurs.