Contexte:
je voudrais effectuer une méta-régression en utilisant des études qui ont (1) plusieurs résultats / constructions (= multivariées) et (2) plusieurs tailles d'effet pour chacun de ces résultats en raison de différentes mesures. Voici un schéma qui, je l'espère, l'explique le mieux:
- Étude 1, résultat A, taille d'effet 1
- Étude 1, résultat A, taille d'effet 2
- Étude 1, résultat B, taille d'effet 3
- Étude 2, résultat A, taille de l'effet 4
- Étude 2, résultat C, taille d'effet 5
- Étude 2, résultat C, taille d'effet 6
- ...
Les études comparent les moyennes de deux groupes sur différents résultats et tailles d'effet sont g de Hedge.
Un exemple pratique serait "Working Memory" qui peut être divisé en différents résultats (Baddeley, 1974), par exemple "Phonological Loop", "Visuospatial Sketchpad" ou "Central Executive".
Par exemple, l'étude 1 évalue la "boucle phonologique" (résultat A) avec deux mesures différentes (= taille d'effet 1 et 2) et "l'exécutif central" (résultat B) avec une mesure (= taille d'effet 3).
Problème:
Une approche multivariée appropriée nécessite de connaître chaque corrélation entre la taille des effets et les résultats pour estimer les covariances. Cependant, je ne connais pas (1) les corrélations entre différentes tailles d'effet au sein d'une même étude et (2) les corrélations entre les résultats de différentes études. Je peux les estimer ou essayer de trouver au moins quelques corrélations avec lesquelles travailler, mais cela signifierait beaucoup de recherches documentaires supplémentaires que j'aimerais éviter.
Solution (jusqu'à présent):
je suis tombé sur quelques méthodes traitant de problèmes similaires.
L'estimation de variance robuste (Hedges, 2010) est une bonne approche pour gérer plusieurs tailles d'effet. Cependant, je dois encore deviner une corrélation et effectuer une analyse de sensibilité et il ne semble pas non plus possible de comparer plusieurs résultats (c'est-à-dire uniquement une méta-régression univariée).
L'approche à plusieurs niveaux de Van den Noorgate (2014) est prometteuse car elle ne nécessite pas d'estimation de corrélation en permettant une variation entre les tailles d'effet et entre les tailles d'effet dans les études. Une méta-analyse multivariée multiniveau (= résultats différents et tailles d'effet multiples comme dans le schéma ci-dessus) et une méta-régression univariée multiniveau (= tailles d'effet multiples mais pas de différenciation entre les résultats) est décrite.
En utilisant le package metafor dans R, je me demande si je peux combiner les deux approches multiniveaux et effectuer une méta-régression multivariée multiniveau. Des exemples de méta-analyse multiniveau et de méta-régression multivariée utilisant metafor sont fournis ici http://www.metafor-project.org/doku.php/analyses:konstantopoulos2011 (multiniveau) et ici http: //www.metafor- project.org/doku.php/analyses:berkey1998 (multivarié). (Veuillez noter que l'exemple à plusieurs niveaux lié ci-dessus décrit en fait une approche pour gérer les dépendances hiérarchiques (par exemple, des études menées par le même laboratoire de recherche). Au lieu de cela, j'utilise l'approche à plusieurs niveaux décrite par Van den Noorgate.)
Variables:
ES: tailles d'effet (g de Hedge)
VI: variance des tailles d'effet
Pub_Year: année de publication comme prédicteur dans la méta-régression
ES_ID: chaque taille d'effet a un ID unique, quelle que soit l'étude ou le résultat auquel elle appartient.
Outcome_ID: les mêmes résultats ont le même ID (par exemple, "Boucle phonologique" = 1, "Exécutif central" = 2), quelle que soit l'étude à laquelle ils appartiennent.
Study_ID: Les tailles d'effet de la même étude ont le même ID (par exemple, tailles d'effet de l'étude 1 = 1, tailles d'effet de l'étude 2 = 2), quel que soit le résultat auquel elles appartiennent.
Code R en métafor pour la méta-analyse multivariée multiniveau:
rma.mv (ES, VI, mods = ~ Outcome_ID -1, random = list (~ 1 | Study_ID, ~ 1 | ES_ID), data = data.set)
- mods = ~ Outcome_ID -1 appelle une approche multivariée et répertorie les tailles d'effet moyennes pour chaque résultat.
- random = list (~ 1 | Study_ID, ~ 1 | ES_ID) est l'approche à plusieurs niveaux décrite par Van den Noorgate. Il permet une variation aléatoire entre les tailles d'effet au sein des études (~ 1 | Study_ID) et entre les tailles d'effet (~ 1 | ES_ID). Vous pouvez également effectuer cette analyse à l'aide du package metaSEM. Les résultats sont identiques.
Code R dans metafor pour la méta-régression multivariée multiniveau:
rma.mv (ES, VI, mods = ~ Outcome_ID + Outcome: I (Pub_Year-mean (Pub_Year)) -1, random = list (~ 1 | Study_ID, ~ 1 | ES_ID), data = data.set)
- mods = ~ Outcome_ID + Outcome: I (Pub_Year-mean (Pub_Year)) -1 appelle maintenant une méta-régression multivariée avec l'année de publication centrée autour de la moyenne comme prédicteur.
L'utilisation de l'option profile () dans metapour les tracés de vraisemblance de profil semble correcte. Cependant, je me demande toujours si je ne sur-paramètre pas trop le modèle ou s'il y a quelque chose qui ne va pas lors de la combinaison des arguments mods et aléatoires de cette façon.
Dans l'attente de votre avis, suggestions, idées, autres approches, tout ;-) Merci!
Mise à jour, réponse à la réponse de Wolfgang:
Tout d'abord: merci beaucoup pour votre réponse détaillée et les liens supplémentaires que vous avez fournis. Je ne connaissais pas la liste de diffusion R-sig-mixed-models. Donc merci! J'apprécie beaucoup cela.
Permettez-moi d'essayer de tout résumer et de l'adapter à ma situation pour voir si je comprends les choses ici. Je peux faire les choses suivantes:
Obtention de corrélations: Malheureusement, aucune corrélation n'est signalée. Initialement, la méta-analyse comprenait plus de 50 études. Près de la moitié des études avaient des données manquantes ou non déclarées. Chaque auteur de ces études a été contacté et j'ai reçu 4 réponses sur 26 demandes (après 2 mois d'attente). Mais c'est un problème de rapport général qui ne doit pas être discuté ici.
Si je fais une approximation approximative de toutes les corrélations que je peux:
Mener une méta-analyse multivariée et une méta-régression comme dans Berkey et al. (1998) par exemple et faire une analyse de sensibilité.
Utilisez ce modèle de méta-analyse multivariée ajusté et travaillez avec la fonction robust (). Cependant aucune méta-régression basée sur la fonction robust () ne semble possible dans metafor. Et la fonction robust () décrite dans le blog de James Pustejovsky ne fonctionne qu'avec des méta-régressions univariées. Donc, si je comprends bien, les estimations de la fonction robust () sont plus ou moins pour confirmer les estimations de mon modèle déjà ajusté (?).
Optez directement pour des méthodes robustes et utilisez le package robumeta. Cependant, aucune méta-analyse multivariée n'est possible. J'ai trouvé un code SASpour gérer ce problème. Mais le code a été développé il y a 3 ans et il semble qu'il n'ait jamais été vraiment discuté. En fin de compte, lorsque j'utilise robumeta, je dois résumer un grand nombre de résultats différents en une énorme méta-analyse ou je dois effectuer plusieurs méta-analyses univariées pour chaque résultat que j'aimerais éviter.Si je ne veux pas deviner de corrélation, je peux utiliser l'approche à plusieurs niveaux décrite par Van den Noorgate en utilisant metafor, metaSEM ou SAS. Cependant, cette approche présente certaines contraintes par rapport à une approche multivariée basée sur des corrélations. De plus, je ne sais pas si une méta-régression multivariée multiniveau est possible. Le package metaSEM décrit uniquement une méta-analyse multivariée multiniveau ou une méta-régression univariée multiniveau.
Malheureusement, je ne connais pas très bien l'utilisation des méthodes de rééchantillonnage en méta-analyse. J'ai étudié vos exemples mais je ne sais pas comment cela peut m'aider à résoudre le problème «corrélation / multivarié». Voulez-vous dire que je devrais essayer d'estimer les corrélations en utilisant le bootstrap? Et si c'est le cas, je ne sais pas quelles valeurs devraient être corrélées, car le nombre de moyennes ou de tailles d'effet au sein des études et entre elles diffère.
La simplification du modèle décrit par Riley et ses collègues semble intéressante. Je garde cela à l'esprit, bien que j'aimerais travailler avec l'une des méthodes décrites ci-dessus.
robust()
les rma.mv
modèles que vous avez écrits dans votre question (avec Study_ID
comme variable de clustering). Étant donné que ces modèles supposent des erreurs d'échantillonnage indépendantes, elles sont mal spécifiées. L'approche robuste vous donnera des résultats cohérents même lorsque la partie matrice de variance-covariance du modèle est mal spécifiée.