Comment implémenter un modèle mixte en utilisant la fonction betareg dans R?


12

J'ai un ensemble de données composé de proportions qui mesurent le "niveau d'activité" des têtards individuels, ce qui rend les valeurs liées entre 0 et 1. Ces données ont été collectées en comptant le nombre de fois où l'individu s'est déplacé dans un certain intervalle de temps (1 pour le mouvement, 0 pour aucun mouvement), puis en moyenne pour créer une valeur par individu. Mon principal effet fixe serait le "niveau de densité".

Le problème auquel je suis confronté est que j'ai une variable de facteur, "étang", que j'aimerais inclure comme effet aléatoire - je ne me soucie pas des différences entre les étangs, mais j'aimerais les prendre en compte statistiquement. Un point important à propos des étangs est que je n'en ai que 3, et je comprends qu'il est idéal d'avoir plus de niveaux de facteur (5+) lorsque l'on traite des effets aléatoires.

S'il est possible de le faire, j'aimerais avoir des conseils sur la façon d'implémenter un modèle mixte à l'aide de betareg()ou betamix()dans R. J'ai lu les fichiers d'aide R, mais je les trouve généralement difficiles à comprendre (ce que chaque paramètre d'argument signifie vraiment dans le contexte de mes propres données ET ce que les valeurs de sortie signifient en termes écologiques) et j'ai donc tendance à mieux travailler via des exemples.

Sur une note connexe, je me demandais si je pouvais utiliser à la place un glm()sous-famille binomiale et un lien logit pour réaliser la comptabilisation des effets aléatoires avec ce type de données.


non, vous ne pouvez pas inculquer de termes d'erreur dans glm (). Qu'en est-il de logit transformer votre réponse et d'envisager un modèle mixte linéaire?
utobi

@utobi Merci, je vais essayer ça. Donc, vous n'avez pas de soucis d'avoir un effet aléatoire avec seulement 3 niveaux?
Kat Y

Je ne connais pas la signification de votre variable "étang", mais si vous avez des mesures répétées, les effets aléatoires sont presque un must. Si vous n'avez pas de mesures répétées, ici aléatoire vs fixe est un débat ouvert. Trois niveaux d'effets aléatoires peuvent être corrects, en principe leur variance est estimable. Je vous suggère de vérifier la littérature dans votre domaine. Un bon livre qui traite des effets aléatoires par rapport aux effets fixes est stat.columbia.edu/~gelman/arm .
utobi

1
@utobi merci pour vos conseils. C'était utile. Je vais regarder ce livre! J'ai fini par faire des transformations logit et j'ai utilisé lmer ().
Kat Y

Réponses:


11

Les capacités actuelles de betaregne comprennent pas les effets aléatoires / mixtes. Dans, betareg()vous ne pouvez inclure qu'un effet fixe, par exemple, pour votre variable d'étang à trois niveaux. La betamix()fonction implémente une régression bêta à mélange fini , pas une régression bêta à effets mixtes .

Dans votre cas, j'essaierais d'abord de voir quel effet a un effet de facteur d'étang fixe. Cela vous "coûte" deux degrés de liberté tandis qu'un effet aléatoire serait légèrement moins cher avec un seul degré de liberté supplémentaire. Mais je serais surpris que les deux approches conduisent à des perspectives qualitatives très différentes.

Enfin, tandis que glm()ne prend pas en charge la régression bêta, mais dans le mgcvpackage, il y a la betar()famille qui peut être utilisée avec la gam()fonction.


Merci pour votre participation. Vous avez clarifié certains aspects des fonctions betareg. À ce stade, j'ai suivi les conseils de @utobi et effectué des transformations logit afin de pouvoir utiliser lmer (). J'examinerai gam () car mon prochain ensemble de données est également lié entre 0 et 1, et je ne peux pas normaliser les distributions via des transformations :)
Kat Y

1
Je m'attendrais à ce que les approches renvoient des résultats similaires mais aussi quelques différences à partir desquelles vous pourriez apprendre quelque chose. Je recommande donc d'essayer les trois, c'est-à-dire betaregavec des effets fixes, transformés en logit lmeravec des effets aléatoires et gamavec betar. (Et aussi: si la réponse était utile, envisagez de voter ou de l'accepter.)
Achim Zeileis

15

Le paquet glmmTMB peut être utile pour toute personne ayant une question similaire. Par exemple, si vous vouliez inclure pond de la question ci-dessus comme effet aléatoire, le code suivant ferait l'affaire:

glmmTMB(y ~ 1 + (1|pond), df, family=list(family="beta",link="logit"))

Bienvenue sur CV. Nous vous remercions de votre contribution. Il s'agit plutôt d'un commentaire que d'une réponse. Pouvez-vous étendre votre réponse s'il vous plaît?
Ferdi

Désolé pour le retard, je n'ai pas vu le commentaire immédiatement. J'espère que cela pourra aider.
Kori K

3

Cela a commencé comme un commentaire, mais a duré longtemps. Je ne pense pas qu'un modèle à effets aléatoires soit approprié ici. Il n'y a que 3 étangs - voulez-vous estimer un écart par rapport à 3 nombres? C'est un peu ce qui se passe avec un modèle à effets aléatoires. Je suppose que les étangs ont été choisis en raison de leur commodité pour le chercheur, et non comme un échantillon aléatoire de "étangs des Amériques".

L'avantage d'un modèle à effets aléatoires est qu'il permet de construire un intervalle de confiance sur la réponse (niveau d'activité) qui prend en compte la variation étang à étang. Un modèle à effets fixes - en d'autres termes, traitant l'étang comme un bloc - ajuste la réponse à l'effet de l'étang. S'il y avait un certain effet de traitement supplémentaire - disons deux espèces de grenouilles dans chaque étang - le blocage réduit l'erreur quadratique moyenne (dénominateur du test F) et permet à l'effet du traitement de briller.

Dans cet exemple, il n'y a pas d'effet de traitement et le nombre d'étangs est trop petit pour un modèle à effets aléatoires (et probablement trop "non aléatoire"), donc je ne sais pas quelles conclusions peuvent être tirées de cette étude. On pourrait obtenir une belle estimation de la différence entre les étangs, mais c'est à peu près tout. Je ne vois pas de déductions tirées sur la population plus large de grenouilles dans d'autres étangs. On pourrait le concevoir comme une étude pilote, je suppose.

Gardez à l'esprit que toute utilisation d'un modèle à effets aléatoires ici donnera une estimation très peu fiable de la variance de l'étang et doit être utilisée avec prudence.

Mais quant à votre question initiale - n'est-ce pas davantage un problème de taux? La distribution de référence pour les événements par unité de temps est le Poisson. Vous pouvez donc effectuer une régression de Poisson en utilisant les nombres avec l'intervalle de temps comme décalage.

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.