Méta-régression multivariée multiniveau

8

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:

  1. 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.

  2. 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.

  3. 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.

Stefan
la source
Une petite correction: vous dites que pour une approche multivariée appropriée, vous devez connaître "(1) les corrélations entre les 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". Cependant, les résultats de différentes études sont (généralement considérés comme sûrs) indépendants, il vous suffit donc de le savoir (1).
Wolfgang
Ma pensée initiale était que les mêmes résultats de différentes études (par exemple, la boucle phonologique dans l'étude 1 et l'étude 2) étaient plus corrélés que les différents résultats de différentes études (par exemple, la boucle phonologique dans l'étude 1 et Central Executive dans l'étude 2), il doit donc faire attention de. Mais je pense que j'ai mal compris les choses ici. Merci donc de le clarifier.
Stefan
Vous ne savez pas pourquoi vous écrivez "aucune méta-régression basée sur la fonction robust () ne semble possible dans metafor". Exécutez simplement robust()les rma.mvmodèles que vous avez écrits dans votre question (avec Study_IDcomme 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.
Wolfgang
@Stefan Avez-vous déjà résolu votre problème? Dans l'affirmative, une description mise à jour de la façon dont vous avez procédé serait très appréciée!
Speldosa
2
@ Speldosa: Désolé pour cette réponse très tardive. 1) J'ai fait une approximation approximative des corrélations entre les résultats dans chaque étude et construit la matrice de variance-covariance en utilisant la formule de Gleser et Olkin (2009) tirée du Manuel de synthèse de recherche et de méta-analyse. 2) En utilisant cette matrice, j'ai effectué une méta-analyse multivariée normale en utilisant metafor (commande rma.mv). Je pense que la méta-analyse multivariée multiniveau n'est toujours pas suffisamment évaluée. 3) Pour obtenir des estimations robustes, j'ai exécuté robust () avec le modèle rma.mv. 4) Pour vérifier mes corrélations, j'ai fait une analyse de sensibilité et relu les étapes 1 à 3.
Stefan

Réponses:

8

Comme vous le constatez, le modèle qui ajoute des effets aléatoires pour chaque étude et des effets aléatoires pour chaque résultat est un modèle qui tient compte de la dépendance hiérarchique. Ce modèle permet de corréler les vrais résultats / effets dans une étude. Voici l'exemple de Konstantopoulos (2011) auquel vous vous connectez.

Mais ce modèle suppose toujours que les erreurs d'échantillonnage des résultats / effets observés dans une étude sont indépendantes, ce qui n'est certainement pas le cas lorsque ces résultats sont évalués chez les mêmes individus. Ainsi, comme dans Berkey et al. (1998) exemple auquel vous vous connectez, idéalement vous devez construire toute la matrice variance-covariance des erreurs d'échantillonnage (avec les variances d'échantillonnage le long de la diagonale). Le chapitre de Gleser et Olkin (2009) du Handbook of research synthese and meta-analysis décrit comment les covariances peuvent être calculées pour diverses mesures de résultats (y compris les différences moyennes normalisées). Les analyses / méthodes de ce chapitre sont reproduites ici (vous avez affaire au cas à plusieurs points de terminaison).

Et comme vous le constatez, cela nécessite de savoir comment les mesures réelles dans les études sont corrélées. En utilisant votre exemple, vous auriez besoin de savoir pour l'étude 1 à quel point la corrélation était forte entre les deux mesures pour "Boucle phonologique" (plus précisément, il existe deux corrélations, une pour le premier et une pour le deuxième groupe, mais nous supposons généralement que la corrélation est la même pour les deux groupes), et à quel point ces mesures étaient corrélées avec les mesures "Central Executive". Donc, trois corrélations au total.

L'obtention / l'extraction de ces corrélations est souvent difficile, voire impossible (car elles ne sont souvent pas signalées). Si vous ne pouvez vraiment pas les obtenir (même après avoir contacté les auteurs de l'étude pour tenter d'obtenir les informations manquantes), il existe plusieurs options:

  1. On peut encore souvent faire une estimation approximative / éclairée de l'ampleur des corrélations. Ensuite, nous utilisons ces «estimations» et effectuons des analyses de sensibilité pour nous assurer que les conclusions restent inchangées lorsque les valeurs varient dans une fourchette raisonnable.

  2. On pourrait utiliser des méthodes robustes - en substance, nous considérons ensuite la matrice de variance-covariance présumée des erreurs d'échantillonnage comme étant mal spécifiée (c'est-à-dire que nous supposons qu'elle est diagonale, alors qu'en réalité nous ne le savons pas), puis estimons la variance - matrice de covariance des effets fixes (qui sont généralement d'un intérêt primordial) en utilisant des méthodes cohérentes même dans le cadre d'une telle erreur de spécification du modèle. Il s'agit essentiellement de l'approche décrite par Hedges, Tipton et Johnson (2010) que vous avez mentionnée.

  3. Les méthodes de rééchantillonnage (c.-à-d. Les tests d'amorçage et de permutation) peuvent également fonctionner.

  4. Il existe également des modèles alternatifs qui tentent de contourner le problème au moyen d'une simplification du modèle. Plus précisément, dans le modèle / l'approche de Riley et ses collègues (voir, par exemple: Riley, Abrams, Lambert, Sutton et Thompson, 2007, Statistics in Medicine, 26, 78-97), nous supposons que la corrélation entre les erreurs d'échantillonnage est identique à la corrélation entre les effets réels sous-jacents, puis nous estimons simplement cette corrélation. Cela peut fonctionner, mais cela dépend de l'adéquation de la simplification avec la réalité.

  5. Il existe toujours une autre option: éviter tout type de dépendance statistique via la réduction des données (par exemple, sélectionner une seule estimation, effectuer des analyses distinctes pour différents résultats). C'est encore l'approche la plus couramment utilisée pour «gérer» le problème, car elle permet aux praticiens de s'en tenir à des modèles / méthodes / logiciels (relativement simples) qu'ils connaissent déjà. Mais cette approche peut être un gaspillage et limiter l'inférence (par exemple, si nous effectuons deux méta-analyses distinctes pour les résultats A et B, nous ne pouvons pas tester si l'effet estimé est différent pour A et B à moins que nous ne puissions à nouveau tenir correctement compte de leur covariance).

Remarque: Le même problème a été discuté sur la liste de diffusion R-sig-mixed-models et, en substance, je répète ce que j'ai déjà posté là-bas. Voyez ici .

Pour la méthode robuste, vous pouvez essayer le package robumeta . Si vous voulez coller à metafor, vous trouverez ces , le blog , les messages de James Pustejovsky d'intérêt. Il travaille également sur un autre package, appelé clubSandwich, qui ajoute quelques corrections supplémentaires sur de petits échantillons. Vous pouvez également essayer la version de développement de metafor(voir ici ) - elle comprend une nouvelle fonction appelée robust()que vous pouvez utiliser après avoir ajusté votre modèle pour obtenir des tests robustes en cluster et des intervalles de confiance. Et vous pouvez trouver du code pour vous lancer dans l'amorçage ici .

Wolfgang
la source
Merci beaucoup pour votre réponse Wolfgang. J'ai mis à jour ma première publication avec une réponse (plus longue que le champ de commentaire ne peut gérer).
Stefan