J'essaie d'utiliser lme4::glmer()
pour adapter un modèle mixte généralisé binomial (GLMM) avec une variable dépendante qui n'est pas binaire, mais une variable continue entre zéro et un. On peut considérer cette variable comme une probabilité; en fait , il est probable que rapporté par des sujets humains (dans une expérience que je l' aide à analyser). C'est-à-dire que ce n'est pas une fraction "discrète", mais une variable continue.
Mon glmer()
appel ne fonctionne pas comme prévu (voir ci-dessous). Pourquoi? Que puis-je faire?
Modification ultérieure: ma réponse ci-dessous est plus générale que la version originale de cette question, j'ai donc modifié la question pour qu'elle soit plus générale également.
Plus de détails
Apparemment, il est possible d'utiliser la régression logistique non seulement pour le DV binaire mais aussi pour le DV continu entre zéro et un. En effet, quand je cours
glm(reportedProbability ~ a + b + c, myData, family="binomial")
Je reçois un message d'avertissement
Warning message:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
mais un ajustement très raisonnable (tous les facteurs sont catégoriques, donc je peux facilement vérifier si les prédictions du modèle sont proches des moyennes inter-sujets, et elles le sont).
Cependant, ce que je veux réellement utiliser est
glmer(reportedProbability ~ a + b + c + (1 | subject), myData, family="binomial")
Il me donne l'avertissement identique, renvoie un modèle, mais ce modèle est clairement très hors tension; les estimations des effets fixes sont très éloignées de glm()
celles et des moyennes transversales. (Et je dois inclure glmerControl(optimizer="bobyqa")
dans l' glmer
appel, sinon il ne converge pas du tout.)
glmmadmb(reportedProbability ~ a + b + c + (1 | subject), myData, family="beta")
, j'obtiens un ajustement correct et des intervalles de confiance raisonnables, mais un avertissement de convergence a échoué : - / J'essaie de comprendre comment augmenter le nombre d'itérations. La bêta pourrait fonctionner pour moi car je n'ai pas de cas DV = 0 ou DV = 1.
+ (1 | rowid)
à mon appel glmer et cela donne des estimations stables et des intervalles de confiance stables, indépendamment de mon choix de poids (j'ai essayé 100 et 500). J'ai également essayé d'exécuter lmer sur logit (rapportéProbabilité) et j'obtiens presque exactement la même chose. Les deux solutions semblent donc bien fonctionner! Beta MM avec glmmadmb donne également des résultats très proches, mais pour une raison quelconque, il ne parvient pas à converger complètement et prend une éternité à s'exécuter. Pensez à publier une réponse répertoriant ces options et expliquant un peu les différences et les avantages / inconvénients! (Les intervalles de confiance que je mentionne sont tous Wald.)