Benchmarks de performance pour MCMC

14

Y a-t-il eu des études à grande échelle des méthodes MCMC qui comparent les performances de plusieurs algorithmes différents sur une suite de densités de test? Je pense à quelque chose d'équivalent à l'article de Rios et Sahinidis (2013), qui est une comparaison approfondie d'un grand nombre d'optimiseurs de boîte noire sans dérivé sur plusieurs classes de fonctions de test.

Pour MCMC, les performances peuvent être estimées, par exemple, en nombre effectif d'échantillons (ESS) par évaluation de densité, ou dans une autre mesure appropriée.

Quelques commentaires:

  • J'apprécie que les performances dépendent fortement des détails du pdf cible, mais un argument similaire (peut-être pas identique) tient à l'optimisation, et néanmoins il existe une pléthore de fonctions de référence, de suites, de concours, de documents, etc. qui traite de l'optimisation de l'analyse comparative. algorithmes.

  • En outre, il est vrai que MCMC diffère de l'optimisation en ce sens que l'utilisateur doit faire preuve de beaucoup plus de soin et de réglage. Néanmoins, il existe maintenant plusieurs méthodes MCMC qui nécessitent peu ou pas de réglage: des méthodes qui s'adaptent pendant la phase de rodage, pendant l'échantillonnage, ou des méthodes multi-états (également appelées ensemble ) (comme Emcee ) qui font évoluer plusieurs chaînes en interaction et utilisent informations provenant d'autres chaînes pour guider l'échantillonnage.

  • Je m'intéresse particulièrement à la comparaison entre les méthodes standard et multi-états (aka ensemble). Pour la définition de multi-état, voir la section 30.6 du livre de MacKay :

Dans une méthode multi-états, plusieurs vecteurs de paramètres sont conservés; ils évoluent individuellement sous des mouvements tels que Metropolis et Gibbs; il existe également des interactions entre les vecteurs.X

  • Cette question est venue d' ici .

Mise à jour

  • Pour une interprétation intéressante des méthodes multi-états aka ensemble, voir cet article de blog de Bob Carpenter sur le blog de Gelman, et mon commentaire faisant référence à cet article de CV.
lacerbi
la source

Réponses:

5

Après quelques recherches en ligne, j'ai eu l'impression qu'il n'existe pas de référence complète des méthodes MCMC établies, analogue à ce que l'on peut trouver dans la littérature sur l'optimisation. (Je serais heureux de me tromper ici.)

Il est facile de trouver des comparaisons de quelques méthodes MCMC sur des problèmes spécifiques dans un domaine appliqué. Ce serait bien si nous pouvions mettre en commun ces informations - cependant, la qualité de ces repères est souvent insuffisante (par exemple, en raison du manque de mesures rapportées ou de mauvais choix de conception).

Dans ce qui suit, je publierai ce que je crois être de précieuses contributions au fur et à mesure que je les trouve:

  • Nishihara, Murray and Adams, Parallel MCMC with Generalized Elliptical Slice Sampling , JMLR (2014). Les auteurs proposent une nouvelle méthode multi-états, GESS, et effectuent une comparaison avec 6 autres méthodes mono-états et multi-états sur 7 fonctions de test. Ils évaluent les performances en tant qu'ESS (taille d'échantillon efficace) par seconde et par évaluation de fonction.

  • SamplerCompare est un package R dans le but de comparer les algorithmes MCMC - exactement ce que je demandais dans ma question d'origine. Malheureusement, le package ne contient que quelques fonctions de test; le document d'accompagnement ne fait état d'aucune référence réelle (juste un petit exemple); et il semble qu'il n'y ait eu aucun suivi.

Thompson, Madeleine B. «Introduction to SamplerCompare». Journal of Statistical Software 43.12 (2011): 1-10 ( lien ).

  • Pour une interprétation intéressante des méthodes multi-états aka ensemble, voir cet article de blog de Bob Carpenter sur le blog de Gelman, et mon commentaire faisant référence à cet article de CV.
lacerbi
la source
Votre deuxième lien est mort - pourriez-vous le remplacer par un lien fonctionnel?
Tim
Vous voudrez peut-être jeter un œil à cet article de décembre 2017: Ryan Turner et Brady Neal, Dans quelle mesure votre échantillonneur fonctionne-t-il vraiment? Il semble fournir une solution soignée à ce problème de trouver une bonne référence pour les algorithmes MCMC.
Carl
2

Je suis d'accord avec votre évaluation qu'il n'y a pas de repères complets établis pour les méthodes MCMC. En effet, chaque échantillonneur MCMC présente des avantages et des inconvénients et est extrêmement spécifique au problème.

Dans un cadre de modélisation bayésien typique, vous pouvez exécuter le même échantillonneur avec des taux de mélange différents lorsque les données sont différentes. J'irais jusqu'à dire que si, à l'avenir, sortait une étude de référence complète de divers échantillonneurs MCMC, je ne ferais pas confiance aux résultats pour être applicables en dehors des exemples présentés.

En ce qui concerne l'utilisation de l'ESS pour évaluer la qualité de l'échantillonnage, il convient de mentionner que l'ESS dépend de la quantité qui doit être estimée à partir de l'échantillon. Si vous voulez trouver la moyenne de l'échantillon, l'ESS obtenu sera différent de si vous voulez estimer le 25e quantile. Cela dit, si la quantité d'intérêt est fixe, l'ESS est un moyen raisonnable de comparer les échantillonneurs. Peut-être une meilleure idée est ESS par unité de temps.

Un défaut de l'ESS est que pour les problèmes d'estimation multivariée, l'ESS renvoie une taille d'échantillon efficace pour chaque composante séparément, en ignorant toutes les corrélations croisées dans le processus d'estimation. Dans cet article récemment, un ESS multivarié a été proposé et implémenté en Rpackage mcmcsevia la fonction multiESS. On ne sait pas comment cette méthode se compare à l'ESS du codapackage, mais au départ semble plus raisonnable que les méthodes ESS univariées.

Greenparker
la source
2
(+1) Merci pour la réponse. Je suis d'accord avec certains de vos points, mais je pense toujours que certaines informations pourraient être obtenues à partir d'une telle référence. La façon dont on utilise les résultats de ces repères pour orienter les choix futurs est à eux - mais certaines preuves valent mieux que pas de preuves. Bons points sur ESS. Par multi-état, je veux dire multi-état (ou multi-chaîne, si vous préférez), pas simplement multivarié - voir la citation du livre de MacKay dans ma question d'origine.
lacerbi
2
En général, certains échantillonneurs sont connus pour leur faible performance pour les distributions multimodales (MH, Gibbs), et certains sont mauvais pour le support non convexe (Hamiltonian MC). D'un autre côté, pour les problèmes dimensionnels élevés, le Hamiltonian MC fonctionne bien et pour les distributions multimodales, le tempérage simulé, etc. est bon. Pour effectuer une analyse comparative, il peut être nécessaire de définir différentes grandes classes de distributions cibles (sous-exponentielles, log concaves, etc.) pour que les résultats soient généralement interprétables.
Greenparker
1
Eh bien, oui, c'est tout l'intérêt de construire une référence pour une classe d'algorithmes. Voir par exemple ceci pour l'optimisation globale. De toute évidence, une référence pour MCMC ne peut pas simplement emprunter celles existantes pour l'optimisation; il est nécessaire de se concentrer sur les caractéristiques des densités cibles qui sont spécifiques, communes et qui présentent un intérêt pour les problèmes MCMC, comme celles que vous avez mentionnées.
lacerbi